Files
meshcore-bot/requirements.txt
T
agessaman 7f9c7eaa5f build: widen ruff scope, raise coverage floor, pin meshcore-cli
ruff now checks the whole tree in CI and in `make lint` instead of only
modules/ and tests/. scripts/ and the root-level scripts ship to users
too and were going unlinted; the wider scope flags nothing today, which
makes now the cheap time to widen it.

Coverage floor raised 35 to 50 against an actual 53.21%.

meshcore-cli was the only dependency with no version floor. It is still
required — meshcore_cli.next_cmd backs contact and channel operations
with no equivalent in the meshcore library — so it is pinned rather than
dropped, and the reason is recorded next to it.

Removes the dead [tool.pytest.ini_options] block: pytest.ini takes
precedence, so those settings were never in effect and could only drift
from the ones that are.
2026-08-07 13:45:38 -07:00

49 lines
1.4 KiB
Plaintext

# Runtime dependencies — keep in sync with pyproject.toml [project.dependencies]
pyserial>=3.5
bleak>=0.20.0
asyncio-mqtt>=0.11.0
configparser>=5.3.0
python-dateutil>=2.8.2
apscheduler>=3.10.0
colorlog>=6.7.0
requests>=2.31.0
urllib3>=2.0.0
pyephem>=4.1.4
geopy>=2.3.0
maidenhead>=1.4.0
pytz>=2023.3
aiohttp>=3.8.0
# 2.3.8+ is required, not merely preferred: send_node_discover_req / req_regions_sync
# (zero-hop neighbour discovery) and the bounded, serialised BLE write both landed there.
meshcore>=2.3.8
openmeteo-requests>=1.7.2
requests-cache>=1.1.1
retry-requests>=1.0.0
flask>=2.3.0
flask-socketio>=5.3.0
flask-compress>=1.14
# Still required alongside the meshcore library: `meshcore_cli.next_cmd` backs the
# contact and channel operations (add/remove contact, discover_companion_contacts,
# set_manual_add_contacts, get_channel) that meshcore.commands does not expose.
meshcore-cli>=1.4.0
feedparser>=6.0.10
paho-mqtt>=1.6.0
cryptography>=41.0.0
pynacl>=1.5.0
aiosqlite>=0.19.0
# Optional: profanity filtering (pip install meshcore-bot[profanity])
# better-profanity>=0.7.0
# unidecode>=1.3.0
# Optional: improved geocoding accuracy (pip install meshcore-bot[geo])
# pycountry>=23.12.0
# us>=2.0.0
# Optional: automatic language detection for multilingual replies
# (pip install meshcore-bot[lang]); the keyword detector works without it
# langdetect>=1.0.9
# Testing dependencies live in pyproject extras:
# pip install -e ".[test]"