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
|
[build-system]
build-backend = "hatchling.build"
requires = ["hatchling"]
[project]
authors = [{ name = "Geoff Boeing", email = "boeing@usc.edu" }]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Scientific/Engineering :: Physics",
"Topic :: Scientific/Engineering :: Visualization",
]
dependencies = [
"geopandas>=1.0",
"networkx>=2.5",
"numpy>=1.22",
"pandas>=1.4",
"requests>=2.27",
"shapely>=2.0",
]
description = "Download, model, analyze, and visualize street networks and other geospatial features from OpenStreetMap"
dynamic = ["version"]
keywords = ["GIS", "Networks", "OpenStreetMap", "Routing"]
license = { text = "MIT License" }
maintainers = [{ name = "OSMnx contributors" }]
name = "osmnx"
readme = "README.md"
requires-python = ">=3.9" # match classifiers above and mypy version below
[project.optional-dependencies]
entropy = ["scipy>=1.5"]
neighbors = ["scikit-learn>=0.23", "scipy>=1.5"]
raster = ["gdal", "rasterio>=1.3"]
visualization = ["matplotlib>=3.5"]
[project.urls]
Documentation = "https://osmnx.readthedocs.io"
"Code Repository" = "https://github.com/gboeing/osmnx"
"Examples Gallery" = "https://github.com/gboeing/osmnx-examples"
[tool.coverage.report]
exclude_also = ["@overload", "if TYPE_CHECKING:"]
[tool.hatch.build]
packages = ["osmnx"]
[tool.hatch.version]
path = "osmnx/_version.py"
[tool.mypy]
cache_dir = "~/.cache/pre-commit/mypy"
ignore_missing_imports = true
python_version = "3.9"
strict = true
warn_no_return = true
warn_unreachable = true
[tool.numpydoc_validation]
checks = ["all", "ES01", "EX01", "GL08", "PR04", "SA01"]
[tool.ruff]
cache-dir = "~/.cache/pre-commit/ruff"
exclude = ["build/*"]
line-length = 100
[tool.ruff.lint]
extend-ignore = ["N803", "N806", "SLF001"]
extend-select = ["ALL"]
[tool.ruff.lint.isort]
force-single-line = true
[tool.ruff.lint.mccabe]
max-complexity = 14
[tool.ruff.lint.pycodestyle]
max-line-length = 110 # line length + 10% since it isn't a hard upper bound
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ruff.lint.pylint]
max-args = 8
|