File: pyproject.toml

package info (click to toggle)
python-watchfiles 1.1.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 600 kB
  • sloc: python: 1,997; makefile: 86
file content (106 lines) | stat: -rw-r--r-- 3,013 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[build-system]
requires = ["maturin>=0.14.16,<2"]
build-backend = "maturin"

[project]
name = "watchfiles"
requires-python = ">=3.9"
description = "Simple, modern and high performance file watching and code reload in python."
authors = [{ name = "Samuel Colvin", email = "s@muelcolvin.com" }]
dependencies = ["anyio>=3.0.0"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
    "Intended Audience :: Developers",
    "Intended Audience :: Information Technology",
    "Intended Audience :: System Administrators",
    "License :: OSI Approved :: MIT License",
    "Operating System :: POSIX :: Linux",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: MacOS",
    "Environment :: MacOS X",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: System :: Filesystems",
    "Framework :: AnyIO",
]
dynamic = ["license", "readme", "version"]

[project.scripts]
watchfiles = "watchfiles.cli:cli"

[project.urls]
Homepage = "https://github.com/samuelcolvin/watchfiles"
Documentation = "https://watchfiles.helpmanual.io"
Funding = "https://github.com/sponsors/samuelcolvin"
Source = "https://github.com/samuelcolvin/watchfiles"
Changelog = "https://github.com/samuelcolvin/watchfiles/releases"

[dependency-groups]
dev = [
    "coverage>=7.6.10",
    "dirty-equals>=0.8.0",
    "maturin>=1.8.1",
    "pytest>=7.4.4",
    "pytest-mock>=3.14.0",
    "pytest-pretty>=1.2.0",
    "pytest-timeout>=2.3.1",
]
lint = ["mypy>=1.14.1", "ruff>=0.9.0", "trio>=0.28.0"]
docs = [
    "mdx-include>=1.4.2",
    "mkdocs>=1.6.1",
    "mkdocs-material>=9.5.49",
    "mkdocstrings[python]>=0.25.1",
]

[tool.maturin]
module-name = "watchfiles._rust_notify"
bindings = "pyo3"

[tool.pytest.ini_options]
testpaths = "tests"
log_format = "%(name)s %(levelname)s: %(message)s"
filterwarnings = "error"
timeout = 10

[tool.coverage.run]
source = ["watchfiles"]
branch = true

[tool.coverage.report]
precision = 2
exclude_lines = [
    "pragma: no cover",
    "raise NotImplementedError",
    "raise NotImplemented",
    "if TYPE_CHECKING:",
    "@overload",
]
omit = ["*/__main__.py"]

[tool.ruff]
line-length = 120
target-version = "py38"
lint.mccabe = { max-complexity = 14 }
lint.extend-select = ["Q", "RUF100", "C90", "UP", "I"]
lint.flake8-quotes = { inline-quotes = "single", multiline-quotes = "double" }
lint.pydocstyle = { convention = "google" }
format.quote-style = "single"

[tool.mypy]
strict = true
warn_return_any = false
show_error_codes = true

[[tool.mypy.overrides]]
module = ["trio.*"]
ignore_missing_imports = true