-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathrequirements-dev.txt
More file actions
52 lines (47 loc) · 2.24 KB
/
Copy pathrequirements-dev.txt
File metadata and controls
52 lines (47 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# CIRIS Agent Development Dependencies
# Last updated: 2026-04-19
# Install with: pip install -r requirements.txt -r requirements-dev.txt
# Testing Framework
#
# THE TEST HARNESS IS PINNED EXACTLY. These five decide whether a green run
# means anything, and they were floating.
#
# 2026-08-02: chasing the intermittent shard hang, local reproduction was run
# against pytest 7.4.4 while CI had resolved to 9.1.1 — two major versions
# apart, across precisely the subsystems involved (capture, faulthandler, hook
# ordering) — and pytest-rerunfailures had floated 16.1 -> 16.4 under a
# `>=16.1,<17` range. Hours of "cannot reproduce" were an artifact of testing
# different software than CI ran.
#
# That is the same defect that fired the shard-4 mint tripwire hours earlier,
# where ciris-server floated 0.5.151 -> 0.5.152 mid-run. A floating harness
# means a green run is not reproducible and carries no information about the
# next one — which matters more than any single flake.
#
# Bump these deliberately, together, and re-run the suite. Never widen one to
# make a red shard green.
pytest==9.1.1
pytest-asyncio>=1.0.0,<2.0.0 # 1.x required for pytest 9.x compatibility
pytest-cov>=4.1.0,<5.0.0
pytest-timeout==2.4.0
pytest-xdist==3.8.0
pytest-rerunfailures==16.4
execnet==2.1.2 # xdist's transport — pinned for the same reason; the shard
# hang is a controller/worker handshake deadlock inside this library, so its
# version must not drift silently while we are still characterising it.
pytest-mock>=3.12.0,<4.0.0 # For mocker fixture
hypothesis>=6.0.0,<7.0.0
# Type Checking
mypy>=1.8.0,<2.0.0
types-psutil>=5.9.0,<6.0.0
types-PyYAML>=6.0.0,<7.0.0
types-aiofiles>=23.0.0,<24.0.0
instructor>=1.11.3,<2.0.0 # Needed for mypy type checking
# Code Analysis & Quality (for mypy toolkit)
astunparse>=1.6.3,<2.0.0
# QA Testing Tools
websocket-client>=1.6.0,<2.0.0 # For QA runner WebSocket testing
psycopg2-binary>=2.9.0,<3.0.0 # Dev-only: qa_runner + tools/database manage Postgres test instances. Production code routes through ciris-persist (sqlx); psycopg2 is NOT shipped with the agent.
# Network Discovery (for testing mDNS features)
zeroconf>=0.39.0,<1.0.0 # 0.39.x for Python 3.10, 0.80+ for Python 3.11+
pytest-split>=0.8.0 # Test sharding for CI parallelization