[build-system] build-backend = "setuptools.build_meta:__legacy__" requires = [ "cython>=3", "numpy~=2.0,<2.5", "setuptools", "versioneer[toml]" ] [project] name = "mdtraj" description = "MDTraj: A modern, open library for the analysis of molecular dynamics trajectories" readme = { file = "README.md", content-type = "text/markdown" } keywords = [] license = "LGPL-2.1-OR-later" license-files = [ "LICEN[CS]E*" ] authors = [ { name = "Robert McGibbon", email = "rmcgibbo@gmail.com" }, ] requires-python = ">=3.12" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: C", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Chemistry", ] dynamic = [ "version" ] dependencies = [ "numpy~=2.0,<2.5", "packaging", "pyparsing", "scipy", ] optional-dependencies.all = [ "mdtraj[optional]", "mdtraj[tests]" ] optional-dependencies.optional = [ "netcdf4", "networkx", "pandas", "pyarrow", "tables" ] optional-dependencies.tests = [ "pytest", "pytest-recording", "pytest-rerunfailures", "pytest-xdist" ] urls.download = "https://github.com/mdtraj/mdtraj/releases/latest" urls.homepage = "https://mdtraj.org" urls.issues = "https://githubcom/mdtraj/mdtraj/issues" urls.source = "https://github.com/mdtraj/mdtraj" scripts.mdconvert = "mdtraj.scripts.mdconvert:entry_point" scripts.mdinspect = "mdtraj.scripts.mdinspect:entry_point" [tool.setuptools] packages.find.where = [ "." ] package-data."mdtraj.formats.pdb" = [ "data/*" ] [tool.ruff] line-length = 119 extend-exclude = [ "mdtraj/_version.py" ] lint.select = [ "E", "F", "I", "NPY", "UP", "W", ] lint.per-file-ignores."*" = [ "NPY002", "UP031" ] # Would really, really like to get rid of F403, though F401 is okay lint.per-file-ignores."__init__.py" = [ "F401", "F403" ] lint.per-file-ignores."mdtraj/core/trajectory.py" = [ "F401" ] lint.per-file-ignores."mdtraj/geometry/__init__.py" = [ "F403", "F405" ] lint.per-file-ignores."mdtraj/utils/unit/**" = [ "F403", "F405" ] [tool.pytest] ini_options.testpaths = [ "examples", "tests", ] ini_options.addopts = "-v -ra" ini_options.filterwarnings = [ "ignore:.*Casting *:mdtraj.utils.validation.TypeCastPerformanceWarning", "ignore:.*Function restrict_atoms is deprecated;.*:DeprecationWarning", "ignore:.*object name is a Python keyword.*:tables.NaturalNameWarning", "ignore:.*The 'netCDF4' Python package.*:UserWarning", "ignore:.*top= kwargs ignored since this file parser does not support it.*:UserWarning", "ignore:.*Unlikely unit cell *:UserWarning", "ignore:.*Using or importing the ABCs from 'collections' instead of.*:DeprecationWarning", ] [tool.coverage] run.omit = [ "*test_*.py", "*testing/*.py", ] report.exclude_lines = [ "@overload", "if TYPE_CHECKING:", "pragma: no cover", "raise NotImplementedError", ] [tool.versioneer] VCS = "git" style = "pep440" versionfile_source = "mdtraj/_version.py" versionfile_build = "mdtraj/_version.py" tag_prefix = "" parentdir_prefix = "mdtraj-"