causal-testing-framework 14.3.0__tar.gz → 14.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/PKG-INFO +1 -1
  2. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/_version.py +3 -3
  3. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/discovery/abstract_discovery.py +10 -10
  4. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing_framework.egg-info/PKG-INFO +1 -1
  5. causal_testing_framework-14.3.1/causal_testing_framework.egg-info/scm_version.json +8 -0
  6. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/discovery_tests/test_abstract_discovery.py +99 -0
  7. causal_testing_framework-14.3.0/causal_testing_framework.egg-info/scm_version.json +0 -8
  8. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  10. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/workflows/ci-tests-drafts.yaml +0 -0
  11. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/workflows/ci-tests.yaml +0 -0
  12. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/workflows/figshare.yaml +0 -0
  13. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/workflows/joss.yaml +0 -0
  14. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/workflows/lint-format.yaml +0 -0
  15. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/workflows/publish-to-dafni.yaml +0 -0
  16. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.github/workflows/publish-to-pypi.yaml +0 -0
  17. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.gitignore +0 -0
  18. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.mega-linter.yaml +0 -0
  19. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.pre-commit-config.yaml +0 -0
  20. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.pylintrc +0 -0
  21. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/.readthedocs.yaml +0 -0
  22. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/CITATION.cff +0 -0
  23. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/CONTRIBUTING.md +0 -0
  24. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/LICENSE +0 -0
  25. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/README.md +0 -0
  26. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/__init__.py +0 -0
  27. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/__main__.py +0 -0
  28. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/discovery/__init__.py +0 -0
  29. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/discovery/hill_climber_discovery.py +0 -0
  30. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/discovery/nsga_discovery.py +0 -0
  31. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/__init__.py +0 -0
  32. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/abstract_estimator.py +0 -0
  33. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/abstract_regression_estimator.py +0 -0
  34. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/cubic_spline_estimator.py +0 -0
  35. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/effect_estimate.py +0 -0
  36. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/experimental_estimator.py +0 -0
  37. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/genetic_programming_regression_fitter.py +0 -0
  38. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/instrumental_variable_estimator.py +0 -0
  39. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/ipcw_estimator.py +0 -0
  40. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/linear_regression_estimator.py +0 -0
  41. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/logistic_regression_estimator.py +0 -0
  42. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/estimation/multinomial_regression_estimator.py +0 -0
  43. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/main.py +0 -0
  44. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/specification/__init__.py +0 -0
  45. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/specification/causal_dag.py +0 -0
  46. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/specification/scenario.py +0 -0
  47. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/specification/variable.py +0 -0
  48. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/surrogate/__init__.py +0 -0
  49. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/surrogate/causal_surrogate_assisted.py +0 -0
  50. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/surrogate/surrogate_search_algorithms.py +0 -0
  51. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/__init__.py +0 -0
  52. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/base_test_case.py +0 -0
  53. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/causal_effect.py +0 -0
  54. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/causal_test_adequacy.py +0 -0
  55. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/causal_test_case.py +0 -0
  56. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/causal_test_result.py +0 -0
  57. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/effect.py +0 -0
  58. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/intervention.py +0 -0
  59. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/testing/metamorphic_relation.py +0 -0
  60. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/utils/__init__.py +0 -0
  61. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing/utils/validation.py +0 -0
  62. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing_framework.egg-info/SOURCES.txt +0 -0
  63. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing_framework.egg-info/dependency_links.txt +0 -0
  64. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing_framework.egg-info/entry_points.txt +0 -0
  65. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing_framework.egg-info/requires.txt +0 -0
  66. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing_framework.egg-info/scm_file_list.json +0 -0
  67. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/causal_testing_framework.egg-info/top_level.txt +0 -0
  68. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/codecov.yml +0 -0
  69. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/.dockerignore +0 -0
  70. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/.env +0 -0
  71. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/Dockerfile +0 -0
  72. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/README.md +0 -0
  73. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/data/inputs/causal-tests/causal_tests.json +0 -0
  74. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/data/inputs/dag-data/dag.dot +0 -0
  75. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/data/inputs/runtime-data/runtime_data.csv +0 -0
  76. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/data/outputs/causal_test_results.json +0 -0
  77. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/docker-compose.yaml +0 -0
  78. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/entrypoint.sh +0 -0
  79. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/dafni/model_definition.yaml +0 -0
  80. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/Makefile +0 -0
  81. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/README.md +0 -0
  82. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/make.bat +0 -0
  83. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/_static/css/custom.css +0 -0
  84. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/_static/images/CITCOM-logo-white.png +0 -0
  85. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/_static/images/CITCOM-logo.png +0 -0
  86. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/_static/images/Sheffield-logo.png +0 -0
  87. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/_static/images/example_dag.png +0 -0
  88. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/background.rst +0 -0
  89. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/conf.py +0 -0
  90. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/credits.rst +0 -0
  91. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/dev/actions_and_webhooks.rst +0 -0
  92. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/dev/documentation.rst +0 -0
  93. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/dev/version_release.rst +0 -0
  94. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/glossary.rst +0 -0
  95. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/index.rst +0 -0
  96. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/installation.rst +0 -0
  97. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/modules/causal_specification.rst +0 -0
  98. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/modules/causal_testing.rst +0 -0
  99. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/modules/custom_estimators.rst +0 -0
  100. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/modules/discovery.rst +0 -0
  101. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/modules/estimators.rst +0 -0
  102. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/requirements.txt +0 -0
  103. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/poisson_line_process/causal_tests.json +0 -0
  104. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/poisson_line_process/dag.dot +0 -0
  105. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/poisson_line_process/dag.png +0 -0
  106. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/poisson_line_process/data/random/data_random_1000.csv +0 -0
  107. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/poisson_line_process/poisson_line_process_tutorial.ipynb +0 -0
  108. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/vaccinating_elderly/causal_test_results.json +0 -0
  109. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/vaccinating_elderly/causal_tests.json +0 -0
  110. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/vaccinating_elderly/dag.dot +0 -0
  111. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/vaccinating_elderly/dag_image.png +0 -0
  112. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/vaccinating_elderly/simulated_data.csv +0 -0
  113. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/vaccinating_elderly/vaccinating_elderly_tutorial.ipynb +0 -0
  114. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials/visualising_causal_test_results/visualise_causal_test_results.ipynb +0 -0
  115. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/docs/source/tutorials.rst +0 -0
  116. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/.gitignore +0 -0
  117. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/README.md +0 -0
  118. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/dag.dot +0 -0
  119. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/dag.png +0 -0
  120. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/data/10k_observational_data.csv +0 -0
  121. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/data/high_contacts_avg_age_22.2.csv +0 -0
  122. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/data/high_contacts_avg_age_30.1.csv +0 -0
  123. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/data/low_contacts_avg_age_22.2.csv +0 -0
  124. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/data/low_contacts_avg_age_30.1.csv +0 -0
  125. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/data/older_population.csv +0 -0
  126. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/data/younger_population.csv +0 -0
  127. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/doubling_beta/example_beta.py +0 -0
  128. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/vaccinating_elderly/README.md +0 -0
  129. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/vaccinating_elderly/dag.dot +0 -0
  130. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/vaccinating_elderly/dag.png +0 -0
  131. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/vaccinating_elderly/example_vaccine.py +0 -0
  132. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/covasim_/vaccinating_elderly/simulated_data.csv +0 -0
  133. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/lr91/README.md +0 -0
  134. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/lr91/dag.dot +0 -0
  135. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/lr91/dag.png +0 -0
  136. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/lr91/data/normalised_results.csv +0 -0
  137. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/lr91/data/results.csv +0 -0
  138. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/lr91/example_max_conductances.py +0 -0
  139. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/.gitignore +0 -0
  140. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/README.md +0 -0
  141. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/causal_tests.json +0 -0
  142. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/dag.dot +0 -0
  143. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/dag.png +0 -0
  144. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/random/data_random_1000.csv +0 -0
  145. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh10_100.csv +0 -0
  146. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh1_100.csv +0 -0
  147. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh2_100.csv +0 -0
  148. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh3_100.csv +0 -0
  149. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh4_100.csv +0 -0
  150. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh5_100.csv +0 -0
  151. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh6_100.csv +0 -0
  152. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh7_100.csv +0 -0
  153. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh8_100.csv +0 -0
  154. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/data/smt_100/data_smt_wh9_100.csv +0 -0
  155. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/example_pure_python.py +0 -0
  156. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/examples/poisson-line-process/poisson_line_process.ipynb +0 -0
  157. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/images/.gitignore +0 -0
  158. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/images/schematic-dark.png +0 -0
  159. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/images/schematic.png +0 -0
  160. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/images/schematic.tex +0 -0
  161. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/paper/paper.bib +0 -0
  162. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/paper/paper.md +0 -0
  163. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/pyproject.toml +0 -0
  164. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/setup.cfg +0 -0
  165. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/__init__.py +0 -0
  166. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/discovery_tests/test_hill_climber_discovery.py +0 -0
  167. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/discovery_tests/test_nsga_discovery.py +0 -0
  168. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_cubic_spline_estimator.py +0 -0
  169. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_experimental_estimator.py +0 -0
  170. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_genetic_programming_regression_fitter.py +0 -0
  171. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_instrumental_variable_estimator.py +0 -0
  172. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_ipcw_estimator.py +0 -0
  173. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_linear_regression_estimator.py +0 -0
  174. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_logistic_regression_estimator.py +0 -0
  175. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/estimation_tests/test_multinomial_regression_estimator.py +0 -0
  176. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/main_tests/test_main.py +0 -0
  177. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/dag.dot +0 -0
  178. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/dag.xml +0 -0
  179. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/data.csv +0 -0
  180. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/data.pqt +0 -0
  181. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/data_with_categorical.csv +0 -0
  182. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/data_with_meta.csv +0 -0
  183. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/exclude_edges.dot +0 -0
  184. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/include_edges.dot +0 -0
  185. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/nhefs.csv +0 -0
  186. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/scarf_data.csv +0 -0
  187. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/temporal_data.csv +0 -0
  188. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/resources/data/tests.json +0 -0
  189. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/specification_tests/test_causal_dag.py +0 -0
  190. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/specification_tests/test_variable.py +0 -0
  191. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/surrogate_tests/test_causal_surrogate_assisted.py +0 -0
  192. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/testing_tests/test_causal_effect.py +0 -0
  193. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/testing_tests/test_causal_test_adequacy.py +0 -0
  194. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/testing_tests/test_causal_test_case.py +0 -0
  195. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/testing_tests/test_metamorphic_relations.py +0 -0
  196. {causal_testing_framework-14.3.0 → causal_testing_framework-14.3.1}/tests/tutorial_tests/test_tutorials.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: causal_testing_framework
3
- Version: 14.3.0
3
+ Version: 14.3.1
4
4
  Summary: A framework for causal testing using causal directed acyclic graphs.
5
5
  Author: The CITCOM team
6
6
  License: MIT
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '14.3.0'
22
- __version_tuple__ = version_tuple = (14, 3, 0)
21
+ __version__ = version = '14.3.1'
22
+ __version_tuple__ = version_tuple = (14, 3, 1)
23
23
 
24
- __commit_id__ = commit_id = 'ge6a19c77b'
24
+ __commit_id__ = commit_id = 'g3b5b62ad2'
@@ -10,6 +10,7 @@ from enum import Enum
10
10
  from itertools import permutations
11
11
 
12
12
  import networkx as nx
13
+ import numpy as np
13
14
  import pandas as pd
14
15
  import rustworkx as rx
15
16
 
@@ -207,28 +208,27 @@ class Discovery(ABC):
207
208
 
208
209
  results = []
209
210
 
210
- # We use "silent=False" here to allow for inestimable edges, but it'd be good to have a more stringent
211
- # error catching strategy to catch "genuine" problems (e.g. to do with the structure of the data)
212
- for test_case, result in zip(ctf.test_cases, ctf.run_tests(silent=False)):
213
- if result.effect_estimate is None:
211
+ for test_case, result in zip(ctf.test_cases, ctf.test_cases):
212
+ try:
213
+ result = test_case.execute_test()
214
214
  results.append(
215
215
  {
216
- "result": TestResult.INESTIMABLE,
216
+ "result": (
217
+ TestResult.PASS if test_case.expected_causal_effect.apply(result) else TestResult.FAIL
218
+ ),
217
219
  "expected_effect": test_case.expected_causal_effect.__class__.__name__,
218
220
  "treatment": test_case.base_test_case.treatment_variable.name,
219
221
  "outcome": test_case.base_test_case.outcome_variable.name,
222
+ "effect": effect_direction(result),
220
223
  }
221
224
  )
222
- else:
225
+ except np.linalg.LinAlgError:
223
226
  results.append(
224
227
  {
225
- "result": (
226
- TestResult.PASS if test_case.expected_causal_effect.apply(result) else TestResult.FAIL
227
- ),
228
+ "result": TestResult.INESTIMABLE,
228
229
  "expected_effect": test_case.expected_causal_effect.__class__.__name__,
229
230
  "treatment": test_case.base_test_case.treatment_variable.name,
230
231
  "outcome": test_case.base_test_case.outcome_variable.name,
231
- "effect": effect_direction(result),
232
232
  }
233
233
  )
234
234
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: causal_testing_framework
3
- Version: 14.3.0
3
+ Version: 14.3.1
4
4
  Summary: A framework for causal testing using causal directed acyclic graphs.
5
5
  Author: The CITCOM team
6
6
  License: MIT
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "14.3.1",
3
+ "distance": 0,
4
+ "node": "g3b5b62ad20e1ae57075b5e5bf16ac1e2cc154317",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-07-13"
8
+ }
@@ -176,6 +176,105 @@ class TestAbstractHillClimber(unittest.TestCase):
176
176
  with self.assertRaises(ValueError):
177
177
  abstract_discovery.write_dot(dag, "dag.dot")
178
178
 
179
+ def test_evaluate_tests_invalid_datatype(self):
180
+ scarf_df = pd.read_csv("tests/resources/data/scarf_data.csv")
181
+ scarf_df["completed"] = pd.to_datetime(["2026-01-01" for _ in range(len(scarf_df))], format="%Y-%m-%d")
182
+
183
+ dag = CausalDAG()
184
+ dag.add_nodes_from(scarf_df.columns)
185
+ dag.add_edges_from([("length_in", "completed"), ("large_gauge", "completed")])
186
+
187
+ abstract_discovery = AbstractDiscovery(scarf_df)
188
+ with self.assertRaises(ValueError):
189
+ abstract_discovery.evaluate_tests(dag)
190
+
191
+ def test_evaluate_tests_inestimable(self):
192
+ scarf_df = pd.read_csv("tests/resources/data/scarf_data.csv")
193
+ scarf_df["completed"] = scarf_df["completed"].astype(bool)
194
+ scarf_df = scarf_df.loc[(scarf_df["completed"]) & (scarf_df["color"] != "grey")]
195
+
196
+ dag = CausalDAG()
197
+ dag.add_nodes_from(scarf_df.columns)
198
+ dag.add_edges_from([("length_in", "completed"), ("large_gauge", "completed")])
199
+
200
+ abstract_discovery = AbstractDiscovery(scarf_df)
201
+ test_results = abstract_discovery.evaluate_tests(dag)
202
+ expected_results = pd.DataFrame(
203
+ [
204
+ {
205
+ "result": TestResult.PASS,
206
+ "expected_effect": "NoEffect",
207
+ "treatment": "length_in",
208
+ "outcome": "large_gauge",
209
+ "effect": "negative",
210
+ },
211
+ {
212
+ "result": TestResult.PASS,
213
+ "expected_effect": "NoEffect",
214
+ "treatment": "large_gauge",
215
+ "outcome": "length_in",
216
+ "effect": "negative",
217
+ },
218
+ {
219
+ "result": TestResult.PASS,
220
+ "expected_effect": "NoEffect",
221
+ "treatment": "length_in",
222
+ "outcome": "color",
223
+ "effect": None,
224
+ },
225
+ {
226
+ "result": TestResult.PASS,
227
+ "expected_effect": "NoEffect",
228
+ "treatment": "color",
229
+ "outcome": "length_in",
230
+ "effect": None,
231
+ },
232
+ {
233
+ "result": TestResult.FAIL,
234
+ "expected_effect": "SomeEffect",
235
+ "treatment": "length_in",
236
+ "outcome": "completed",
237
+ "effect": "positive",
238
+ },
239
+ {
240
+ "result": TestResult.PASS,
241
+ "expected_effect": "NoEffect",
242
+ "treatment": "large_gauge",
243
+ "outcome": "color",
244
+ "effect": None,
245
+ },
246
+ {
247
+ "result": TestResult.PASS,
248
+ "expected_effect": "NoEffect",
249
+ "treatment": "color",
250
+ "outcome": "large_gauge",
251
+ "effect": None,
252
+ },
253
+ {
254
+ "result": TestResult.FAIL,
255
+ "expected_effect": "SomeEffect",
256
+ "treatment": "large_gauge",
257
+ "outcome": "completed",
258
+ "effect": "negative",
259
+ },
260
+ {
261
+ "result": TestResult.INESTIMABLE,
262
+ "expected_effect": "NoEffect",
263
+ "treatment": "color",
264
+ "outcome": "completed",
265
+ "effect": None,
266
+ },
267
+ {
268
+ "result": TestResult.INESTIMABLE,
269
+ "expected_effect": "NoEffect",
270
+ "treatment": "completed",
271
+ "outcome": "color",
272
+ "effect": None,
273
+ },
274
+ ]
275
+ )
276
+ pd.testing.assert_frame_equal(test_results, expected_results)
277
+
179
278
  def test_evaluate_tests(self):
180
279
  scarf_df = pd.read_csv("tests/resources/data/scarf_data.csv")
181
280
 
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "14.3.0",
3
- "distance": 0,
4
- "node": "ge6a19c77bff74b8bd610c83493609841e058d0d6",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-07-10"
8
- }