Skip to main content

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), install openpyxl:
pip install cm-tpm[excel] 
  • Parquet and Feather file support (.parquet. .feather), install pyarrow:
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

cm_tpm-1.0.1.tar.gz (40.0 kB view details)

Uploaded Source

Built Distribution

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

cm_tpm-1.0.1-cp310-cp310-win_amd64.whl (76.3 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Hashes for cm_tpm-1.0.1.tar.gz
Algorithm Hash digest
SHA256 79d3c1bf2c6988d1744ead8a4f5ab48a2dc5dd8d061c0713348c3b79ae6a1d2c
MD5 07462d8ff283798737550b41f0e91308
BLAKE2b-256 5840684dd2540e5612aeab8e503284e405c6353405e98df28cbcb46bad6c9d88

See more details on using hashes here.

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

Hashes for cm_tpm-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1e5a85e36b087f9969d8ef9fa621b2a7d80eaa20fc5d12d8da4eb2ba4d04d602
MD5 a0e8e7b0cb73ea1110147e18c8558743
BLAKE2b-256 92073983ed8661e97e05b8d4605d5892b5b75a15b57dfa93d672679def9873a9

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