Skip to content

Commit

Permalink
Move package metadata to pyproject.toml
Browse files Browse the repository at this point in the history
Signed-off-by: Keith Battocchi <kebatt@microsoft.com>
  • Loading branch information
kbattocchi committed Aug 2, 2023
1 parent 3fc754b commit b798777
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 68 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/publish-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
- run: pip install cibuildwheel && python -m cibuildwheel --output-dir dist
name: Build wheels
env:
CIBW_BUILD: cp3{7,8,9,10}-*
CIBW_BUILD: cp3*
CIBW_SKIP: "*musl* *win32 *i686"
- uses: actions/upload-artifact@v3
name: Upload wheels as artifact
Expand Down
80 changes: 80 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,83 @@
[project]
name = "econml"
requires-python = ">=3.7"
authors = [{ name = "PyWhy contributors" }]
description = "This package contains several methods for calculating Conditional Average Treatment Effects"
readme = "README.md"
keywords = ["treatment-effect"]
license = { text = "MIT" }
dynamic = ["version"]

classifiers = [
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux"
]
dependencies = [
"numpy",
"scipy > 1.4.0",
"scikit-learn > 0.22.0, < 1.3",
"sparse",
"joblib >= 0.13.0; python_version > '3.7' or platform_system != 'Windows'",
# upper limit due to https://github.com/joblib/loky/issues/411
"joblib >= 0.13.0, < 1.3.0; python_version <= '3.7' and platform_system == 'Windows'",
"statsmodels >= 0.10",
"pandas",
"shap >= 0.38.1, < 0.42.0",
"lightgbm"
]

[project.urls]
"Homepage" = "https://github.com/py-why/EconML"
"Bug Tracker" = "https://github.com/py-why/EconML/Issues"
"Source Code" = "https://github.com/py-why/EconML"
"Documentation" = "https://econml.azurewebsites.net/"

[project.optional-dependencies]
automl = [
# Disabled due to incompatibility with scikit-learn
# azureml-sdk[explain,automl] == 1.0.83
"azure-cli"
]
tf = [
# This extra is not currently compatible with python 3.9 or above because of tensorflow breaking changes
"keras < 2.4; python_version < '3.9'",
"tensorflow > 1.10, < 2.3; python_version < '3.9'",
# Version capped due to tensorflow incompatibility
"protobuf < 4",
# Version capped due to tensorflow incompatibility
"numpy < 1.24"
]
plt = [
"graphviz",
# Version capped due to shap incompatibility
"matplotlib < 3.6.0"
]
dowhy = [
"dowhy < 0.9"
]
all = [
# Disabled due to incompatibility with scikit-learn
# azureml-sdk[explain,automl] == 1.0.83
"azure-cli",
# This extra is not currently compatible with python 3.9 or above because of tensorflow breaking changes
"keras < 2.4; python_version < '3.9'",
"tensorflow > 1.10, < 2.3; python_version < '3.9'",
# Version capped due to tensorflow incompatibility
"protobuf < 4",
# Version capped due to tensorflow incompatibility
"numpy < 1.24",
"graphviz",
# Version capped due to shap incompatibility
"matplotlib < 3.6.0",
"dowhy < 0.9"
]

[build-system]
requires = [
"setuptools",
Expand Down
67 changes: 0 additions & 67 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,80 +6,13 @@ max-line-length=119
; Use numpy style
convention=numpy

[metadata]
name = econml
author = PyWhy contributors
description = This package contains several methods for calculating Conditional Average Treatment Effects
long_description = file: README.md
long_description_content_type = text/markdown
license = MIT
keywords = treatment-effect
url = https://github.com/py-why/EconML
project_urls =
Bug Tracker=https://github.com/py-why/EconML/Issues
Source Code=https://github.com/py-why/EconML
Documentation=https://econml.azurewebsites.net/
classifiers =
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
License :: OSI Approved :: MIT License
Operating System :: MacOS
Operating System :: Microsoft :: Windows
Operating System :: POSIX :: Linux

[options]
packages = find_namespace:
install_requires =
numpy
scipy > 1.4.0
scikit-learn > 0.22.0, < 1.3
sparse
joblib >= 0.13.0; python_version > '3.7' or platform_system != 'Windows'
; upper limit due to https://github.com/joblib/loky/issues/411
joblib >= 0.13.0, < 1.3.0; python_version <= '3.7' and platform_system == 'Windows'
statsmodels >= 0.10
pandas
shap >= 0.38.1, < 0.42.0
lightgbm
test_suite = econml.tests
tests_require =
pytest
pytest-xdist
pytest-cov

[options.extras_require]
automl =
; Disabled due to incompatibility with scikit-learn
; azureml-sdk[explain,automl] == 1.0.83
azure-cli
tf =
; This extra is not currently compatible with python 3.9 or above because of tensorflow breaking changes
keras < 2.4;python_version < '3.9'
tensorflow > 1.10, < 2.3;python_version < '3.9'
; Version capped due to tensorflow incompatibility
protobuf < 4
; Version capped due to tensorflow incompatibility
numpy < 1.24
plt =
graphviz
; Version capped due to shap incompatibility
matplotlib < 3.6.0
dowhy =
dowhy < 0.9
all =
azure-cli
; The tf components are not currently compatible with python 3.9 or above because of tensorflow breaking changes
keras < 2.4;python_version < '3.9'
tensorflow > 1.10, < 2.3;python_version < '3.9'
; Version capped due to tensorflow incompatibility
protobuf < 4
; Version capped due to tensorflow incompatibility
numpy < 1.24
; Version capped due to shap incompatibility
matplotlib < 3.6.0
dowhy < 0.9

[options.packages.find]
include =
Expand Down

0 comments on commit b798777

Please sign in to comment.