-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
105 lines (94 loc) · 3.62 KB
/
pyproject.toml
File metadata and controls
105 lines (94 loc) · 3.62 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
# This metadata file represents the abstract project specifications. These specifications
# should be PEP-compliant (first introduced in PEP 517, but additional PEPs formalize
# the use of this file). See:
# - https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/
# - https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#configuring-setuptools-using-pyproject-toml-files
#
# The most recent versions of setuptools (unclear exactly when this transition was made)
# additionally support editable installs of projects using a pyproject.toml file without
# the presence of a nearly empty setup.py file.
#
# Optional dependencies for development can be installed by providing the optional
# flags to pip, such as:
# ``python3 -m pip install .[dev]``
[project]
name = "mili"
description = "modules for interacting with mili database files"
authors = [
{ name = "William R Tobin", email = "tobin6@llnl.gov" },
{ name = "Ryan Hathaway", email = "hathaway6@llnl.gov" },
{ name = "Kevin Durrenberger", email = "durrenberger1@llnl.gov" },
]
readme = "README.md"
requires-python = ">3.7"
license = { text = "LGPL-2.1-only" }
dynamic = ["version"]
# When using setuptools as a backend (see [build-system]), then dependencies
# in a pyproject.toml file are specified according to PEP 631. More info:
# - https://peps.python.org/pep-0631/
# - https://setuptools.pypa.io/en/latest/userguide/dependency_management.html
dependencies = [
"dill~=0.3",
"numpy>=1.20.0",
"pandas",
"psutil",
"matplotlib",
"typing_extensions",
]
# The `optional-dependencies` target is used here to separate dev from user
# dependencies. Individual "variants" (e.g., `dev` from below), are used to
# specify additional dependencies not required by all installations of the
# distributed package. More info here:
# - https://peps.python.org/pep-0631/#optional-dependencies
# - https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies
# Installation with pip is handled by specifying the variant flag as follows:
# `python3 -m pip install -e .[dev]`
# where the `.[dev]` specifies the `dev` variant (there could be others), and
# the `.` is the path to the directory containing this file.
# Installing multiple optional dependencies is performed by adding other targets
# to the list, without spaces between the delimiter:
# `python3 -m pip install -e .[dev,doc]`
[project.optional-dependencies]
dev = [
"build",
"coverage>=4.0.0",
"twine",
"wheel",
"sphinx==7.3.7",
"sphinx-rtd-theme==2.0.0",
"pydocstyle==6.3.0",
"tox>=4",
"mypy",
"types-psutil",
"pandas-stubs",
]
# When used with a pyproject.toml file, setuptools must use a minimum
# version of 61.0.0. See the "Note" in the documentation:
# - https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
[build-system]
requires = ["setuptools==68.0.0"]
build-backend = "setuptools.build_meta"
# More info on package discovery for ``./src`` layouts with setuptools build backends
# - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#src-layout
[tool.setuptools.packages.find]
where = ["src"]
include = [
"mili*",
"scripts*",
]
# The ./src/scripts and ./src/tests directories are excluded by default, but
# explicity excluding them here for clarity since they are in the ./src directory
exclude = [
"tests*",
]
[tool.setuptools.package-data]
mili = ["py.typed"]
[tool.setuptools.dynamic]
version = {attr = "mili.__init__.__version__"}
[project.scripts]
mili-append = "scripts.append_states:main"
[tools.mypy]
check_untyped_defs = true
disallow_untyped_defs = true
disallow_untyped_calls = true
disallow_incomplete_defs = true