firkin

firkin is a Python module to convert between different measurement units.
Download

firkin Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Florian Diesch
  • Publisher web site:
  • http://www.florian-diesch.de/software/pdfrecycle/

firkin Tags


firkin Description

firkin is a Python module to convert between different measurement units. firkin is a Python module to convert between different measurement units.UsageFirst we create an instance of UnitManager:>>> um=UnitManager()Next we create two families of units. The first one ist liter and uses SIFamily to automatically create units with the SI prefixes:prefix meaning valuef femto 10-15p pico 10-12n nano 10-9 micro 10-6m milli 10-3k kilo 103M mega 106G giga 109T tera 1012>>> um.add(SIFamily(base='l', name='liter'))Now our UnitManager knows about fl, pl, nl, ..., Ml, Gl, Tl.How many liters are 10000 ml?:>>> um.convert_to_unit(1e4, 'ml', 'l')(Decimal("10.0000"), 'l')Next we create a family by hand:>>> f=Family(name='f', base='gallon')>>> f.add('barrel', 36, 'gallon')>>> f.add('kilderkin', 0.5, 'barrel')>>> f.add('firkin', 0.5, 'kilderkin')Now we have a family called f that used gallon as its base and knows about barrel, kilderkin and firkin, too.How much gallons is one firkin?:>>> f.convert(1, 'firkin', 'gallon')(Decimal("9.00"), 'gallon')What's the best way to express 3 kilderkin?:>>> f.autoconvert(3, 'kilderkin')(Decimal("1.50"), 'barrel')To convert between family f and family liter we need to add f to our UnitManager and tell how much liters (base unit of family liter) a gallon (base unit of family f) is:>>> um.add(f, other='liter', factor=4.54609)Of course the UnitManger can convert firkin to gallon, too:>>> um.convert_to_unit(1, 'firkin', 'gallon')(Decimal("9.00"), 'gallon')But it also can convert firkin to liters:>>> um.convert_to_unit(1, 'firkin', 'l')(Decimal("40.9148100"), 'l')Or find the best way to express one liter in one of the units from family f:>>> um.convert_to_family(1, 'l', 'f')(Decimal("0.219969248299"), 'gallon')That works with barrels, too:>>> um.convert_to_family(1, 'barrel', 'f')(Decimal("1.00"), 'barrel')A classical example: How to convert between C and F?We need a family for C:>>> um.add(Family(base='C'))and for F.F is (C-32)/1.8:>>> um.add(Family(base='F'), other='C', offset=(-32/1.8), factor=5.0/9)Now we can convert:>>> um.convert_to_unit(32, 'F', 'C')(Decimal("-8E-12"), 'C')>>> um.convert_to_unit(100, 'C', 'F')(Decimal("212.0"), 'F')Converting between C and ml isn't useful:>>> um.convert_to_unit(1, 'C', 'ml')(None, None) Requirements: · Python What's New in This Release: · "Groups" were added to UnitManager. · Additional prefixes were added to SIFamily.


firkin Related Software