2 requires = ["hatchling"]
3 build-backend = "hatchling.build"
8 { name = "Anish Athalye", email = "me@anishathalye.com" },
10 description = "A tool that bootstraps your dotfiles"
12 requires-python = ">=3.7"
14 "Development Status :: 5 - Production/Stable",
15 "Intended Audience :: Developers",
16 "License :: OSI Approved :: MIT License",
17 "Programming Language :: Python :: 3",
20 keywords = ["dotfiles"]
27 dotbot = "dotbot.cli:main"
30 homepage = "https://github.com/anishathalye/dotbot"
31 repository = "https://github.com/anishathalye/dotbot.git"
32 issues = "https://github.com/anishathalye/dotbot/issues"
35 path = "src/dotbot/__init__.py"
37 [tool.hatch.build.targets.sdist]
42 [[tool.hatch.envs.hatch-test.matrix]]
43 python = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "pypy3.9", "pypy3.10"]
45 # the default configuration for the hatch-test environment
46 # (https://hatch.pypa.io/latest/config/internal/testing/#dependencies) uses a
47 # version of coverage[toml] that is incompatible with Python 3.7, so we override
48 # the test dependencies for Python 3.7 here
49 [tool.hatch.envs.hatch-test.overrides]
50 name."^py3\\.7$".set-dependencies = [
51 "coverage-enable-subprocess",
56 "pytest-rerunfailures",
57 "pytest-xdist[psutil]",
63 "*/dotfiles/*" # the tests create some .py files in a "dotfiles" directory
66 [tool.hatch.envs.types]
67 extra-dependencies = [
72 [tool.hatch.envs.types.scripts]
73 check = "mypy --strict --install-types --non-interactive {args:src tests}"
75 [tool.hatch.envs.coverage]
81 [tool.hatch.envs.coverage.scripts]
82 html = "coverage html"