Update badge
[dotbot.git] / pyproject.toml
blob004c83970966734de4f316e6d06f71d7c0d41d3f
1 [build-system]
2 requires = ["hatchling"]
3 build-backend = "hatchling.build"
5 [project]
6 name = "dotbot"
7 authors = [
8   { name = "Anish Athalye", email = "me@anishathalye.com" },
10 description = "A tool that bootstraps your dotfiles"
11 readme = "README.md"
12 requires-python = ">=3.7"
13 classifiers = [
14   "Development Status :: 5 - Production/Stable",
15   "Intended Audience :: Developers",
16   "License :: OSI Approved :: MIT License",
17   "Programming Language :: Python :: 3",
18   "Topic :: Utilities",
20 keywords = ["dotfiles"]
21 dynamic = ["version"]
22 dependencies = [
23   "PyYAML>=6.0.1,<7",
26 [project.scripts]
27 dotbot = "dotbot.cli:main"
29 [project.urls]
30 homepage = "https://github.com/anishathalye/dotbot"
31 repository = "https://github.com/anishathalye/dotbot.git"
32 issues = "https://github.com/anishathalye/dotbot/issues"
34 [tool.hatch.version]
35 path = "src/dotbot/__init__.py"
37 [tool.hatch.build.targets.sdist]
38 exclude = [
39   "lib/",
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",
52   "coverage[toml]",
53   "pytest",
54   "pytest-mock",
55   "pytest-randomly",
56   "pytest-rerunfailures",
57   "pytest-xdist[psutil]",
60 [tool.coverage.run]
61 omit = [
62   "*/tests/*",
63   "*/dotfiles/*" # the tests create some .py files in a "dotfiles" directory
66 [tool.hatch.envs.types]
67 extra-dependencies = [
68   "mypy>=1.0.0",
69   "pytest",
72 [tool.hatch.envs.types.scripts]
73 check = "mypy --strict --install-types --non-interactive {args:src tests}"
75 [tool.hatch.envs.coverage]
76 detached = true
77 dependencies = [
78   "coverage",
81 [tool.hatch.envs.coverage.scripts]
82 html = "coverage html"
83 xml = "coverage xml"
85 [tool.ruff]
86 extend-exclude = [
87   "lib/*.py"
89 lint.ignore = [
90   "FA100",