Skip to main content

Python toolkit for chemical engineering simulations, equipment design, and unit conversions

Project description

Process PI Logo

Process PI

Python toolkit for chemical engineering simulations, equipment design, and unit conversions

Unit Conversions Components Pipelines & Network Engine Heat Transfer Reaction & Mass Transfer

PyPI Version GitHub Stars GitHub Forks Build Status

Open in Colab Launch Binder

Built with ❤️ for chemical engineers.


📖 Overview

Process PI is a modular Python toolkit for chemical engineering that enables:

  • Pipeline network simulations
  • Unit conversions across SI, CGS, and Imperial systems
  • Component-based property calculations
  • And more, with advanced features under active development.

📑 Table of Contents


⚡ Features

  • ⚙️ Unit Conversion System – Instant conversions between engineering unit systems.
  • 🧪 Components Library – Access educational thermodynamic properties for 25+ fluids and growing.
  • 🌐 Pipeline Network Engine – Build and simulate simple pipelines or complex interconnected networks, analyzing:
    • Pressure drops
    • Flow rates
    • Reynolds number
    • Pump requirements
  • 🧮 Calculation Modules (WIP) – Heat transfer, mass transfer, and reaction engineering models in progress.
  • 📊 Simulation Tools (Planned) – Transient dynamics, optimization, and interactive visualizations.

📦 Installation

Install from PyPI:

pip install processpi

For development:

git clone https://github.com/varma666/ProcessPi.git
cd ProcessPi
pip install -e .

🚀 Getting Started

1. Unit Conversions

from processpi.units import Length, Pressure, Temperature

# Length conversion
length = Length(1.5, "m")
print(length.to("ft"))  # Feet output

# Pressure conversion
p = Pressure(2, "bar")
print(p.to("psi"))      # PSI output

# Temperature conversion
t = Temperature(100, "C")
print(t.to("K"))        # Kelvin output

2. Components

from processpi.components import Water, Ethanol

water = Water()
ethanol = Ethanol()

print(f"Water density: {water.density()} kg/m3")
print(f"Ethanol viscosity: {ethanol.viscosity()} Pa·s")

Note: Component data is for educational/demo purposes only. Extended property support is in progress.

3. Pipeline Network Engine

Perform single-pipe or multi-pipe network simulations.

from processpi.pipelines.engine import PipelineEngine
from processpi.pipelines.pipes import Pipe
from processpi.components import Water
from processpi.units import VolumetricFlowRate, Diameter, Length

# Define pipe and fluid
pipe = Pipe(
    internal_diameter=Diameter(50, "mm"),
    length=Length(10, "m")
)
water = Water()

# Set up engine
engine = PipelineEngine()
engine.fit(
    flowrate=VolumetricFlowRate(0.001, "m3/s"),
    pipe=pipe,
    fluid=water
)

# Run calculations
results = engine.run()
engine.summary()

Planned upgrades:

  • Dynamic simulations
  • Branching/parallel pipeline analysis
  • Integrated cost and energy optimization

🛣 Roadmap

  • ✅ Pipeline Network Engine – Functional for single and multi-segment networks
  • 🚧 Heat Transfer Modules – In progress for exchangers, conduction, and convection models
  • 🚧 Mass Transfer & Reaction Modules – Basic structure in place, calculations coming soon
  • 🔮 Advanced Features – Transient analysis, energy optimization, and GUI/web interfaces

📜 License

This project is licensed under the MIT License – see the LICENSE file for details.

ProcessPI – Built with ❤️ for chemical engineers.

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

processpi-0.2.0.4.tar.gz (148.9 kB view details)

Uploaded Source

Built Distribution

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

processpi-0.2.0.4-py3-none-any.whl (219.8 kB view details)

Uploaded Python 3

File details

Details for the file processpi-0.2.0.4.tar.gz.

File metadata

  • Download URL: processpi-0.2.0.4.tar.gz
  • Upload date:
  • Size: 148.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for processpi-0.2.0.4.tar.gz
Algorithm Hash digest
SHA256 1e8354ed97f8f204e9e6a6f6b6ef4945876b4d7fd84f91a55d18edc9e3ab5e2e
MD5 b1d2d519279dd6fc3c1347ad6d6e1f05
BLAKE2b-256 53090f44c2590c88e70e77b40803cbd2e5dd34e78d4ca0b69f4a8c0c4ac24aa0

See more details on using hashes here.

File details

Details for the file processpi-0.2.0.4-py3-none-any.whl.

File metadata

  • Download URL: processpi-0.2.0.4-py3-none-any.whl
  • Upload date:
  • Size: 219.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for processpi-0.2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1a698fae916f137223325059eff3b185ae69c94dcc311ed99c0ef674d70df823
MD5 ba4f2767ef98350238f7ecd232952a79
BLAKE2b-256 0a23c8f9aca4321e4986438c3e005e22c6372aa78380bd1d0dd314e8a93ad314

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