-
Notifications
You must be signed in to change notification settings - Fork 0
Furnace
Furnace is a Python module that takes in an unstructured scientific unit and structures it. This specification is not complete, and represents only an early idea of what Furnace will represent when complete. Any UI or phrasing is merely to illustrate, and precise UI may change. Later editions may switch from CLI to standalone GUI or web, though it's more likely a different system will call Furnace.
Technical specifications are discussed in the tech spec, below.
Alice has a great number of battery specs scraped she wants to compare, but they're all in different formats-not just units, but in capitalization, phrasing, spacing, and more. This makes simply passing them through traditional unit converters difficult.
Alice sets up a short script to call Furnace on each of these battery specs. Furnace will present her with a numeric value with the unit she asked for, standardized, as well as warn her in cases where it was unable to standardize specifications. If she wants to, she can easily have it presented in a variety of different formats, or simply choose to only output units provided in a specific format. Alice can choose the prefix on each unit in her output, such as Kilowatt Hour (3.6 Mega Joules) or Watt-second (1 Joule).
Bob, similar to Alice, also has a great number of units he wants to compare. However, he also wants this passed as the result to another module (Forge? TBD). He calls Furnace from his other code on all of the units that he prepared in his previous scraping or database preparation, and spits it out in a determined numerical and unit format. He can return as many different formats as he wants, or just one. He can also keep the units in their input format, but parsed.
This version will not contain
- Any sort of GUI
- 'pretty' parsing
- Any complicated output formatting. Most complicated will be csv.