[project] name = "numpydantic" version = "0.0.0" description = "Type and shape validation and serialization for numpy arrays in pydantic models" authors = [ {name = "sneakers-the-rat", email = "sneakers-the-rat@protonmail.com"}, ] dependencies = [ "pydantic>=2.3.0", "nptyping>=2.5.0", "numpy>=1.24.0", ] requires-python = "<4.0,>=3.9" readme = "README.md" license = {text = "MIT"} [project.optional-dependencies] dask = [ "dask>=2024.4.0", ] hdf5 = [ "h5py>=3.10.0" ] arrays = [ "numpydantic[dask,hdf5]" ] tests = [ "numpydantic[arrays]", "pytest>=7.4.0", "pytest-depends<2.0.0,>=1.0.1", "coverage>=6.1.1", "pytest-cov<5.0.0,>=4.1.0", "coveralls<4.0.0,>=3.3.1" ] docs = [ "sphinx<8.0.0,>=7.2.6", "furo>=2024.1.29", "myst-parser<3.0.0,>=2.0.0", "autodoc-pydantic<3.0.0,>=2.0.1", "sphinx-design<1.0.0,>=0.5.0"] dev = [ "numpydantic[tests,docs]", "sphinx-autobuild>=2021.3.14", "black<25.0.0,>=24.1.1", "ruff<1.0.0,>=0.2.0" ] [tool.pdm] distribution = true [tool.pdm.build] includes = [] [build-system] requires = ["pdm-backend"] build-backend = "pdm.backend" [tool.pytest.ini_options] addopts = [ "--cov=numpydantic", "--cov-append", ] testpaths = [ "tests" ] [tool.ruff] target-version = "py311" include = ["numpydantic/**/*.py", "pyproject.toml"] exclude = ["tests"] [tool.ruff.lint] select = [ # pycodestyle "E", # Pyflakes "F", # pyupgrade "UP", # flake8-bugbear "B", # flake8-simplify "SIM", # isort "I", # annotations "ANN", ## ---------- # pydocstyle # undocumented public objects "D100", "D101", "D102", "D103", "D104", "D106", "D107", # indentation "D207", "D208", # whitespace "D210", "D211", # emptiness "D419", ] ignore = [ "ANN101", "ANN102", "ANN401", "ANN204", # builtin type annotations "UP006", "UP035", # | for Union types (only supported >=3.10 "UP007", "UP038", # docstrings for __init__ "D107", ] fixable = ["ALL"] [tool.mypy] plugins = [ "pydantic.mypy" ]