Skip to content

Commit c429816

Browse files
committed
simplify project build and package installation from setup.py to pyproject, including the versioning using __version__ attribute
1 parent 28e6ba4 commit c429816

File tree

10 files changed

+71
-146
lines changed

10 files changed

+71
-146
lines changed

MANIFEST.in

Lines changed: 0 additions & 4 deletions
This file was deleted.

pymc_experimental/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
from pymc_experimental.inference.fit import fit
1818
from pymc_experimental.model.marginal_model import MarginalModel
1919
from pymc_experimental.model.model_api import as_model
20-
from pymc_experimental.version import __version__
20+
21+
__version__ = "1.1.0"
2122

2223
_log = logging.getLogger("pmx")
2324

@@ -36,5 +37,4 @@
3637
"fit",
3738
"MarginalModel",
3839
"as_model",
39-
"__version__",
4040
]

pymc_experimental/version.py

Lines changed: 0 additions & 11 deletions
This file was deleted.

pymc_experimental/version.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

pyproject.toml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,72 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "pymc_experimental"
7+
authors = [
8+
{name = "PyMC Developers", email = "[email protected]"},
9+
]
10+
description = "A home for new additions to PyMC, which may include unusual probability distributions, advanced model fitting algorithms, or any code that may be inappropriate to include in the pymc repository, but may want to be made available to users."
11+
classifiers = [
12+
"Development Status :: 5 - Production/Stable",
13+
"Programming Language :: Python",
14+
"Programming Language :: Python :: 3",
15+
"Programming Language :: Python :: 3.10",
16+
"Programming Language :: Python :: 3.11",
17+
"Programming Language :: Python :: 3.12",
18+
"License :: OSI Approved :: Apache Software License",
19+
"Intended Audience :: Science/Research",
20+
"Topic :: Scientific/Engineering",
21+
"Topic :: Scientific/Engineering :: Mathematics",
22+
"Operating System :: OS Independent",
23+
]
24+
readme = "README.md"
25+
requires-python = ">=3.10"
26+
keywords = [
27+
"probability",
28+
"machine learning",
29+
"statistics",
30+
"mcmc",
31+
"sampling",
32+
"bayesian",
33+
]
34+
license = {file = "LICENSE"}
35+
dynamic = ["version"] # specify the version in the __init__.py file
36+
dependencies = [
37+
"pymc>=5.16.1",
38+
"scikit-learn",
39+
]
40+
41+
[project.optional-dependencies]
42+
dev = [
43+
"pytest>=6.0",
44+
"dask[all]",
45+
"blackjax>1.0.0",
46+
"statsmodels",
47+
]
48+
docs = [
49+
"nbsphinx>=0.4.2",
50+
"pydata-sphinx-theme>=0.6.3",
51+
"sphinx>=4.0",
52+
"pymc-sphinx-theme@git+https://github.com/pymc-devs/pymc-sphinx-theme",
53+
]
54+
55+
[project.urls]
56+
Documentation = "https://www.pymc.io/projects/experimental/"
57+
Repository = "https://github.com/pymc-devs/pymc-experimental.git"
58+
Issues = "https://github.com/pymc-devs/pymc-experimental/issues"
59+
60+
[tool.setuptools.packages.find]
61+
where = ["."]
62+
include = ["pymc_experimental"]
63+
exclude = ["tests", "notebooks"]
64+
# Additional install requirements for running tests
65+
namespaces = false
66+
67+
[tool.setuptools.dynamic]
68+
version = {attr = "pymc_experimental.__version__"}
69+
170
[tool.pytest.ini_options]
271
minversion = "6.0"
372
xfail_strict = true

requirements-dev.txt

Lines changed: 0 additions & 5 deletions
This file was deleted.

requirements-docs.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

requirements.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

setup.py

Lines changed: 0 additions & 96 deletions
This file was deleted.

setupegg.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)