Skip to content

Commit

Permalink
Update pyproject.toml and remove setup.py
Browse files Browse the repository at this point in the history
- Update version control to hatch backend
- Update pytest, coverage, and ruff via pyproject.toml
  • Loading branch information
mavaylon1 authored Nov 27, 2023
1 parent 7555512 commit 45d45d7
Showing 1 changed file with 110 additions and 0 deletions.
110 changes: 110 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,89 @@
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"

[project]
name = "hdmf_zarr"
authors = [
{ name="Oliver Ruebel", email="[email protected]" },
{ name="Matthew Avaylon", email="[email protected]" },
]
description = "A package defining a Zarr I/O backend for HDMF"
readme = "README.rst"
requires-python = ">=3.8"
license = {text = "BSD"}
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"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 = [
'hdmf>=3.9.0',
'zarr>=2.11.0',
'numpy>=1.24',
'numcodecs>=0.9.1',
'numcodecs==0.11.0',
'pynwb>=2.5.0',
'threadpoolctl>=3.1.0',
]
dynamic = ["version"]

[project.optional-dependencies]
tqdm = ["tqdm>=4.41.0"]
fsspec = ["ffspec"]
s3fs = ["s3fs"]

[project.urls]
"Homepage" = "https://github.com/hdmf-dev/hdmf-zarr"
"Bug Tracker" = "https://github.com/hdmf-dev/hdmf-zarr/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/hdmf_zarr/__init__.py to set `hdmf_zarr.__version__`
# this allows the version to be accessible from python
version-file = "src/hdmf_zarr/_version.py"

[tool.hatch.build.targets.sdist]
exclude = [".git_archival.txt"]

[tool.hatch.build.targets.wheel]
packages = ["src/hdmf_zarr"]

[tool.pytest.ini_options]
addopts = "--cov --cov-report html"
norecursedirs = "tests/unit/helpers"

[tool.codespell]
skip = "htmlcov,.git,.mypy_cache,.pytest_cache,.coverage,*.pdf,*.svg,venvs,.tox,hdmf-common-schema,./docs/_build/*,*.ipynb"
ignore-words-list = "datas"

[tool.coverage.run]
branch = true
source = ["src/"]
omit = [
"src/hdmf/_due.py",
"src/hdmf/testing/*",
]

[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"@abstract"
]

[tool.black]
line-length = 120
target-version = ['py38']
Expand Down Expand Up @@ -25,3 +111,27 @@ force-exclude = '''
/docs/*
)\
'''

[tool.ruff]
select = ["E", "F", "T100", "T201", "T203"]
exclude = [
".git",
".tox",
"__pycache__",
"build/",
"dist/",
"docs/source/conf.py",
"src/hdmf_zarr/_due.py",
"docs/source/tutorials/",
"docs/_build/",
]
line-length = 120

[tool.ruff.per-file-ignores]
"docs/gallery/*" = ["E402", "T201"]
"src/*/__init__.py" = ["F401"]
"setup.py" = ["T201"]
"test_gallery.py" = ["T201"]

[tool.ruff.mccabe]
max-complexity = 17

0 comments on commit 45d45d7

Please sign in to comment.