[Packaging] Прямые зависимости requests/urllib3 не объявлены в pyproject.toml #66

Closed
opened 2026-07-16 18:25:04 +07:00 by artem.kokos · 0 comments
Owner

Проблема

client.py напрямую импортирует requests и urllib3:

# redmine_reporter/client.py:4
import requests

# redmine_reporter/client.py:8
from urllib3.util.retry import Retry

Но в pyproject.toml (строки 21-28) объявлены только: python-redmine, tabulate, python-dotenv, odfpy, openpyxl, pyyaml. Пакеты requests и urllib3 приходят транзитивно (python-redmine → requests → urllib3).

Риски:

  • если python-redmine изменит своё дерево зависимостей, установка пакета сломается с ImportError в рантайме;
  • нет явных нижних границ версий для API, который проект использует напрямую (requests.adapters.HTTPAdapter, urllib3.util.retry.Retry; параметр allowed_methods у Retry требует urllib3 >= 1.26).

Рекомендации

  1. Добавить в dependencies: requests>=2.31 и urllib3>=1.26 (границы уточнить по фактически используемому API и поддерживаемым версиям Python).
  2. Проверить pip install . в чистом venv и smoke-запуск CLI.

Связанные места

  • redmine_reporter/client.py:4-8
  • pyproject.toml:21-28

Критерии приёмки

  • requests и urllib3 объявлены в dependencies с корректными нижними границами.
  • Установка в чистом окружении и запуск CLI проходят успешно.
## Проблема `client.py` напрямую импортирует `requests` и `urllib3`: ```python # redmine_reporter/client.py:4 import requests # redmine_reporter/client.py:8 from urllib3.util.retry import Retry ``` Но в `pyproject.toml` (строки 21-28) объявлены только: `python-redmine`, `tabulate`, `python-dotenv`, `odfpy`, `openpyxl`, `pyyaml`. Пакеты `requests` и `urllib3` приходят транзитивно (python-redmine → requests → urllib3). Риски: - если python-redmine изменит своё дерево зависимостей, установка пакета сломается с `ImportError` в рантайме; - нет явных нижних границ версий для API, который проект использует напрямую (`requests.adapters.HTTPAdapter`, `urllib3.util.retry.Retry`; параметр `allowed_methods` у `Retry` требует urllib3 >= 1.26). ## Рекомендации 1. Добавить в `dependencies`: `requests>=2.31` и `urllib3>=1.26` (границы уточнить по фактически используемому API и поддерживаемым версиям Python). 2. Проверить `pip install .` в чистом venv и smoke-запуск CLI. ## Связанные места - `redmine_reporter/client.py:4-8` - `pyproject.toml:21-28` ## Критерии приёмки - [ ] `requests` и `urllib3` объявлены в `dependencies` с корректными нижними границами. - [ ] Установка в чистом окружении и запуск CLI проходят успешно.
artem.kokos added the packaging label 2026-07-16 18:25:04 +07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: artem.kokos/redmine-reporter#66