Unleash holds flag state; it does not hold the list of flags. REGISTRY is that list, because the SDK evaluates an unknown flag to False and without a registry that is an undeclared False — indistinguishable from a typo in a flag name. Fail-closed throughout, and never raises: an unset UNLEASH_URL, an unreachable server, a client that throws, an undeclared name — all False. A flag layer that can 500 a request path or stop the API booting is worse than one that is switched off. Every flag defaults to False, with no per-flag override, because a flag that defaults on is a kill switch and this is deliberately not one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015mWQnpye9F299NVRCCSRvj
16 lines
280 B
Plaintext
16 lines
280 B
Plaintext
fastapi==0.109.0
|
|
uvicorn[standard]==0.27.0
|
|
pandas==2.1.4
|
|
python-multipart==0.0.6
|
|
aiofiles==23.2.1
|
|
pydantic-settings==2.1.0
|
|
requests==2.31.0
|
|
sqlalchemy==2.0.25
|
|
psycopg2-binary==2.9.9
|
|
alembic==1.13.1
|
|
slowapi==0.1.9
|
|
secure==0.3.0
|
|
typesense==0.21.0
|
|
numpy==1.26.4
|
|
UnleashClient==6.0.1
|