-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpyproject.toml
More file actions
121 lines (110 loc) · 3.06 KB
/
Copy pathpyproject.toml
File metadata and controls
121 lines (110 loc) · 3.06 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
[build-system]
requires = ["hatchling>=1.25"]
build-backend = "hatchling.build"
[project]
name = "loopflopy"
version = "0.0.0"
description = "Bridge utilities between LoopStructural and FloPy workflows."
readme = "README.md"
requires-python = ">=3.10" # examples in 3.12
license = { text = "MIT" }
authors = [{ name = "Kerry Bardot", email = "kerry.bardot@uwa.edu.au" }]
keywords = ["hydrogeology", "modflow", "loopstructural", "flopy"]
classifiers = [
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"flopy>=3.8,<4",
"numpy>=1.23,<3",
"pandas>=1.5,<3",
"scipy>=1.10,<2",
]
[project.optional-dependencies]
# GIS stack used heavily in examples: reading/writing shapefiles, projections, spatial ops.
gis = [
"geopandas>=1.0,<2",
"shapely>=2.0,<3",
"fiona>=1.9,<2",
"pyproj>=3.5,<4",
"rtree>=1.0,<2",
"rasterstats>=0.16,<1",
"rasterio>=1.3,<2",
]
# 3D visualization; PyVista/VTK versions are sensitive.
viz-3d = [
"pyvista>=0.44,<0.47",# prefer to keep it <0.47 for now because this is a sensitive package
"vtk>=9.3,<9.4",
"trimesh>=4,<5",
]
# LoopStructural ecosystem for structural modelling examples.
loop3d = [
"loopstructural>=1.6,<2",
"alphashape>=1.3,<2",
# visualization shares pyvista/vtk with viz-3d
"pyvista>=0.44,<0.47",
"vtk>=9.3,<9.4",
# if you confirm the exact package name for visualisation on PyPI, add it here:
# "loopstructuralvisualisation>=0.1.6,<1",
]
# Excel I/O seen in examples.
excel = [
"openpyxl>=3.1,<4",
"xlrd>=2.0,<3",
]
# Notebooks and widgets (examples are notebooks).
notebook = [
"jupyter>=1.0,<2",
"jupyterlab>=4.0,<5",
"ipykernel>=6.29,<7",
"ipywidgets>=8.1,<9",
]
# Convenience extra: everything typically needed to run the examples.
# (Union of gis + loop3d + viz-3d + excel + notebook) + matplotlib for plotting.
examples = [
# GIS
"geopandas>=1.0,<2", "shapely>=2.0,<3", "fiona>=1.9,<2", "pyproj>=3.5,<4",
"rtree>=1.0,<2", "rasterstats>=0.16,<1", "rasterio>=1.3,<2",
# LoopStructural + 3D viz
"loopstructural>=1.6,<2", "alphashape>=1.3,<2",
"pyvista>=0.44,<0.47", "vtk>=9.3,<9.4",
# Excel
"openpyxl>=3.1,<4", "xlrd>=2.0,<3",
# Notebooks + plotting
"jupyter>=1.0,<2", "jupyterlab>=4.0,<5", "ipykernel>=6.29,<7", "ipywidgets>=8.1,<9",
"matplotlib>=3.7,<4",
]
# Dev/test/docs for contributors (optional).
dev = [
"pre-commit>=3.8",
"ruff>=0.6",
"black>=24.8",
"mypy>=1.11",
"pip-tools>=7.4",
"deptry>=0.16",
]
test = [
"pytest>=8.3",
"pytest-cov>=5.0",
]
docs = [
"sphinx>=7,<9",
"numpydoc>=1.6,<2",
]
[project.urls]
Homepage = "https://github.com/kerrybardot/loopflopy"
Issues = "https://github.com/kerrybardot/loopflopy/issues"
[tool.hatch.build.targets.wheel]
# src/ layout: the package lives in src/loopflopy
packages = ["src/loopflopy"]
[tool.hatch.build.targets.sdist]
# Include source package and common top-level docs; adjust as needed.
include = [
"pyproject.toml",
"README.md",
"LICENSE",
"src/loopflopy",
"examples/**",
]