Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
104 lines (94 loc) · 2.83 KB
/
Copy pathpyproject.toml
File metadata and controls
104 lines (94 loc) · 2.83 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
[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "rivmapper"
version = "0.1.0"
description = "Channel mobility, sediment storage, and transit-time analysis for global alluvial rivers from remote sensing"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [
{ name = "James (Huck) Rees", email = "jamesrees@ucsb.edu" },
]
keywords = [
"fluvial geomorphology",
"river mobility",
"sediment transport",
"remote sensing",
"Landsat",
"DSWE",
"HydroRIVERS",
"GQBF",
"WBMsed",
"Earth Engine",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Scientific/Engineering :: Hydrology",
]
# Runtime dependencies — kept in sync with the actual imports across the
# rivmapper/ package; transitive deps (fiona, pyogrio, etc.) are picked up
# automatically through geopandas / rasterio.
dependencies = [
"contextily>=1.4",
"earthengine-api>=0.1.380",
"geemap>=0.30",
"geopandas>=0.14",
"matplotlib>=3.7",
"networkx>=3.1",
"numpy>=1.24",
"pandas>=2.0",
"Pillow>=10.0",
"pyproj>=3.6",
"rasterio>=1.3",
"requests>=2.31",
"Rtree>=1.1",
"scikit-image>=0.22",
"scikit-learn>=1.3",
"scipy>=1.11",
"shapely>=2.0",
"xgboost>=2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4",
"pytest-cov>=4.1",
"ruff>=0.4",
"ipywidgets>=8.1",
]
[project.urls]
Homepage = "https://github.com/huck-rees/RivMapper"
Repository = "https://github.com/huck-rees/RivMapper"
Issues = "https://github.com/huck-rees/RivMapper/issues"
# Console-script entry points are deliberately not declared yet — each
# module's `if __name__ == "__main__"` block needs to be lifted into a
# no-arg main() function first. Until then, run via the module form:
# python -m rivmapper.<step> <csv_path>
[tool.setuptools.packages.find]
include = ["rivmapper*"]
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.ruff.lint]
# Start conservative: pyflakes, pycodestyle errors, isort, common bugs.
select = ["E", "F", "I", "B", "UP", "SIM"]
ignore = [
"E501", # line too long — handled by formatter
"B008", # function call in default arg (common in argparse)
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["S101"] # asserts are fine in tests
"scripts/**" = ["E402"] # late imports OK in CLI shims
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
addopts = "-ra --strict-markers"