SQLAlchemy не объявляет greenlet без extra asyncio. На arm64 (macOS) и на Python >= 3.13 greenlet не ставится, и async-движок падает с "the greenlet library is required". Тест фиксирует наличие greenlet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 lines
696 B
Python
12 lines
696 B
Python
import sqlalchemy.util.concurrency as concurrency
|
||
|
||
|
||
def test_greenlet_is_installed_for_async_sqlalchemy():
|
||
# Async engine (create_async_engine + run_sync в alembic/env.py) требует greenlet.
|
||
# SQLAlchemy не ставит его сам на arm64 и на Python >= 3.13, поэтому зависимость
|
||
# объявлена явно через extra sqlalchemy[asyncio] в requirements-dev.txt.
|
||
assert concurrency.have_greenlet, (
|
||
"greenlet не установлен: async-движок SQLAlchemy не будет работать. "
|
||
"Установите зависимости через api/requirements-dev.txt (extra sqlalchemy[asyncio])."
|
||
)
|