AURORA-1833: явно ставить greenlet в dev-окружении #225
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/209-aurora-1833-greenlet-dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #209
Задача: AURORA-1833 (Jira). В
api/requirements-dev.txtнет greenlet: SQLAlchemy 2.0 ставит его только через extraasyncio. На macOS arm64 и Python >= 3.13 greenlet не ставится, и async-движок падает с «the greenlet library is required».Что сделано
api/requirements-dev.txt:sqlalchemy>=2.0.32,<2.1->sqlalchemy[asyncio]>=2.0.32,<2.1(штатный extra, тянет greenlet на любой платформе).api/tests/unit/test_runtime_deps.py: тестassert sqlalchemy.util.concurrency.have_greenletс понятным сообщением.api/requirements.txtне менялся.Проверка установки (arm64, Python 3.13.12, SQLAlchemy 2.0.55)
sqlalchemyбез extra):have_greenlet=False,greenletне установлен. Новый тест падает.pip install -r api/requirements-dev.txt):have_greenlet=True, greenlet 3.5.6. Новый тест проходит.Тесты
pytest tests/unit, без БД): 59 passed, 2 failed. Оба падения входят в известные 3 падения базовой веткиtest:test_export_full_form_ignores_non_applicable_params_for_other_sheets,test_export_form_payload_forwards_ignore_flag.--init_dbна БДdfip_1833(PostgreSQL 15.12) не проходит: миграция0012_del_project.sqlпадает наsubquery in FROM must have an alias(строка 27, подзапрос без алиаса; PG 15 такое не принимает). Миграция существует в базовой веткеtestи к этой правке не относится. Полный набор не запущен, решение по 0012 вне этой задачи.Проверить руками
Не требуется (правка зависимостей и тест).
Замер до/после
Не применимо (зависимость, не производительность).
Тех. долг (для владельца шаблона raisa)
api/requirements.txtне тронут. Prod сейчас получает greenlet неявно (образfastapi-template:1.3.0, вероятно x86_64 и Python < 3.13). Обновление базового образа до Python 3.13 молча сломает prod. Тот же extrasqlalchemy[asyncio]в основном файле стоит согласовать с владельцем шаблона raisa.Rulings I made
нет
🤖 Generated with Claude Code
Полный прогон pytest (контроллер, 28.10): PostgreSQL 16, пустая БД, --init_db — 201 passed, 4 skipped, 3 failed. Падения исходные для test (test_backend_calls_form3_add_project_and_add_line_functions и два теста test_export_service_query_params), новых нет. На PostgreSQL 15.12 полный прогон станет возможен после AURORA-1922 (PR #221).