pyproject.toml (118 lines of code) (raw):

[build-system] requires = ['scikit-build-core', 'cython'] build-backend = 'scikit_build_core.build' [project] name = 'h3' version = '4.2.2' description = "Uber's hierarchical hexagonal geospatial indexing system" readme = 'readme.md' license = {file = 'LICENSE'} authors = [ { name = 'Uber Technologies', email = 'ajfriend@gmail.com' }, ] maintainers = [ { name = 'AJ Friend', email = 'ajfriend@gmail.com' }, ] requires-python = '>=3.8' dependencies = [] classifiers = [ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: Apache Software License', 'Programming Language :: C', 'Programming Language :: Cython', 'Programming Language :: Python :: 3.8', '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', 'Operating System :: MacOS :: MacOS X', 'Operating System :: POSIX :: Linux', 'Operating System :: Microsoft :: Windows', 'Topic :: Scientific/Engineering :: GIS', ] [project.urls] Homepage = 'https://github.com/uber/h3-py' Documentation = 'https://uber.github.io/h3-py/' 'Bug Tracker' = 'https://github.com/uber/h3-py/issues' Discussions = 'https://github.com/uber/h3-py/discussions' Changelog = 'https://uber.github.io/h3-py/_changelog.html' [project.optional-dependencies] numpy = ['numpy'] test = ['pytest', 'pytest-cov', 'ruff', 'numpy'] all = [ 'h3[test]', 'jupyter-book', 'sphinx>=7.3.3', # https://github.com/sphinx-doc/sphinx/issues/12290 'jupyterlab', 'jupyterlab-geojson', 'geopandas', 'geodatasets', 'matplotlib', 'contextily', 'cartopy', 'geoviews', ] [tool.pytest.ini_options] addopts = "--cov-report=term-missing --durations=10" [tool.coverage.run] omit = [ '*/h3/api/basic_int/__init__.py', '*/h3/api/memview_int/__init__.py', '*/h3/api/numpy_int/__init__.py' ] [tool.scikit-build] sdist.exclude = [ 'src/h3lib', 'docs', 'dev_notes.md', 'makefile', ] sdist.include = [ 'src/h3lib/LICENSE', 'src/h3lib/README.md', 'src/h3lib/VERSION', 'src/h3lib/CMakeLists.txt', 'src/h3lib/cmake/*', 'src/h3lib/src/h3lib/*' ] [tool.ruff] src = [ 'src', 'tests', ] line-length = 88 [tool.ruff.lint] flake8-quotes.inline-quotes = 'single' # https://docs.astral.sh/ruff/rules/ preview = true # https://docs.astral.sh/ruff/preview/#selecting-single-preview-rules select = [ 'A', # 'B', # todo # 'COM', # todo 'E', 'F', 'Q', 'W', # 'D', # todo. this is nice! # 'PL', # todo. some interesting ideas # 'DOC', # todo: interesting ] ignore = [ 'E221', # Multiple spaces before operator 'E231', # Missing whitespace after ',' 'E241', # Multiple spaces after ',' 'E251', # Unexpected spaces around keyword / parameter equals 'E272', # Multiple spaces before keyword 'E731', # Do not assign a `lambda` expression, use a `def` # 'PLR2004', ] [tool.ruff.lint.per-file-ignores] '*.ipynb' = [ 'E501', # Line too long (104 > 88) ] 'test*.py' = [ # 'D', # maybe just the need for docstring ]