-
Notifications
You must be signed in to change notification settings - Fork 48
/
pyproject.toml
124 lines (111 loc) · 3.4 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
[project]
name = "pystac-client"
description = "Python library for working with SpatioTemporal Asset Catalog (STAC) APIs."
readme = "README.md"
authors = [
{ name = "Jon Duckworth", email = "[email protected]" },
{ name = "Matthew Hanson", email = "[email protected]" },
]
maintainers = [{ name = "Pete Gadomski", email = "[email protected]" }]
keywords = ["pystac", "imagery", "raster", "catalog", "STAC"]
license = { text = "Apache-2.0" }
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
"Natural Language :: English",
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
]
requires-python = ">=3.10"
dependencies = [
"requests>=2.28.2",
"pystac[validation]>=1.10.0",
"python-dateutil>=2.8.2",
]
dynamic = ["version"]
[project.scripts]
stac-client = "pystac_client.cli:cli"
[project.optional-dependencies]
dev = [
"black~=24.0",
"codespell~=2.3.0",
"coverage~=7.2",
"doc8~=1.1.1",
"importlib-metadata~=8.0",
"mypy~=1.2",
"orjson~=3.8",
"pre-commit~=4.0",
"pytest-benchmark~=5.1.0",
"pytest-console-scripts~=1.4.0",
"pytest-cov~=6.0",
"pytest-recording~=0.13",
"pytest~=8.0",
"recommonmark~=0.7.1",
"requests-mock~=1.12",
"ruff==0.8.4",
"tomli~=2.0; python_version<'3.11'",
"types-python-dateutil>=2.8.19,<2.10.0",
"types-requests~=2.32.0",
"urllib3>=2.0,<2.3.0", # v2.3.0 breaks VCR, b/c https://github.com/urllib3/urllib3/pull/3489
]
docs = [
"Sphinx~=8.0",
"boto3~=1.26",
"cartopy~=0.21",
"geojson~=3.2.0",
"geopandas~=1.0.0",
"geoviews~=1.9",
"hvplot~=0.11.0",
"ipykernel~=6.22",
"ipython~=8.12",
"jinja2<4.0",
"matplotlib~=3.8",
"myst-parser~=4.0",
"nbsphinx~=0.9",
"pydata-sphinx-theme~=0.13",
"pygeoif~=1.0",
"scipy~=1.10",
"sphinxcontrib-fulltoc~=1.2",
]
[project.urls]
homepage = "https://github.com/stac-utils/pystac-client"
documentation = "https://pystac-client.readthedocs.io"
repository = "https://github.com/stac-utils/pystac-client.git"
changelog = "https://github.com/stac-utils/pystac-client/blob/main/CHANGELOG.md"
discussions = "https://github.com/radiantearth/stac-spec/discussions/categories/stac-software"
[tool.setuptools.packages.find]
include = ["pystac_client*"]
exclude = ["tests*"]
[tool.setuptools.dynamic]
version = { attr = "pystac_client.version.__version__" }
[tool.doc8]
ignore-path = "docs/_build,docs/tutorials"
max-line-length = 130
[tool.ruff]
line-length = 88
[tool.ruff.lint]
ignore = ["E722", "E731"]
select = ["E", "F", "W", "I"]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]
"test_item_search.py" = ["E501"]
[tool.pytest.ini_options]
markers = "vcr: records network activity"
addopts = "--benchmark-skip --block-network"
[tool.mypy]
show_error_codes = true
strict = true
[[tool.mypy.overrides]]
module = ["jinja2"]
ignore_missing_imports = true
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"