Skip to content
Closed
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
10 changes: 10 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[flake8]
max-line-length = 120
# Enable flake8-mutable
enable-extensions = M511
# W503 line break before binary operator. Black causes this error
# E203 whitespace before ':'
# E231 missing whitespace after ','. Black causes this error but seems to be right (see pep8)
# E501 line too long
ignore = W503, E203, E231, E501
jobs = 4
72 changes: 71 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,76 @@
[project]
name = "chartreuse"
description="Helper for Alembic migrations within Kubernetes."
dynamic = ["version"]
authors = [{ name = "wiremind", email = "dev@wiremind.io" }]
license="LGPL-3.0-or-later"
urls = { github = "https://github.com/wiremind/chartreuse"}
scripts = {chartreuse-upgrade = "chartreuse.chartreuse_upgrade:main"}
requires-python = ">=3.11.0"

dependencies = [
"alembic",
"psycopg2",
"wiremind-kubernetes~=7.0",
]

[build-system]
requires = ["setuptools>=71.1"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
include-package-data = true
zip-safe = true
[tool.setuptools.dynamic]
version = { file = "VERSION" }
[tool.setuptools.packages.find]
where = ["src"]
exclude = ["*.tests", "*.tests.*", "tests.*", "tests"]

[project.optional-dependencies]
test = [
"mock",
"pytest",
"pytest-mock",
]
mypy = [
"mypy",
]
dev = [
"black",
"flake8",
"flake8-mutable",
"pip-tools",

"mock",
"pytest",
"pytest-mock",

"mypy"
]

[tool.black]
line-length = 120
target-version = ['py37']
target-version = ['py311']

[tool.isort]
line_length = 120

[tool.mypy]
python_version = "3.11"
ignore_missing_imports = true
check_untyped_defs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
no_implicit_optional = true
show_error_codes = true
files = [ "src", "example/alembic"]

[tool.pytest.ini_options]
log_level = "INFO"
# Deterministic ordering for tests; useful for pytest-xdist.
env = ["PYTHONHASHSEED=0"]
filterwarnings = ["ignore::pytest.PytestUnknownMarkWarning"]
10 changes: 4 additions & 6 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --no-emit-index-url --output-file=requirements.txt pyproject.toml
#
# This file was autogenerated by uv via the following command:
# uv pip compile --no-emit-index-url --output-file=requirements.txt pyproject.toml
alembic==1.13.2
# via chartreuse (pyproject.toml)
cachetools==5.4.0
Expand All @@ -16,6 +12,8 @@ charset-normalizer==3.3.2
# via requests
google-auth==2.32.0
# via kubernetes
greenlet==3.2.4
# via sqlalchemy
idna==3.7
# via requests
kubernetes==30.1.0
Expand Down
56 changes: 0 additions & 56 deletions setup.py

This file was deleted.

Loading