Python toolkit for chemical engineering simulations, equipment design, and unit conversions
Project description
Process PI
Python toolkit for chemical engineering simulations, equipment design, and unit conversions
Built with ❤️ for chemical engineers.
📖 Overview
Process PI is a cross-platform Python toolkit for chemical engineering equipment design, simulations, and unit conversions.
It provides a modular framework for learning, experimenting, and simulating process systems.
📑 Table of Contents
⚡ Features
- ⚙️ Unit Conversion System – Seamless conversion across SI, CGS, and Imperial units.
- 🧪 Components Database (Work in Progress) – Educational thermodynamic properties of 25+ components (Water, Ethanol, CO₂, etc.), expanding regularly.
- 🏭 Equipment Design Modules (WIP) – Pumps, pipelines, heat exchangers, reactors, and more.
- 🌐 Pipeline Networks – Analyze single pipes and complex networked systems, calculate flow, pressure drops, velocity, and Reynolds numbers.
- 📊 Simulation Tools (Upcoming) – Steady-state/dynamic process analysis, flow optimization, and energy management.
📦 Installation
Install via PyPI:
pip install processpi
🚀 Getting Started
1. Unit Conversions
Easily convert between SI, CGS, and Imperial units.
from processpi.units import Length, Pressure, Temperature
# Length
l1 = Length(1.5, "m")
print(l1.to("ft")) # Output in feet
# Pressure
p = Pressure(2, "bar")
print(p.to("Pa")) # Output in Pascals
# Temperature
t = Temperature(100, "C")
print(t.to("K")) # Output in Kelvin
2. Components
Access educational thermodynamic properties of chemical components.
from processpi.components import Water, Ethanol
water = Water()
ethanol = Ethanol()
print(f"Water density: {water.density()} kg/m³")
print(f"Ethanol viscosity: {ethanol.viscosity()} Pa·s")
⚠️ Note: Component data is provided for educational and demonstration purposes. The database is continuously expanding.
3. Pipeline Network Analysis
Perform hydraulic calculations for pipelines and network systems.
from processpi.pipelines.engine import PipelineEngine
from processpi.pipelines.pipes import Pipe
from processpi.components import Water
from processpi.units import VolumetricFlowRate, Diameter, Length
pipe = Pipe(
internal_diameter=Diameter(50, "mm"),
length=Length(10, "m")
)
engine = PipelineEngine()
engine.fit(
flowrate=VolumetricFlowRate(0.001, "m^3/s"),
pipe=pipe,
fluid=Water()
)
results = engine.run()
engine.summary()
Planned Enhancements
- Support for branching and parallel pipeline networks
- Dynamic flow simulations and transient analysis
- Cost and energy optimization tools for network layouts
🛣 Roadmap
- Expand the Components Database to 50+ chemicals and fluids
- Add steady-state and dynamic simulation modules
- Implement energy optimization and cost analysis tools
- Build a GUI/web interface for interactive simulations
- Enable integration with real process data and sensor-driven workflows
📜 License
This project is licensed under the MIT License – see the LICENSE file for details.
Process PI – Built with ❤️ for chemical engineers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file processpi-0.1.1.tar.gz.
File metadata
- Download URL: processpi-0.1.1.tar.gz
- Upload date:
- Size: 56.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3daf03b978041e5f3e720aaaa43618fc10bb8d204d7f66404f42c194f88baf7c
|
|
| MD5 |
373677ac9f583439aec5ab3629772469
|
|
| BLAKE2b-256 |
8934ebbec0f4d4dd7fe7b12627a13983a267e739d5d11a9f43658458015dba78
|
File details
Details for the file processpi-0.1.1-py3-none-any.whl.
File metadata
- Download URL: processpi-0.1.1-py3-none-any.whl
- Upload date:
- Size: 87.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f397ea0ba15980d0fb48c5b1614ea2aca7d1ec767054ec5bbf52e3532e5c9ba8
|
|
| MD5 |
2e5c5dcdbe5e6f6e9804e13c568c6cad
|
|
| BLAKE2b-256 |
b433854d23304a2f43efa25de8a7518df5bdce1a69463d597e5674c2f6dca5e2
|