Skip to main content

ECCS: Exposing Critical Causal Structures

Welcome to the repository for the ECCS project! You can access the documentation here.

For technical details about the project, you can read our paper.

Table of Contents

  1. Setting up a virtual environment and installing dependencies.

  2. Reproducing our evaluation

  3. Rebuilding the documentation

1. Setting up a virtual environment and installing dependencies

Using a virtual environment is recommended to ensure dependencies are managed correctly. This section will walk you through setting up a virtual environment for this project. Before starting, make sure you have:

  • Python 3 installed on your system
  • Access to the command line/terminal

1.1. Creating the Virtual Environment

First, navigate to the project's root directory in your terminal. Then, create a virtual environment by running:

python3 -m venv eccs-venv

This command creates a new directory eccs-venv in your project where the virtual environment files are stored.

1.2. Activating the Virtual Environment

To activate the virtual environment, use the following command:

On Windows:

.\eccs-venv\Scripts\activate

On macOS and Linux:

source eccs-venv/bin/activate

After activation, your terminal prompt will change to indicate that the virtual environment is active.

1.3. Installing Dependencies

With the virtual environment active, install the project dependencies by running:

pip install -r requirements.txt

1.4. Deactivating the Virtual Environment

When you're done working in the virtual environment, you can deactivate it by running:

deactivate

This command will return you to your system's default Python interpreter.

2. Reproducing our evaluation

Reproducing our evaluation is super easy! Just run the following command from the root of this repository (within the virtual environment you created above):

python3 src/evaluation/iterative_runner.py

An experimental directory will be created under evaluation/, named after the current timestamp <ts>. After the experimental run completes, you will be able to find plots like the ones included in Figure 2 of our paper under evaluation/<ts>/plots/. Note that each experimental run creates new ground truth causal graphs, datasets, and starting causal graphs, so your plots may vary from the results in the paper.

You can edit src/evaluation/iterative_config.yml to adjust any experimental parameters.

NOTE: Running all of the experiments in our evaluation can take several hours, depending on your hardware. You may want to use a tool like tmux to run the above command in the background.

3. Rebuilding the documentation

To rebuild the documentation after editing the code, you can run:

mkdocs gh-deploy

Metadata

Release files for eccs 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eccs 0.1.4
File Size Uploaded
eccs-0.1.4.tar.gz 39.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eccs 0.1.4
File Interpreter ABI Platform
eccs-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 82.4 kB

Release files / eccs-0.1.4.tar.gz

Download URL eccs-0.1.4.tar.gz
Size 39.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c988312c85831692c16a8a048a87535013ae71417ee06d46426f207b83414163
BLAKE2b-256 checksum
How to use checksums
7ee1c9bb41000d183dcd789ad29e6a30d2fd5ea11da864d2fb8c87049979a001
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release files / eccs-0.1.4-py3-none-any.whl

Download URL eccs-0.1.4-py3-none-any.whl
Size 42.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c068230d395babadaa503e5da2ba94be608d0d6e61fde446bafdb97fdfdc83e
BLAKE2b-256 checksum
How to use checksums
b4939f820cbba2271366d0ad6c9141dac87316363661c6f4e23fd0f27a78e804
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page