netx/requirements.txt
oliver 19ab1a64a1 Replace pandas with a small openpyxl/csv reader for imports.
pandas + numpy were ~60MB of the shipped venv for three call sites (alarm
Excel import, managed-NE import, import template). netx_api/tabular.py
reads/writes xlsx and csv and parses spreadsheet timestamps.

Checked against the pandas version on the same inputs: timestamp parsing
identical for 24 formats, managed-NE csv/xlsx import, stored rows and both
templates identical. Differences, all fixes:
- alarm codes in mixed text/number columns are "1001", not "1001.0"
- error row numbers are the real sheet rows (blank rows no longer shift them)
- GBK-encoded CSVs (Chinese Excel "Save as CSV") import instead of failing
- "2024年1月2日 03:04:05" style timestamps parse

Also: conftest compares parsed DB URLs (newer SQLAlchemy renders "C:" as
"C%3A").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 22:15:30 +08:00

23 lines
402 B
Text

fastapi>=0.115.0
uvicorn>=0.30.0
websockets>=12.0
httpx>=0.27.0
sqlalchemy>=2.0.0
psycopg[binary]>=3.2.0
openpyxl>=3.1.0
PyYAML>=6.0.0
pydantic>=2.8.0
pydantic-settings>=2.3.0
python-multipart>=0.0.9
websocket-client>=1.8.0
cryptography>=42.0.0
netmiko>=4.3.0
ntc-templates>=6.0.0
textfsm>=1.1.0
ntc-templates>=6.0.0
textfsm>=1.1.0
bcrypt>=4.1.0
PyJWT>=2.8.0
alembic>=1.13.0
psutil>=5.9.0
redis>=5.0.0