-
Notifications
You must be signed in to change notification settings - Fork 20
/
pyproject.toml
146 lines (129 loc) · 3.2 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
[build-system]
requires = ["setuptools>=63.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "mappymatch"
version = "0.5.0"
description = "Package for mapmatching."
readme = "README.md"
authors = [{ name = "National Renewable Energy Laboratory" }]
license = { text = "BSD 3-Clause License Copyright (c) 2022, Alliance for Sustainable Energy, LLC" }
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: Other/Proprietary License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering",
]
keywords = ["GPS", "map", "match"]
dependencies = [
"geopandas",
"shapely",
"rtree",
"pyproj",
"pandas",
"numpy",
"matplotlib",
"osmnx",
"networkx",
"igraph",
"folium",
"requests",
"polyline",
]
requires-python = ">=3.9"
[project.optional-dependencies]
# Used to run CI.
tests = ["black", "ruff", "mypy>=0.981", "types-requests", "pytest"]
# Used to build the docs.
docs = ["sphinx>=8.1", "sphinx_rtd_theme>=3.0", "sphinxemoji>=0.3.1"]
# Tests + docs + other.
dev = [
"mappymatch[tests]",
"mappymatch[docs]",
"coverage",
"interrogate",
"pre-commit",
"build",
"twine",
"pip-tools",
]
[project.urls]
Homepage = "https://github.com/NREL/mappymatch"
[tool.setuptools.packages.find]
include = ["mappymatch*"] # package names should match these glob patterns (["*"] by default)
[tool.black]
exclude = '''
/(
\.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
| env
| venv
)/
'''
include = '\.pyi?$'
line-length = 79
target-version = ['py39']
[tool.ruff]
line-length = 79
ignore = ["E501"]
select = ["F", "E", "W", "I001"]
[tool.interrogate]
fail-under = 10
exclude = ["tests", "docs", "examples", "resources"]
paths = ["mappymatch"]
# Ignore the docs configuration file.
ignore-regex = ["conf.py"]
[tool.coverage.run]
# Ensures coverage for all if, elif, else branches.
# https://coverage.readthedocs.io/en/6.3.2/branch.html#branch
branch = true
[tool.coverage.report]
precision = 1
fail_under = 50.0
skip_covered = false
skip_empty = true
[tool.tbump]
# Uncomment this if your project is hosted on GitHub:
# github_url = "https://github.com/<user or organization>/<project>/"
[tool.tbump.version]
# Make sure this matches current_version before using tbump
current = "0.4.1"
# Example of a semver regexp.
regex = '''
(?P<major>\d+)
\.
(?P<minor>\d+)
\.
(?P<patch>\d+)
'''
[tool.tbump.git]
message_template = "Bump to {new_version}"
tag_template = "v{new_version}"
# For each file to patch, add a [[tool.tbump.file]] config
# section containing the path of the file, relative to the
# tbump.toml location.
[[tool.tbump.file]]
src = "./pyproject.toml"
search = 'version = "{current_version}"'
[[tool.tbump.file]]
src = "./docs/source/conf.py"
search = 'full_version = "{current_version}"'
# You can specify a list of commands to
# run after the files have been patched
# and before the git commit is made
# [[tool.tbump.before_commit]]
# Or run some commands after the git tag and the branch
# have been pushed:
# [[tool.tbump.after_push]]
# name = "publish"
# cmd = "./publish.sh"