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 Pumps & Pipelines Heat Exchangers Chemical Flasks

PyPI Version GitHub Stars GitHub Forks Build Status

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


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.1.1.tar.gz (56.6 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.1.1-py3-none-any.whl (87.8 kB view details)

Uploaded Python 3

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

Hashes for processpi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3daf03b978041e5f3e720aaaa43618fc10bb8d204d7f66404f42c194f88baf7c
MD5 373677ac9f583439aec5ab3629772469
BLAKE2b-256 8934ebbec0f4d4dd7fe7b12627a13983a267e739d5d11a9f43658458015dba78

See more details on using hashes here.

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

Hashes for processpi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f397ea0ba15980d0fb48c5b1614ea2aca7d1ec767054ec5bbf52e3532e5c9ba8
MD5 2e5c5dcdbe5e6f6e9804e13c568c6cad
BLAKE2b-256 b433854d23304a2f43efa25de8a7518df5bdce1a69463d597e5674c2f6dca5e2

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