Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 1 addition & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@ body:
label: Python version
description: What version of Python are you using?
options:
- Python 3.9 or lower
- Python 3.10
- Python 3.11
- Python 3.11 or lower
- Python 3.12
- Python 3.13
- Python 3.14
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/code-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
python-version: [ "3.11", "3.12", "3.13", "3.14" ]
postgres-version: [ "16", "17", "18" ]
fail-fast: true
services:
Expand Down
18 changes: 4 additions & 14 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,24 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v4.3.0
rev: v4.4.0
hooks:
- id: conventional-pre-commit
stages: [commit-msg]

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
- repo: builtin
hooks:
- id: trailing-whitespace
- id: mixed-line-ending
- id: check-case-conflict
- id: check-ast
- id: check-toml
- id: check-yaml
- id: check-added-large-files
exclude: uv.lock
- id: end-of-file-fixer

- repo: https://github.com/crate-ci/typos
rev: v1.40.0
rev: v1.50.1
hooks:
- id: typos

Expand All @@ -33,6 +31,7 @@ repos:
'--exclude-lines', 'look_in_vault',
'--exclude-lines', 'taskiq_postgres',
'--exclude-lines', 'postgresql://postgres:postgres@localhost:5432/postgres',
'--exclude-lines', 'postgres://user:password@localhost:5432/mydb',
]

- repo: local
Expand All @@ -55,15 +54,6 @@ repos:
verbose: true
pass_filenames: false

- id: bandit
name: bandit
entry: uv run --active --frozen bandit -c pyproject.toml -r src
language: python
types: [python]
require_serial: true
verbose: true
pass_filenames: false

- id: zizmor
name: zizmor
language: python
Expand Down
38 changes: 19 additions & 19 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand All @@ -31,9 +30,9 @@ keywords = ["taskiq", "tasks", "distributed", "async", "postgresql"]
authors = [
{name = "Anfimov Dima", email = "lovesolaristics@gmail.com"}
]
requires-python = ">=3.10,<3.15"
requires-python = ">=3.11,<3.15"
dependencies = [
"taskiq>=0.12.0",
"taskiq>=0.12.6",
]

[project.urls]
Expand All @@ -48,46 +47,45 @@ asyncpg = [
"asyncpg>=0.31.0",
]
psqlpy = [
"psqlpy>=0.11.11",
"psqlpy>=0.12.1",
]
psycopg = [
"psycopg[binary,pool]>=3.3.2",
"psycopg[binary,pool]>=3.3.5",
]

[dependency-groups]
dev = [
{include-group = "lint"},
{include-group = "test"},
{include-group = "docs"},
"prek>=0.2.19",
"ty>=0.0.34",
"prek>=0.5.2",
]
lint = [
"ruff>=0.14.8",
"bandit>=1.9.2",
"codespell>=2.4.1",
"zizmor>=1.18.0",
"ruff>=0.16.7",
"codespell>=2.4.3",
"zizmor>=1.30.1",
# type check
"mypy>=1.19.0",
"ty>=0.0.80",
"mypy>=2.3.1",
"asyncpg-stubs>=0.31.0",
]
test = [
"polyfactory>=3.1.0",
"pytest>=9.0.2",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.0.0",
"polyfactory>=3.3.0",
"pytest>=9.1.1",
"pytest-asyncio>=1.4.0",
"pytest-cov>=7.1.0",
# for database in tests
"sqlalchemy-utils>=0.42.1",
# for faster asyncio loop in tests
"uvloop>=0.22.1",
]
docs = [
"mkdocs-material>=9.7.0",
"mkdocstrings-python>=2.0.1",
"mkdocs-material>=9.7.7",
"mkdocstrings-python>=2.0.8",
]

[build-system]
requires = ["uv_build>=0.11,<0.12"]
requires = ["uv_build>=0.12,<0.13"]
build-backend = "uv_build"

[tool.uv.build-backend]
Expand Down Expand Up @@ -148,6 +146,8 @@ ignore = [

"EM101",
"TRY003",

"CPY001", # copyright notice
]

[tool.ruff.lint.per-file-ignores]
Expand Down
9 changes: 4 additions & 5 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import pytest
import uvloop


@pytest.fixture(scope="session")
def event_loop_policy():
# Read for more details: https://pytest-asyncio.readthedocs.io/en/stable/how-to-guides/uvloop.html
return uvloop.EventLoopPolicy()
def pytest_asyncio_loop_factories(config, item): # noqa: ARG001
return {
"uvloop": uvloop.new_event_loop,
}
Loading
Loading