Skip to main content

A helper package to conduct multiverse analyses in Python

Project description

multiversum

PyPI Tests Changelog License

multiversum logo

multiversum is a package designed to make it easy to conduct multiverse analyses in Python. The package is intended to seemlessly integrate into a normal analysis or ML workflow and can also be added to an existing pipeline.

Features

  • Simple 🧩: Built with the goal of being as simple as possible to integrate into existing workflows.
  • Parallel 👯: Different universes are automatically evaluated in parallel.
  • Notebooks 📓: Analyses can be written as Jupyter notebooks or Python scripts.
  • Play/Pause ⏯️: Interrupt and then continue a multiverse analysis where you left it.

Installation

Install this library using pip:

pip install multiversum

Usage

Illustration of how to conduct a multiverse analysis using multiversum.

The package always works with two different files: The multiverse.toml (or json / py) ✨️, specifying the different dimensions (and their options) and the universe.ipynb (or py) ⭐️ containing the actual analysis code. The universe file is then evaluated (in parallel) using different dimension-combinations, by running python -m multiversum.

An example using a machine learning workflow in scikit-learn can be found here.

Getting Started

To quickly get started with running your own multiverse analysis, you can use the multiversum starter template.

Development

To contribute to this library, first checkout the code. Then create a new virtual environment:

cd multiversum
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

python -m pip install -e '.[test]'

To run the tests:

python -m pytest

Formatting

Ruff is used for formatting and linting. Formatting can be automatically checked / applied wherever possible via ruff check . --fix && ruff format.

Docs

The documentation is generated using mkdocs and can be locally run using mkdocs serve after installing its dependencies using python -m pip install -e '.[docs]'.

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

multiversum-0.7.1.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

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

multiversum-0.7.1-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file multiversum-0.7.1.tar.gz.

File metadata

  • Download URL: multiversum-0.7.1.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for multiversum-0.7.1.tar.gz
Algorithm Hash digest
SHA256 a73127f4f8681f423a3048f208912df6155212e189cf1c2ddaa908a100fce41b
MD5 377e9808bdbeedf9a94f930f5ae706bb
BLAKE2b-256 d410a197fb332a108e529e5bd0a359087d9494c92644c9df8d933828e0d11c8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for multiversum-0.7.1.tar.gz:

Publisher: publish.yml on jansim/multiversum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multiversum-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: multiversum-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for multiversum-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 523e74c040295577ddc5b6dd3d49a5776dda76ad4d3dcb42efe25ec7481889ff
MD5 10e207e40c4c6b9535adb0c09d2e2ee3
BLAKE2b-256 9bc76044c401ff12a21b5220aae1c8dd69f9d1351bc2dc48135563b68bdfd840

See more details on using hashes here.

Provenance

The following attestation bundles were made for multiversum-0.7.1-py3-none-any.whl:

Publisher: publish.yml on jansim/multiversum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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