A Python package for data imputation using Continuous Mixtures of Tractable Probabilistic Models
Project description
cm-tpm (Continuous Mixtures of Tractable Probabilistic Models) is a Python package designed for efficient and scalable data imputation using probabilistic circuits. The package provides a flexible and user-friendly API, making it easy to integrate into data preprocessing pipelines. The package is distributed under the MIT licence.
The project was started in 2025 by Hakim Agni under the supervision of Thomas Krak at Eindhoven University of Technology. It implements the data imputation method described in the paper Continuous Mixtures of Tractable Probabilistic Models, by Alvaro Correia, Gennaro Gala, Erik Quaeghebeur, Cassio de Campos and Robert Peharz.
Installation
Dependencies
cm-tpm requires:
- Python (>= 3.10)
- NumPy (>= 1.22.4)
- PyTorch (>= 2.6.0)
- SciPy (>= 1.13.0)
- pandas (>= 2.2.2)
User installation
The easiest way to install cm-tpm is using pip:
pip install cm-tpm
Optional Dependencies
To install all optional dependencies:
pip install cm-tpm[all]
You can also install them individually:
- Excel file support (
.xlsx), installopenpyxl:
pip install cm-tpm[excel]
- Parquet and Feather file support (
.parquet..feather), installpyarrow:
pip install cm-tpm[parquet]
- Progress bars (for verbose/debug mode), install
tqdm:
pip install cm-tpm[tqdm]
Development
Source code
You can check the latest source code with the command:
git clone https://github.com/Hakim-Agni/cm-tpm.git
Install development dependencies:
pip install -r 'requirements.txt'
Testing
After installation, you can launch the test suite from outside the source directory (this requires pytest to be installed):
pytest tests
Help and Support
Documentation
The full documentation will be published soon.
Communication
If you have any questions or feedback, feel free to reach out via:
- GitHub Discussions: (coming soon).
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
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 cm_tpm-1.0.1.tar.gz.
File metadata
- Download URL: cm_tpm-1.0.1.tar.gz
- Upload date:
- Size: 40.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79d3c1bf2c6988d1744ead8a4f5ab48a2dc5dd8d061c0713348c3b79ae6a1d2c
|
|
| MD5 |
07462d8ff283798737550b41f0e91308
|
|
| BLAKE2b-256 |
5840684dd2540e5612aeab8e503284e405c6353405e98df28cbcb46bad6c9d88
|
File details
Details for the file cm_tpm-1.0.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: cm_tpm-1.0.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 76.3 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e5a85e36b087f9969d8ef9fa621b2a7d80eaa20fc5d12d8da4eb2ba4d04d602
|
|
| MD5 |
a0e8e7b0cb73ea1110147e18c8558743
|
|
| BLAKE2b-256 |
92073983ed8661e97e05b8d4605d5892b5b75a15b57dfa93d672679def9873a9
|