Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
118 lines (105 loc) · 3.43 KB
/
Copy pathpyproject.toml
File metadata and controls
118 lines (105 loc) · 3.43 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
[build-system]
requires = ["setuptools>=80", "setuptools-scm[simple]>=8"]
build-backend = "setuptools.build_meta"
[project]
name = "pyrolite"
authors = [{ name = "Morgan Williams", email = "morgan.williams@csiro.au" }]
description = "Tools for geochemical data analysis."
license = "MIT"
license-files = ["LICENSE"]
requires-python = ">=3.11"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"Intended Audience :: Education",
"Natural Language :: English",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Framework :: Matplotlib",
"Topic :: Scientific/Engineering",
"Topic :: Software Development :: Libraries :: Python Modules",
]
keywords = ["geochemistry", "compositional data", "visualisation", "petrology"]
dynamic = ["version", "readme"]
dependencies = [
"numpy",
"periodictable",
"matplotlib>=3.9",
"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
]
[project.urls]
Issues = "https://github.com/morganjwilliams/pyrolite/issues"
Documentation = "https://pyrolite.readthedocs.io/"
Repository = "https://github.com/morganjwilliams/pyrolite"
Changelog = "https://github.com/me/spam/blob/master/CHANGELOG.md"
[project.optional-dependencies]
db = ["pyodbc", "psycopg2"]
notebook = ["ipykernel", "ipywidgets"]
skl = ["scikit-learn", "joblib"]
spatial = ["owslib", "geojson", "psutil"]
stats = ["statsmodels", "scikit-learn"] # statsmodels for conditional ke
excel = ["xlrd", "openpyxl"]
[dependency-groups]
test = ["pytest", "pytest-cov", "coverage"] # coveralls but only in CI
docs = [
"sphinx_book_theme",
"sphinx>=4",
"sphinx-autodoc-annotation",
"sphinx-gallery>0.6.0",
"myst-parser",
"pypandoc"
]
dev = [
"ruff",
"twine",
"build",
"pyrolite[skl,notebook]",
{ include-group = "test" },
{ include-group = "docs" },
]
[tool.setuptools.packages.find]
include = ["pyrolite*"]
[tool.setuptools.package-data] # https://setuptools.pypa.io/en/stable/userguide/datafiles.html
pyrolite = [
"LICENSE",
"pyrolite/data/Aitchison*",
"pyrolite/data/geochem/*",
"pyrolite/data/mineral/*",
"pyrolite/data/models/*",
"pyrolite/data/radii/*",
"pyrolite/data/timescale/*",
"pyrolite/data/testing/*",
"pyrolite/data/_config/*",
]
[tool.setuptools.exclude-package-data]
pyrolite = ["test/*", "docs/*", "paper/*", "binder/*", "build/*", "dist/*"]
[tool.setuptools.dynamic]
readme = { file = "README.md", content-type = "text/markdown" }
[tool.setuptools_scm]
fallback_version = "0.0.0"
[tool.uv]
default-groups = ["dev"]
[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.pytest.ini_options]
python_files = "*.py"
addopts = "--assert=plain --cov=pyrolite --cov-report html --cov-report xml --cov-report term-missing"
testpaths = ["test"]
pythonpath = ["."]