Skip to main content

Causal discovery made easy.

Project description

[!WARNING] causy is a prototype. Please report any issues and be mindful when using it in production.

causy

causy is a command line tool that allows you to apply causal inference methods like causal discovery and causal effect estimation. You can adjust causal discovery algorithms with easy to use, extend and maintain pipelines. causy is built based on pytorch which allows you to run the algorithms on CPUs as well as GPUs.

causy workspaces allow you to manage your data sets, algorithm adjustments, and (hyper-)parameters for your experiments.

causy UI allows you to look at your resulting graphs in the browser and gain further insights into every step of the algorithms.

You can find the documentation here.

Installation

Currently, we support python 3.11 and 3.12. To install causy run

pip install causy

Usage

Causy can be used with workspaces via CLI or via code.

Workspaces Quickstart

See options for causy workspace

causy workspace --help

Create a new workspace and start the process to configure your pipeline, data loader and experiments interactively. Your input data should be a json file stored in the same directory.

causy workspace init

Add an experiment

causy workspace experiment add your_experiment_name

Update a variable in the experiment

causy workspace experiment update-variable your_experiment_name your_variable_name your_variable_value 

Run multiple experiments

causy workspace execute 

Compare the graphs of the experiments with different variable values via a matrix plot

causy workspace diff

Compare the graphs in the UI, switch between different experiments and visualize the causal discovery process

causy ui

Usage via Code

Use a default algorithm

from causy.algorithms import PC
from causy.graph_utils import retrieve_edges

model = PC()
model.create_graph_from_data(
    [
        {"a": 1, "b": 0.3},
        {"a": 0.5, "b": 0.2}
    ]
)
model.create_all_possible_edges()
model.execute_pipeline_steps()
edges = retrieve_edges(model.graph)

for edge in edges:
    print(
        f"{edge[0].name} -> {edge[1].name}: {model.graph.edges[edge[0]][edge[1]]}"
    )

Supported algorithms

Currently, causy supports the following algorithms:

  • PC (Peter-Clark)
    • PC - the original PC algorithm without any modifications causy.algorithms.PC
    • ParallelPC - a parallelized version of the PC algorithm causy.algorithms.ParallelPC

Supported pipeline steps

Detailed information about the pipeline steps can be found in the API Documentation.

Dev usage

Setup

We recommend using poetry to manage the dependencies. To install poetry follow the instructions on https://python-poetry.org/docs/#installation.

Install dependencies

poetry install

Execute tests

poetry run python -m unittest

Funded by the Prototype Fund from March 2024 until September 2024

pf_funding_logos

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

causy-0.1.47.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

causy-0.1.47-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file causy-0.1.47.tar.gz.

File metadata

  • Download URL: causy-0.1.47.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for causy-0.1.47.tar.gz
Algorithm Hash digest
SHA256 b708d080ad479081456dbd801df7600f6284861041a0098a1ab1bff53e0d6b73
MD5 18fdbbf8bdd71123c41ef8448adf069e
BLAKE2b-256 44e50d828eba1c9d8e31565ae6d0fb668f112d047124a6da986e39b72236ff96

See more details on using hashes here.

Provenance

The following attestation bundles were made for causy-0.1.47.tar.gz:

Publisher: release.yml on causy-dev/causy

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

File details

Details for the file causy-0.1.47-py3-none-any.whl.

File metadata

  • Download URL: causy-0.1.47-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for causy-0.1.47-py3-none-any.whl
Algorithm Hash digest
SHA256 33d3c5b875817c6335c4e488e2590288777daa650f90fd547a7c110201fe2816
MD5 7533e6bd574492d860a7faaeab3eb8e7
BLAKE2b-256 de01f97c760585f67608391d227277e4dc94a855a24cb92d5aa3678115b3f8b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for causy-0.1.47-py3-none-any.whl:

Publisher: release.yml on causy-dev/causy

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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page