-
Notifications
You must be signed in to change notification settings - Fork 84
Expand file tree
/
Copy pathsetup.py
More file actions
134 lines (122 loc) · 4.37 KB
/
setup.py
File metadata and controls
134 lines (122 loc) · 4.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
"""Package config file.
This file contains all package's metadata, including the current version and
its third-party dependencies.
Note:
For integration testing, OpenFisca-Core relies on two other packages,
listed below. Because these packages rely at the same time on
OpenFisca-Core, adding them as official dependencies creates a resolution
loop that makes it hard to contribute. We've therefore decided to install
them via the task manager (`make install-test`)::
openfisca-country-template = "*"
openfisca-extension-template = "*"
"""
from pathlib import Path
from setuptools import find_packages, setup
# Read the contents of our README file for PyPi
this_directory = Path(__file__).parent
long_description = (this_directory / "README.md").read_text()
# Please make sure to cap all dependency versions, in order to avoid unwanted
# functional and integration breaks caused by external code updates.
# DO NOT add space between '>=' and version number as it break conda build.
general_requirements = [
"PyYAML >=6.0, <7.0",
"StrEnum >=0.4.8, <0.5.0", # 3.11.x backport
"dpath >=2.2.0, <3.0",
"numexpr >=2.10.1, <3.0",
# NumPy 1.24.2 supports Python 3.8 to 3.11
# Numpy 2.0.2 supports Python 3.9 to 3.12
# Numpy 2.1.2 supports Python 3.10 to 3.12
"numpy >=1.24.2, <2.0; python_version < '3.11'",
# NumPy 1.26.0 supports Python 3.9 to 3.12
"numpy >=1.26.0, <=3; python_version <= '3.12'",
# NumPy 2.1.0 supports Python 3.10 to 3.13
"numpy >=2.1.0, <=3; python_version >= '3.13'",
# NumPy 2.3.2 supports Python 3.11 to 3.14
# "numpy >=2.3.2, <3; python_version >= '3.14'",
"pendulum >=3.0.0, <4.0.0",
"psutil >=5.9.4, <6.0",
"pytest >=8.3.3, <9.0",
"sortedcontainers >=2.4.0, <3.0",
"typing_extensions >=4.5.0, <5.0",
]
api_requirements = [
"Flask >=2.2.3, <4.0",
"Flask-Cors >=3.0.10, <4.0",
"gunicorn >=21.0, <22.0",
"Werkzeug >=2.2.3, <4.0",
]
excel_requirements = [
"openpyxl >=3.1.2, <4.0",
]
dev_requirements = [
"black >=24.8.0, <25.0",
"pytest-benchmark >=4.0.0, <5.0",
"codespell >=2.3.0, <3.0",
"colorama >=0.4.4, <0.5",
"darglint >=1.8.1, <2.0",
"flake8 >=7.1.1, <8.0.0",
"flake8-bugbear >=24.8.19, <25.0",
"flake8-docstrings >=1.7.0, <2.0",
"flake8-print >=5.0.0, <6.0",
"flake8-rst-docstrings >=0.3.0, <0.4.0",
"idna >=3.10, <4.0",
"isort >=5.13.2, <6.0",
"mypy >=1.11.2, <2.0",
"openapi-spec-validator >=0.7.1, <0.8.0",
"pylint >=3.3.1, <4.0",
"pylint-per-file-ignores >=1.3.2, <2.0",
"pyright >=1.1.382, <2.0",
"ruff >=0.6.9, <1.0",
"ruff-lsp >=0.0.57, <1.0",
*api_requirements,
*excel_requirements,
]
setup(
name="OpenFisca-Core",
version="44.5.0",
author="OpenFisca Team",
author_email="contact@openfisca.org",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Operating System :: POSIX",
"Programming Language :: Python",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Information Analysis",
],
description="A versatile microsimulation free software",
keywords="benefit microsimulation social tax",
license="License-Expression :: AGPL-3.0-or-later",
license_files=("LICENSE",),
url="https://github.com/openfisca/openfisca-core",
long_description=long_description,
long_description_content_type="text/markdown",
data_files=[
(
"share/openfisca/openfisca-core",
["CHANGELOG.md", "README.md"],
),
],
entry_points={
"console_scripts": [
"openfisca=openfisca_core.scripts.openfisca_command:main",
"openfisca-run-test=openfisca_core.scripts.openfisca_command:main",
],
},
extras_require={
"web-api": api_requirements,
"dev": dev_requirements,
"ci": [
"build >=0.10.0, <0.11.0",
"twine >=6.0, <7.0",
"wheel >=0.40.0, <0.41.0",
],
"tracker": ["OpenFisca-Tracker >=0.4.0, <0.5.0"],
"excel": excel_requirements,
},
include_package_data=True, # Will read MANIFEST.in
install_requires=general_requirements,
packages=find_packages(exclude=["tests*"]),
)