forked from morganjwilliams/pyrolite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
108 lines (98 loc) · 3.19 KB
/
pyproject.toml
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
[build-system]
requires = ["setuptools>=61.0", "versioneer[toml]"]
build-backend = "setuptools.build_meta"
[project]
name = "pyrolite"
authors = [{ name = "Morgan Williams", email = "morgan.williams@csiro.au" }]
description = "Tools for geochemical data analysis."
license = { file = "LICENSE" }
requires-python = ">=3.8"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"Intended Audience :: Education",
"Natural Language :: English",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Framework :: Matplotlib",
"Topic :: Scientific/Engineering",
"Topic :: Software Development :: Libraries :: Python Modules",
]
keywords = ["geochemistry", "compositional data", "visualisation", "petrology"]
dynamic = ["version", "readme"]
dependencies = [
"numpy",
"numpydoc",
"tinydb>4.1", # >4.1 required for read-only access mode for JSON storage
"periodictable",
"matplotlib",
"mpltern>=0.4.0",
"scipy>=1.2", # uses scipy.optimize.Bounds, added around 1.2
"sympy>=1.7",
"pandas>=1.0", # dataframe acccessors, attrs attribute
"requests", # used by alphaMELTS utilities, util.web
]
[tool.setuptools.packages]
find = { exclude = ['test*', "docs*"] } # "**/__pycache__/*"
# include = ["Aitchison/*.py"],
[tool.setuptools.dynamic]
readme = { file = "README.md", content-type = "text/markdown" }
[project.urls]
"Issue tracker" = "https://github.com/morganjwilliams/pyrolite/issues"
"Documentation" = "https://pyrolite.readthedocs.io/"
"Code" = "https://github.com/morganjwilliams/pyrolite"
[project.optional-dependencies]
docs = [
"sphinx_rtd_theme",
"docutils<0.17",
"sphinx>=4",
"sphinx-autodoc-annotation",
"sphinx_gallery>=0.6.0",
"recommonmark",
# "jupyterlite-sphinx",
# "jupyterlite-pyodide-kernel",
]
db = ["pyodbc", "psycopg2"]
test = ["pytest", "pytest-runner", "pytest-cov", "coverage", "coveralls"]
skl = ["scikit-learn", "joblib"]
spatial = ["owslib", "geojson", "psutil"]
stats = ["statsmodels", "scikit-learn"] # statsmodels for conditional ke
excel = ["xlrd", "openpyxl"]
dev = [
"pytest",
"versioneer",
"black",
"isort",
"twine",
"pyrolite[test,docs,skl]",
"build",
]
[metadata]
url = "https://github.com/morganjwilliams/pyrolite"
[tool.coverage.run]
relative_files = true
source = ["pyrolite"]
omit = [
"test/*", # Omit test, docs, draft and data files
"docs/*",
"**/data",
"draft/*",
"pyrolite/util/database.py", # Omit extensions with extra dependencies
"*/_version.py", # Ignore _version.py
]
[tool.versioneer]
VCS = "git"
style = "pep440"
versionfile_source = "pyrolite/_version.py"
versionfile_build = "pyrolite/_version.py"
tag_prefix = ""
parentdir_prefix = "pyrolite-"
[tool.pytest.ini_options]
python_files = "*.py"
addopts = "--cov=pyrolite --cov-report html --cov-report xml --cov-report term-missing --cov-config .coveragerc"
testpaths = ["test"]
pythonpath = ["."]