# important: install in editable mode [build-system] requires = [ "hatchling>=1.20", # build backend "hatch-requirements-txt", # plugin, to parse requirements.txt ] build-backend = "hatchling.build" [project] name = "chai_lab" description = "Chai Discovery tools for AI + protein research." requires-python = ">=3.10" authors = [{ name = "Chai Discovery" }] # see both defined below dynamic = ["version", "dependencies"] [tool.hatch.version] path = "chai_lab/__init__.py" [tool.hatch.metadata.hooks.requirements_txt] files = ["requirements.in"] [tool.hatch.metadata] allow-direct-references = true [tool.mypy] check_untyped_defs = true # Ignore missing imports for packages with missing type stubs [[tool.mypy.overrides]] module = [ "anarci.*", "fsspec.*", "google.*", "joblib.*", "needletail.*", "numba.*", "pyximport.*", "rdkit.*", "scipy.*", "seaborn.*", "sh.*", "tmtools.*", "botocore.*", "s3fs.*", "biotite.*", "DockQ.*", "boto3.*", "transformers.*", "modelcif.*", "ihm.*", ] ignore_missing_imports = true [tool.pytest.ini_options] cache_dir = "/tmp/.common_pytest_cache" [tool.hatch.build.targets.sdist] exclude = [ "/.devcontainer", "/.github", "/.idea", "/.vscode", "/.pytest_cache", "/assets", "/downloads", "/outputs", ] [tool.hatch.build.targets.wheel] # should use packages from sdist section [project.scripts] chai = "chai_lab.main:cli"