Release 4.0.0: repository is the replication package (protocol, records, audit, conventions, fixed toolkit)
b890fab verified Download setup.py from sgao-academics/causalscale: direct link, hf CLI and curl.
- Browser
- Download file 3.13 kB
-
https://huggingface.co/sgao-academics/causalscale/resolve/main/setup.py
- Command line
-
hf download hf://sgao-academics/causalscale/setup.py
-
curl -L -o setup.py https://huggingface.co/sgao-academics/causalscale/resolve/main/setup.py
3.13 kB
| """causalscale replication package — benchmark protocol for differentiable causal discovery. | |
| Accompanies: "Protocol, Not Physics: Re-measuring the Scalability Limit of | |
| Differentiable Causal Discovery" (KDD 2027 Datasets & Benchmarks). | |
| Reading the released results needs numpy and matplotlib. Re-running the | |
| experiments needs a solver stack, which is an extra rather than a requirement, so | |
| that `pip install -e .` stays small and cannot fail on a GPU-less machine. | |
| pip install -e . # read the tables, figures and audit | |
| pip install -e ".[solvers]" # re-run the suites | |
| python run_all.py --verify | |
| Author: Shuaidong Gao (ORCID 0009-0004-5641-3581) | |
| """ | |
| import os | |
| from setuptools import find_packages, setup | |
| _HERE = os.path.dirname(os.path.abspath(__file__)) | |
| _readme = os.path.join(_HERE, "README.md") | |
| long_description = open(_readme, encoding="utf-8").read() if os.path.exists(_readme) else "" | |
| setup( | |
| name="causalscale", | |
| version="4.0.0", | |
| description=("Benchmark protocol for differentiable causal discovery: fixed " | |
| "generators, a shared tuning budget, per-seed records, and an " | |
| "executable audit of the paper's claims"), | |
| long_description=long_description, | |
| long_description_content_type="text/markdown", | |
| author="Shuaidong Gao", | |
| author_email="sgao.academics@gmail.com", | |
| url="https://github.com/sgao-academics/causalscale", | |
| packages=find_packages(include=["causalscale", "causalscale.*", | |
| "experiments", "experiments.*"]), | |
| include_package_data=True, | |
| package_data={"experiments": ["records/*.jsonl"]}, | |
| python_requires=">=3.10", | |
| install_requires=[ | |
| "numpy>=1.24", | |
| ], | |
| extras_require={ | |
| # needed to redraw Figure 1; everything else in the reading path is numpy | |
| "figures": ["matplotlib>=3.7"], | |
| # needed to re-run any suite | |
| "solvers": [ | |
| "torch>=2.0", | |
| "scipy>=1.10", | |
| "scikit-learn>=1.2", | |
| "dagma>=0.1", | |
| ], | |
| # the toolkit measured in SS4.4, kept for inspection | |
| "toolkit": [ | |
| "torch>=2.0", | |
| "scipy>=1.10", | |
| "scikit-learn>=1.2", | |
| "pandas>=1.5", | |
| "networkx>=3.0", | |
| ], | |
| "web": ["streamlit>=1.28", "plotly>=5.15"], | |
| }, | |
| entry_points={ | |
| "console_scripts": [ | |
| "causalscale=causalscale.cli:main", | |
| ], | |
| }, | |
| classifiers=[ | |
| "Development Status :: 4 - Beta", | |
| "Intended Audience :: Science/Research", | |
| "License :: OSI Approved :: MIT License", | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.10", | |
| "Programming Language :: Python :: 3.11", | |
| "Programming Language :: Python :: 3.12", | |
| "Topic :: Scientific/Engineering :: Artificial Intelligence", | |
| "Topic :: Scientific/Engineering :: Information Analysis", | |
| ], | |
| keywords="causal-discovery benchmark reproducibility dag structure-learning", | |
| ) | |