Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,18 @@ dmypy.json

# Pyre type checker
.pyre/

# Sublime Text
*.sublime-workspace
*.sublime-project

# IDE
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# Ruff
.ruff_cache/
Binary file not shown.
Binary file removed libs/coverage-7.2.3-cp38-cp38-macosx_11_0_arm64.whl
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed libs/coverage-7.2.3-cp38-cp38-win32.whl
Binary file not shown.
Binary file removed libs/coverage-7.2.3-cp38-cp38-win_amd64.whl
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added libs/coverage-7.5.4-cp38-cp38-win32.whl
Binary file not shown.
Binary file added libs/coverage-7.5.4-cp38-cp38-win_amd64.whl
Binary file not shown.
Binary file removed libs/packaging-23.1-py3-none-any.whl
Binary file not shown.
Binary file removed libs/watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Binary file not shown.
Binary file removed libs/watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl
Binary file not shown.
Binary file not shown.
Binary file removed libs/watchdog-3.0.0-py3-none-manylinux2014_i686.whl
Binary file not shown.
Binary file not shown.
Binary file removed libs/watchdog-3.0.0-py3-none-win32.whl
Binary file not shown.
Binary file removed libs/watchdog-3.0.0-py3-none-win_amd64.whl
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added libs/watchdog-4.0.2-py3-none-win32.whl
Binary file not shown.
Binary file added libs/watchdog-4.0.2-py3-none-win_amd64.whl
Binary file not shown.
68 changes: 62 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,68 @@ dev = [
"pre-commit",
"ruff",
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"pytest-mock>=3.0.0",
# Runtime dependencies needed for testing
# (bundled as wheels in libs/ for Sublime Text runtime)
"coverage>=7.2.0",
"watchdog>=3.0.0",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.ruff]
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
select = ["E", "F", "I", "B", "N", "A", "PTH"]
# Target Python 3.8 for Sublime Text compatibility
target-version = "py38"

# Exclude common directories
exclude = [
".git",
".pytest_cache",
".ruff_cache",
"__pycache__",
"libs",
"htmlcov",
]

[tool.ruff.lint]
# Extend default rules with additional checks
extend-select = ["E", "F", "I", "B", "N", "A", "PTH", "RUF", "ARG"]

[tool.ruff.lint.per-file-ignores]
# Test files can have unused arguments (fixtures) and unused imports (for mocking)
"tests/**/*.py" = ["ARG"]
"tests/mocks/*.py" = ["ARG"]

[tool.ruff.format]
# Format code to be compatible with Python 3.8
quote-style = "double"
indent-style = "space"

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"--verbose",
"--cov=.",
"--cov-report=term-missing",
"--cov-report=html",
]

[tool.coverage.run]
source = ["."]
omit = [
"tests/*",
"libs/*",
"*/__pycache__/*",
]

[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise AssertionError",
"raise NotImplementedError",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]
Loading
Loading