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", "hatch-vcs"] # hatchling for build | hatch-vcs for versioning
build-backend = "hatchling.build" # the build backend used
[project]
name = "pynwb"
authors = [
{ name="Andrew Tritt", email="ajtritt@lbl.gov" },
{ name="Ryan Ly", email="rly@lbl.gov" },
{ name="Oliver Ruebel", email="oruebel@lbl.gov" },
{ name="Ben Dichter", email="ben.dichter@gmail.com" },
{ name="Matthew Avaylon", email="mavaylon@lbl.gov" },
{ name="Stephanie Prince", email="smprince@lbl.gov" },
]
description= "Package for working with Neurodata stored in the NWB format."
readme = "README.rst"
requires-python = ">=3.8"
license = {text = "BSD-3-Clause"}
classifiers = [
"Programming Language :: Python",
"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",
"License :: OSI Approved :: BSD License",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS",
"Operating System :: Unix",
"Topic :: Scientific/Engineering :: Medical Science Apps."
]
dependencies = [
"h5py>=2.10",
"hdmf>=3.14.3",
"numpy>=1.18",
"pandas>=1.1.5",
"python-dateutil>=2.7.3",
]
dynamic = ["version"] # the build backend will compute the version dynamically from git tag (or a __version__)
[project.optional-dependencies]
# Add optional dependencies here
[project.urls]
"Homepage" = "https://github.com/NeurodataWithoutBorders/pynwb"
"Bug Tracker" = "https://github.com/NeurodataWithoutBorders/pynwb/issues"
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.hooks.vcs]
# this file is created/updated when the package is installed and used in
# src/pynwb/__init__.py to set `__version__` (from _version.py).
version-file = "src/pynwb/_version.py"
[tool.hatch.build.targets.sdist]
exclude = [
".git*",
".codecov.yml",
".readthedocs.yaml",
]
[tool.hatch.build.targets.wheel]
packages = ["src/pynwb"]
exclude = [
".git*",
".codecov.yml",
".readthedocs.yaml",
]
[tool.codespell]
skip = "htmlcov,.git,.mypy_cache,.pytest_cache,.coverage,*.pdf,*.svg,venvs,.tox,nwb-schema,./docs/_build/*,*.ipynb"
ignore-words-list = "optin,potatos,assertin"
[tool.coverage.run]
branch = true
source = ["pynwb"]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"@abstract"
]
omit = [
"*/pynwb/_due.py",
"*/pynwb/testing/*",
"*/pynwb/legacy/*"
]
[tool.ruff]
lint.select = ["E", "F", "T100", "T201", "T203"]
exclude = [
".git",
".tox",
"__pycache__",
"build/",
"dist/",
"src/nwb-schema",
"docs/source/conf.py",
"docs/notebooks/*",
"src/pynwb/_due.py",
"test.py" # remove when pytest comes along
]
line-length = 120
[tool.ruff.lint.per-file-ignores]
"tests/read_dandi/*" = ["T201"]
"docs/gallery/*" = ["E402", "T201"]
"src/*/__init__.py" = ["F401"]
"src/pynwb/_version.py" = ["T201"]
"src/pynwb/validate.py" = ["T201"]
"scripts/*" = ["T201"]
# "test_gallery.py" = ["T201"] # Uncomment when test_gallery.py is created
[tool.ruff.lint.mccabe]
max-complexity = 17
|