Skip to content

Commit e967ff0

Browse files
theorashidjessegrabowski
authored andcommitted
simplify project build and package installation from setup.py to pyproject, including the versioning using __version__ attribute
1 parent 2385bf4 commit e967ff0

File tree

5 files changed

+80
-30
lines changed

5 files changed

+80
-30
lines changed

pymc_extras/__init__.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,14 @@
3131
if len(_log.handlers) == 0:
3232
handler = logging.StreamHandler()
3333
_log.addHandler(handler)
34+
35+
36+
__all__ = [
37+
"distributions",
38+
"gp",
39+
"statespace",
40+
"utils",
41+
"fit",
42+
"MarginalModel",
43+
"as_model",
44+
]

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.

setupegg.py

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

0 commit comments

Comments
 (0)