Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
105 lines (92 loc) · 2.84 KB
/
Copy pathpyproject.toml
File metadata and controls
105 lines (92 loc) · 2.84 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
[project]
name = "gemd"
dynamic = ["version"]
dependencies = [
"pint>=0.24.4,<0.25",
"deprecation>=2.1.0,<3",
"typing_extensions>=4.8,<5; python_version<'3.10'",
]
requires-python = ">=3.9"
authors = [
{name = "Citrine Informatics"}
]
description = "Python binding for Citrine's GEMD data model"
readme = "README.md"
license-files = ["LICENSE"]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
[project.urls]
Homepage = "http://github.com/CitrineInformatics/gemd-python"
[build-system]
requires = ["setuptools>=75.0", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.dynamic]
version = {attr = "gemd.__version__.__version__"}
[tool.setuptools.packages.find]
where = ["."]
include = ["gemd*"]
exclude = ["docs", "tests"]
[tool.setuptools.package-data]
"gemd.demo" = ["strehlow_and_cook.pif", "strehlow_and_cook_small.pif", "toothpick.jpg"]
"gemd.units" = ["citrine_en.txt", "constants_en.txt"]
"tests.units" = ["test_units.txt"]
[dependency-groups]
dev = [
"ruff==0.16.6",
"flake8==7.0.0",
"flake8-docstrings==1.7.0",
"numpy>=1.24.4; python_version<'3.10'",
"pandas>=2.0.3; python_version<'3.10'",
"numpy>=2.0.2,<3; python_version>='3.10'",
"pandas>=2.3.0,<4; python_version>='3.10'",
"pytest==8.4.2",
"pytest-cov==7.0.0",
"derp==0.1.1",
"tomli>=2.2.1",
]
docs = [
"sphinx==5.0.0",
"sphinx-rtd-theme==1.0.0",
"sphinxcontrib-apidoc==0.3.0",
]
[tool.pytest.ini_options]
testpaths = [
"tests",
]
[tool.coverage.run]
omit = [
"gemd/demo/*",
]
[tool.ruff]
line-length = 99
target-version = "py39"
[tool.ruff.lint]
# Mirror the flake8 configuration in tox.ini so both linters agree.
preview = true
explicit-preview-rules = true
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"D", # pydocstyle (flake8-docstrings)
"I", # isort
"E231", # missing whitespace after ',' (preview-only in ruff)
"E275", # missing whitespace after keyword (preview-only in ruff)
]
# D100: Docstring at top of module is often redundant
# D104: Docstring in package is often redundant
# D105: Magic methods (e.g. __str__) are self explanatory
# D107: __init__ is self explanatory
# D203: Blank line before class docstrings; conflicts with D211
# D213: A multiline summary begins on the first line; conflicts with D212
# D301: backslash is used in making docstrings for sphinx to parse
# D401: Imperative mood requirement basically gets in the way
ignore = ["D100", "D104", "D105", "D107", "D203", "D213", "D301", "D401"]
[tool.ruff.lint.pycodestyle]
max-doc-length = 119