forked from NicolasLM/spinach
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move all configs into `pyproject.toml`, switch test/packaging to use Hatch, and do all the linting with Ruff. Fix issues that Ruff turned up, and annotate/ignore the pieces that it got wrong. Fixes: Issue NicolasLM#33
- Loading branch information
Showing
22 changed files
with
140 additions
and
136 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
[build-system] | ||
requires = ["hatchling", "hatch-vcs"] | ||
build-backend = "hatchling.build" | ||
|
||
[project] | ||
name = "spinach" | ||
dynamic = ["version"] | ||
description = "Modern Redis task queue for Python 3" | ||
readme = "README.rst" | ||
license-files = { paths = ["LICENSE"] } | ||
requires-python = ">=3.8.0,<4.0.0" | ||
authors = [ | ||
{ name = "Nicolas Le Manchet", email = "nicolas@lemanchet.fr" }, | ||
] | ||
classifiers = [ | ||
"Development Status :: 4 - Beta", | ||
"Intended Audience :: Developers", | ||
"Topic :: Software Development :: Libraries", | ||
"Topic :: System :: Distributed Computing", | ||
"License :: OSI Approved :: BSD License", | ||
"Natural Language :: English", | ||
"Programming Language :: Python :: 3", | ||
"Programming Language :: Python :: 3 :: Only", | ||
"Programming Language :: Python :: 3.8", | ||
"Programming Language :: Python :: 3.9", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: 3.12", | ||
] | ||
keywords = ["task", "queue", "jobs", "redis"] | ||
urls.Source = "https://github.com/NicolasLM/spinach" | ||
|
||
dependencies = [ | ||
"redis", | ||
"blinker" | ||
] | ||
|
||
[project.optional-dependencies] | ||
tests = [ | ||
"pytest", | ||
"pytest-cov", | ||
"pytest-threadleak", | ||
"ruff", | ||
"flask", | ||
"django" | ||
] | ||
|
||
[tool.hatch.version] | ||
source = "vcs" | ||
|
||
[tool.hatch.build.hooks.vcs] | ||
version-file = "spinach/_version.py" | ||
|
||
[tool.hatch.build.targets.sdist] | ||
ignore-vcs = true | ||
include = ["/spinach", "/tests"] | ||
|
||
[tool.hatch.build.targets.wheel] | ||
packages = ["spinach"] | ||
|
||
[tool.hatch.build.targets.wheel.package-data] | ||
"spinach.brokers.redis_scripts" = [ | ||
"deregister.lua", | ||
"enqueue_job.lua", | ||
"enqueue_jobs_from_dead_broker.lua", | ||
"flush.lua", | ||
"get_jobs_from_queue.lua", | ||
"move_future_jobs.lua", | ||
"register_periodic_tasks.lua", | ||
"remove_job_from_running.lua", | ||
"set_concurrency_keys.lua", | ||
] | ||
|
||
[tool.hatch.envs.default] | ||
path = ".hatch" | ||
features = ["tests"] | ||
|
||
scripts.pep8 = ["ruff spinach tests"] | ||
|
||
scripts.py3 = [ | ||
"docker-compose -f tests/docker-compose.yml up -d", | ||
"pytest tests {args}", | ||
"docker-compose -f tests/docker-compose.yml down", | ||
] | ||
|
||
# A minimalist pytest runner for Github to use | ||
scripts.ci = ["pytest -v --cov=spinach tests {args}"] | ||
|
||
[tool.ruff.lint] | ||
select = ["B", "C9", "D", "E", "F", "S", "W"] | ||
ignore = [ | ||
"B018", # Useless expression (seems to have false-positive bugs) | ||
"S101", # Use of `assert` detected (conflicts with pytest) | ||
"D10", # Missing docstring in public function / module / etc. | ||
"D203", # 1 blank line required before class docstring | ||
"D205", # 1 blank line required between summary line and description | ||
"D213", # Multi-line docstring summary should start at the second line | ||
"D40", # First line of docstring complaints | ||
"D415", # First line should end with a period, question mark, or exclamation point | ||
] | ||
mccabe.max-complexity = 13 | ||
|
||
[tool.ruff.lint.per-file-ignores] | ||
# Aggregating symbols into a convenient location for import is good practice | ||
# for libraries, we don't care if they look unused | ||
"__init__.py" = ["F401"] | ||
|
||
[tool.coverage.run] | ||
relative_files = true | ||
include = ["spinach/*"] | ||
omit = ["spinach/_version.py"] | ||
|
||
[tool.pytest.ini_options] | ||
threadleak = true |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
from .brokers.memory import MemoryBroker | ||
from .brokers.redis import RedisBroker | ||
from .const import VERSION | ||
from .engine import Engine | ||
from .task import Tasks, Batch, RetryException, AbortException | ||
from .worker import ThreadWorkers, AsyncioWorkers | ||
|
||
__version__ = VERSION |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,3 @@ | ||
VERSION = '0.0.20' | ||
|
||
DEFAULT_QUEUE = 'spinach' | ||
DEFAULT_NAMESPACE = 'spinach' | ||
DEFAULT_MAX_RETRIES = 0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.