|
2 | 2 | requires = ["setuptools>=61.0"] |
3 | 3 | build-backend = "setuptools.build_meta" |
4 | 4 |
|
5 | | -# Configuration for Black. |
| 5 | +[project] |
| 6 | +name = "ogcore" |
| 7 | +version = "0.15.4" |
| 8 | +authors = [ |
| 9 | + {name = "Jason DeBacker and Richard W. Evans"}, |
| 10 | +] |
| 11 | +description = "A general equilibrium overlapping generations model for fiscal policy analysis" |
| 12 | +readme = "README.md" |
| 13 | +license = {text = "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication"} |
| 14 | +requires-python = ">=3.11, <3.14" |
| 15 | +classifiers = [ |
| 16 | + "Development Status :: 2 - Pre-Alpha", |
| 17 | + "Intended Audience :: Developers", |
| 18 | + "Natural Language :: English", |
| 19 | + "License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", |
| 20 | + "Operating System :: OS Independent", |
| 21 | + "Programming Language :: Python", |
| 22 | + "Programming Language :: Python :: 3", |
| 23 | + "Programming Language :: Python :: 3.11", |
| 24 | + "Programming Language :: Python :: 3.12", |
| 25 | + "Programming Language :: Python :: 3.13", |
| 26 | + "Topic :: Software Development :: Libraries :: Python Modules", |
| 27 | +] |
| 28 | +dependencies = [ |
| 29 | + "numpy", |
| 30 | + "scipy>=1.7.1", |
| 31 | + "pandas>=1.2.5", |
| 32 | + "numba", |
| 33 | + "matplotlib", |
| 34 | + "dask>=2.30.0", |
| 35 | + "distributed>=2.30.1", |
| 36 | + "paramtools>=0.20.0", |
| 37 | + "requests", |
| 38 | + "pygam", |
| 39 | +] |
6 | 40 |
|
7 | | -# NOTE: you have to use single-quoted strings in TOML for regular expressions. |
8 | | -# It's the equivalent of r-strings in Python. Multiline strings are treated as |
9 | | -# verbose regular expressions by Black. Use [ ] to denote a significant space |
10 | | -# character. |
| 41 | +[project.urls] |
| 42 | +Homepage = "https://github.com/PSLmodels/OG-Core/" |
| 43 | +"Issue Tracker" = "https://github.com/PSLmodels/OG-Core/issues" |
11 | 44 |
|
12 | | -[tool.black] |
| 45 | +[project.optional-dependencies] |
| 46 | +dev = [ |
| 47 | + "pytest>=6.0", |
| 48 | + "pytest-cov", |
| 49 | + "pytest-xdist", |
| 50 | + "coverage", |
| 51 | + "ruff", |
| 52 | + "openpyxl>=3.1.2", |
| 53 | + "linecheck", |
| 54 | +] |
| 55 | +docs = [ |
| 56 | + "jupyter-book<2.0.0", |
| 57 | + "jupyter", |
| 58 | + "ipykernel", |
| 59 | + "sphinx>=3.5.4", |
| 60 | + "sphinx-argparse", |
| 61 | + "sphinxcontrib-bibtex>=2.0.0", |
| 62 | + "sphinx-math-dollar", |
| 63 | + "pydata-sphinx-theme", |
| 64 | +] |
| 65 | + |
| 66 | +[tool.setuptools.packages.find] |
| 67 | +include = ["ogcore*"] |
| 68 | + |
| 69 | +[tool.setuptools.package-data] |
| 70 | +ogcore = [ |
| 71 | + "default_parameters.json", |
| 72 | + "model_variables.json", |
| 73 | + "OGcorePlots.mplstyle", |
| 74 | +] |
| 75 | + |
| 76 | +[tool.ruff] |
13 | 77 | line-length = 79 |
14 | | -target-version = ["py312", "py313"] |
15 | | -include = '\.pyi?$' |
| 78 | +target-version = "py312" |
| 79 | + |
| 80 | +[tool.ruff.lint] |
| 81 | +select = ["E", "F", "W"] |
| 82 | + |
| 83 | +[tool.pytest.ini_options] |
| 84 | +minversion = "6.0" |
| 85 | +testpaths = ["tests"] |
| 86 | +filterwarnings = [ |
| 87 | + "ignore::RuntimeWarning:.*invalid value encountered.*", |
| 88 | + "ignore::RuntimeWarning:.*divide by zero encountered in divide.*", |
| 89 | + "ignore::RuntimeWarning:.*invalid value encountered in power.*", |
| 90 | +] |
| 91 | +markers = [ |
| 92 | + "local: marks tests that run locally and not on GH Actions (mostly due to run time)", |
| 93 | + "benchmark: marks tests that measure performance and memory usage", |
| 94 | + "distributed: marks tests that use distributed Dask clients", |
| 95 | + "memory: marks tests focused on memory usage measurement", |
| 96 | + "performance: marks tests focused on compute time measurement", |
| 97 | + "slow: marks tests that take longer to run", |
| 98 | + "real: marks tests using real OG-Core tax function code", |
| 99 | + "platform: marks tests for platform-specific optimization", |
| 100 | +] |
0 commit comments