📦 deps: Migrate from Pipfile/Pipenv to Poetry with `pyproject.toml`
Replace Pipenv with Poetry for dependency management. Poetry provides
deterministic dependency resolution via `poetry.lock`, clean separation
of dependency groups (production, dev, docs), and a standard PEP 517
build backend (`poetry-core`) that also works with plain `pip`.
Migration details:
- Create `pyproject.toml` with all dependencies from `Pipfile`,
organized into `[tool.poetry.dependencies]` (production),
`[tool.poetry.group.dev.dependencies]` (testing/linting), and
`[tool.poetry.group.docs.dependencies]` (Sphinx)
- Move pytest config from `setup.cfg` `[tool:pytest]` to
`pyproject.toml` `[tool.pytest.ini_options]`
- Move `ruff` config from `setup.cfg` `[ruff]` to `pyproject.toml`
`[tool.ruff]`
- Delete `Pipfile`, `Pipfile.lock`, and `setup.cfg`
Security fix:
- Replace `yaml.full_load()` with `yaml.safe_load()` in `base.py` and
`auth.py`. `full_load` can deserialize arbitrary Python objects from
YAML (including `!!python/tuple`), which is a code execution risk.
Updated `config.yml.example` to use plain YAML lists instead of
`!!python/tuple` tags.
Sets project version to 1.0.0 (semver) to mark the modernized codebase
as a fresh starting point.
Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@fedoraproject.org>
2026-03-29 01:43:07 -04:00
|
|
|
[tool.poetry]
|
|
|
|
|
name = "fedora-happiness-packets"
|
|
|
|
|
version = "1.0.0"
|
|
|
|
|
description = "Send anonymous appreciation messages to Fedora community members"
|
|
|
|
|
license = "Apache-2.0"
|
|
|
|
|
readme = "README.md"
|
|
|
|
|
repository = "https://forge.fedoraproject.org/commops/fedora-happiness-packets"
|
|
|
|
|
|
|
|
|
|
[tool.poetry.dependencies]
|
2026-05-10 15:58:03 +02:00
|
|
|
python = ">=3.12,<3.15"
|
📦 deps: Migrate from Pipfile/Pipenv to Poetry with `pyproject.toml`
Replace Pipenv with Poetry for dependency management. Poetry provides
deterministic dependency resolution via `poetry.lock`, clean separation
of dependency groups (production, dev, docs), and a standard PEP 517
build backend (`poetry-core`) that also works with plain `pip`.
Migration details:
- Create `pyproject.toml` with all dependencies from `Pipfile`,
organized into `[tool.poetry.dependencies]` (production),
`[tool.poetry.group.dev.dependencies]` (testing/linting), and
`[tool.poetry.group.docs.dependencies]` (Sphinx)
- Move pytest config from `setup.cfg` `[tool:pytest]` to
`pyproject.toml` `[tool.pytest.ini_options]`
- Move `ruff` config from `setup.cfg` `[ruff]` to `pyproject.toml`
`[tool.ruff]`
- Delete `Pipfile`, `Pipfile.lock`, and `setup.cfg`
Security fix:
- Replace `yaml.full_load()` with `yaml.safe_load()` in `base.py` and
`auth.py`. `full_load` can deserialize arbitrary Python objects from
YAML (including `!!python/tuple`), which is a code execution risk.
Updated `config.yml.example` to use plain YAML lists instead of
`!!python/tuple` tags.
Sets project version to 1.0.0 (semver) to mark the modernized codebase
as a fresh starting point.
Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@fedoraproject.org>
2026-03-29 01:43:07 -04:00
|
|
|
Django = ">=5.1,<5.2"
|
|
|
|
|
django-extensions = ">=3.2"
|
|
|
|
|
django-crispy-forms = ">=2.0"
|
|
|
|
|
crispy-bootstrap5 = ">=2024.2"
|
|
|
|
|
django-model-utils = ">=4.3"
|
|
|
|
|
python-dateutil = ">=2.8"
|
|
|
|
|
factory-boy = ">=3.2"
|
|
|
|
|
mozilla-django-oidc = ">=4.0"
|
|
|
|
|
fedora-messaging = ">=1.4.0"
|
|
|
|
|
happinesspacket-schema = ">=1.0.0"
|
|
|
|
|
celery = {version = ">=5.3,<5.5", extras = ["redis"]}
|
|
|
|
|
django-celery-email = ">=3.0"
|
|
|
|
|
psycopg2-binary = ">=2.9"
|
|
|
|
|
nh3 = ">=0.2.15"
|
|
|
|
|
Whoosh = "==2.7.4"
|
|
|
|
|
django-haystack = ">=3.2,<3.4"
|
|
|
|
|
python-fedora = "==0.10.0"
|
2026-05-10 12:47:01 -04:00
|
|
|
django-ckeditor-5 = ">=0.2.15"
|
📦 deps: Migrate from Pipfile/Pipenv to Poetry with `pyproject.toml`
Replace Pipenv with Poetry for dependency management. Poetry provides
deterministic dependency resolution via `poetry.lock`, clean separation
of dependency groups (production, dev, docs), and a standard PEP 517
build backend (`poetry-core`) that also works with plain `pip`.
Migration details:
- Create `pyproject.toml` with all dependencies from `Pipfile`,
organized into `[tool.poetry.dependencies]` (production),
`[tool.poetry.group.dev.dependencies]` (testing/linting), and
`[tool.poetry.group.docs.dependencies]` (Sphinx)
- Move pytest config from `setup.cfg` `[tool:pytest]` to
`pyproject.toml` `[tool.pytest.ini_options]`
- Move `ruff` config from `setup.cfg` `[ruff]` to `pyproject.toml`
`[tool.ruff]`
- Delete `Pipfile`, `Pipfile.lock`, and `setup.cfg`
Security fix:
- Replace `yaml.full_load()` with `yaml.safe_load()` in `base.py` and
`auth.py`. `full_load` can deserialize arbitrary Python objects from
YAML (including `!!python/tuple`), which is a code execution risk.
Updated `config.yml.example` to use plain YAML lists instead of
`!!python/tuple` tags.
Sets project version to 1.0.0 (semver) to mark the modernized codebase
as a fresh starting point.
Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@fedoraproject.org>
2026-03-29 01:43:07 -04:00
|
|
|
gunicorn = ">=22.0"
|
|
|
|
|
|
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
|
|
|
coverage = "*"
|
|
|
|
|
django-debug-toolbar = "*"
|
|
|
|
|
pytest = "*"
|
|
|
|
|
pytest-cov = "*"
|
|
|
|
|
pytest-django = "*"
|
|
|
|
|
pytest-mock = "*"
|
|
|
|
|
pytest-sugar = "*"
|
|
|
|
|
ruff = "*"
|
|
|
|
|
selenium = "*"
|
|
|
|
|
|
|
|
|
|
[tool.poetry.group.docs.dependencies]
|
|
|
|
|
sphinx = "*"
|
|
|
|
|
sphinx-rtd-theme = "*"
|
|
|
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
|
DJANGO_SETTINGS_MODULE = "happinesspackets.settings.tsting"
|
|
|
|
|
addopts = [
|
|
|
|
|
"--cov=happinesspackets",
|
|
|
|
|
"--cov-report=html",
|
|
|
|
|
"--cov-report=term",
|
|
|
|
|
"--no-cov-on-fail",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[tool.ruff]
|
|
|
|
|
exclude = ["happinesspackets/*/migrations/*"]
|
|
|
|
|
|
|
|
|
|
[tool.ruff.lint]
|
2026-05-10 16:58:30 +02:00
|
|
|
ignore = ["E501", "F405"]
|
📦 deps: Migrate from Pipfile/Pipenv to Poetry with `pyproject.toml`
Replace Pipenv with Poetry for dependency management. Poetry provides
deterministic dependency resolution via `poetry.lock`, clean separation
of dependency groups (production, dev, docs), and a standard PEP 517
build backend (`poetry-core`) that also works with plain `pip`.
Migration details:
- Create `pyproject.toml` with all dependencies from `Pipfile`,
organized into `[tool.poetry.dependencies]` (production),
`[tool.poetry.group.dev.dependencies]` (testing/linting), and
`[tool.poetry.group.docs.dependencies]` (Sphinx)
- Move pytest config from `setup.cfg` `[tool:pytest]` to
`pyproject.toml` `[tool.pytest.ini_options]`
- Move `ruff` config from `setup.cfg` `[ruff]` to `pyproject.toml`
`[tool.ruff]`
- Delete `Pipfile`, `Pipfile.lock`, and `setup.cfg`
Security fix:
- Replace `yaml.full_load()` with `yaml.safe_load()` in `base.py` and
`auth.py`. `full_load` can deserialize arbitrary Python objects from
YAML (including `!!python/tuple`), which is a code execution risk.
Updated `config.yml.example` to use plain YAML lists instead of
`!!python/tuple` tags.
Sets project version to 1.0.0 (semver) to mark the modernized codebase
as a fresh starting point.
Assisted-by: Claude Opus 4.6 (1M context)
Signed-off-by: Justin Wheeler <jwheel@fedoraproject.org>
2026-03-29 01:43:07 -04:00
|
|
|
|
|
|
|
|
[build-system]
|
|
|
|
|
requires = ["poetry-core"]
|
|
|
|
|
build-backend = "poetry.core.masonry.api"
|