Module importing ChemApp functions to Python
Project description
chemapproxy
Python bindings and proxy interface for ChemApp — enabling thermochemical and phase equilibrium calculations directly from Python.
🚀 Overview
chemapproxy is a Python package that provides a lightweight interface to ChemApp, a widely used thermochemical calculation engine. It allows you to:
- Access ChemApp functions from Python
- Perform thermodynamic and phase equilibrium calculations
- Integrate ChemApp workflows with NumPy, Pandas, and modern Python tooling
- Extend or customize bindings for advanced use cases
This package is designed for scientists, engineers, and researchers working in:
- Thermodynamics
- Metallurgy
- Materials science
- Chemical engineering
✨ Features
- 🔗 Direct bindings to ChemApp core functions
- ⚡ Optional integration with official
chemappPython package (if installed) - 🧱 Modular structure (
raw,entities,custom) - 🧮 NumPy & Pandas compatibility
- 🛠 Cython-based performance optimizations
- 🧩 Extensible architecture for custom workflows
📦 Installation
Install from PyPI:
pip install chemapproxy
Requirements
- Python 3.9 – 3.11
- NumPy
- Pandas
- Cython
- PyYAML
- pyparsing
- chemformulapy
⚠️ Note: ChemApp binaries (DLLs) are required for full functionality and must be available on your system.
⚙️ Setup
Ensure that ChemApp dynamic libraries are accessible:
- On Windows:
.dllfiles (e.g.,ca_vc_e_x64.dll) - Add them to your system
PATHor project directory
🧪 Quick Example
import chemapproxy.raw as ca
# Example: check architecture
print("Running on 64-bit:", ca.isx64())
# Further ChemApp calls depend on your data and setup
🧩 Project Structure
chemapproxy/
├── src/chemapproxy/
│ ├── raw.py # Low-level ChemApp bindings
│ ├── entities.py # Data structures and abstractions
│ ├── custom.py # Higher-level utilities
│ └── __init__.py
├── pyproject.toml
├── setup.py
└── README.md
🔌 Integration with ChemApp
If the official ChemApp Python package (chemapp.basic) is installed,
chemapproxy will automatically detect and use it as a backend.
Otherwise, it falls back to direct dynamic library bindings via ctypes.
🛠 Development
Clone the repository:
git clone https://github.com/evnekdev/chemapproxy.git
cd chemapproxy
Install in editable mode:
pip install -e .
🧱 Building
To build distributions:
python -m build
Wheels and source distributions will be available in dist/.
📊 Use Cases
- Phase equilibrium simulations
- Thermodynamic database evaluation
- Metallurgical process modeling
- Research and teaching in thermochemistry
⚠️ Limitations
- Requires external ChemApp libraries
- Platform-specific binaries (especially Windows-focused)
- Some low-level functions may require domain knowledge
🗺 Roadmap
- Improved documentation and examples
- Cross-platform support enhancements
- Higher-level API abstractions
- Expanded test coverage
🤝 Contributing
Contributions are welcome!
- Fork the repository
- Create a feature branch
- Submit a pull request
📄 License
MIT License — see LICENSE for details.
👤 Author
Evgenii Nekhoroshev
📧 evgnekhoroshev@gmail.com
🔗 https://github.com/evnekdev
🔗 Links
- Homepage: https://github.com/evnekdev/chemapproxy
- Issues: https://github.com/evnekdev/chemapproxy/issues
💡 Acknowledgements
- ChemApp by GTT-Technologies
- Scientific Python ecosystem (NumPy, Pandas)
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 Distributions
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 chemapproxy-1.0.0.tar.gz.
File metadata
- Download URL: chemapproxy-1.0.0.tar.gz
- Upload date:
- Size: 39.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.11.7 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b03701059f6e6b76521d4ed6802811907487547629156d76303ac26e1c8749f
|
|
| MD5 |
2ed6fe87bc15be5376879fc4274d6464
|
|
| BLAKE2b-256 |
ba866d153c1dde3601306deba1bd88366f8fc09958abdc9b05b63105f40962d1
|
File details
Details for the file chemapproxy-1.0.0-py3-none-any.whl.
File metadata
- Download URL: chemapproxy-1.0.0-py3-none-any.whl
- Upload date:
- Size: 40.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.11.7 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e18b675834244067f6074a94c15953f603f09665fb613bfb209db013bc31e06
|
|
| MD5 |
fb9df3a3ce81cbce45e575a8b7908c61
|
|
| BLAKE2b-256 |
e062a5e876a2c7c3d3c623a43e70fe018cba79312a46ba18997d8b59be860709
|
File details
Details for the file chemapproxy-1.0.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: chemapproxy-1.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.11.7 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d81531bf0bc80c9d1129e21c53d7857beceb18cbf41ed63e9179749414ef42fb
|
|
| MD5 |
14fa439d80a35ed8f1484888271956bb
|
|
| BLAKE2b-256 |
5fd7af37aa540ceaf28d809ab11954603b56fb97617594c51017776518efe651
|