Skip to main content

A Python package for thermodynamic calculations, unit operations, and substance properties.

Project description

ThermSolve

An extensible, lightweight thermophysical property library for chemical and process engineering.

Thermsolve makes it easy to retrieve temperature-dependent properties of common fluids, gases, and materials — with unit safety, validity ranges, and custom substance support.


Features

  • Look up Cp, viscosity, density, boiling/melting point, enthalpy, entropy, etc.
  • Temperature-dependent property fitting/interpolation
  • Fully unit-aware (using Pint)
  • Built-in and user-defined property database (JSON/CSV)
  • Range warnings when extrapolating properties

To-do

  • Core Substance class for property access
  • Build initial CSV/JSON database for ~20 common substances
  • Add temperature-dependent interpolation (Cp, viscosity, etc.)
  • Integrate Pint for unit-aware values
  • Implement property validity range checking
  • Enable user-defined substances from JSON, CSV, or dict
  • Add CLI tool for property lookup
  • Create optional SQLite backend for scalable storage
  • Add plotting functions for property trends (e.g., Cp vs T)
  • Include citation metadata for each property source (e.g., NIST, DIPPR)
  • Export properties to JSON, LaTeX, and human-readable tables

Future

  • API for fetching data

Example

from thermsolve import Substance

ethanol = Substance("ethanol")
cp = ethanol.cp(T=300)       # Specific heat [J/kg-K]
mu = ethanol.viscosity(T=350)
bp = ethanol.boiling_point()

# Add a custom substance
my_material = Substance.from_dict({
    "name": "KCl",
    "cp": {"type": "constant", "value": 800, "units": "J/kg-K"},
    "melting_point": 1040,
    "density": 1980
})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thermsolve-0.1.0.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thermsolve-0.1.0-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file thermsolve-0.1.0.tar.gz.

File metadata

  • Download URL: thermsolve-0.1.0.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for thermsolve-0.1.0.tar.gz
Algorithm Hash digest
SHA256 79103439e2a19bdc9e203eeba5b11411c223a3797216f0f9f651faeebe83f1bd
MD5 ecdf005fa70adeb2d3fb14ad1973e431
BLAKE2b-256 f4ff2d1b05546f218a860e322a9220c7d65b43997f4989b349c6831b8e1a1ff6

See more details on using hashes here.

File details

Details for the file thermsolve-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: thermsolve-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for thermsolve-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bda5077ab659dc105ab6a48fc54db31e8b4e8cb0c4c22af75a28b79209046518
MD5 a2a47ced4e088eb0b2de2e28a9b6f22b
BLAKE2b-256 238a02e32185705492d6007ad5ccc1a96d94d5f566d6b1719714c741ff2bec78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page