forked from Checkmk/checkmk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Pipfile
192 lines (189 loc) · 10.2 KB
/
Pipfile
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[dev-packages]
3to2 = "*" # used for converting agent plugins from py3 to 2
astroid = "*" # used by testlib.pylint_checker_localization
autoflake = "*" # used to remove unused import statements
azure-mgmt-resource = "*" # used by the release process to publish the azure image to the marketplace
azure-mgmt-compute = "*" # used by the release process to add a new image version
bandit = "*" # used by test/Makefile's test-bandit target
"beautifulsoup4" = "*" # used by the GUI crawler and various tests
boto3-stubs = {extras = ["logs"], version = "*"} # used for type checking, keep version in sync with boto3
botocore-stubs = "*" # used for type checking, keep version in sync with botocore
bson = "*" # used by test_mk_mongodb unit test
checkmk-dev-tools = "~=0.1.60" # provides tooling for build artifacts
devpi-client = "*" # Managing the devpi server
dill = "*"
docker = "*" # used by test_docker test and mk_docker agent plugin
dockerpty = "*" # used by dockerized tests for opening debug shells
fakeredis = {version = "*", extras = ["lua"]} # used for testing code which uses Redis (lua is needed for faking features like "lock")
flake8 = "*"
furo = "*" # sphinx theme
hypothesis = "*" # used by unit tests
hypothesis-jsonschema = "*" # used by unit tests
jsonschema = "*"
libcst = "*" # concrete syntax trees for plugin migration helpers
msrest = "*"
mypy = "*" # used by test/static/Makefile's test-mypy target--unpin after CMK-19779
mypy-protobuf = "*" # for mypy
networkx = "*" # needed for py-import-cycles
pexpect = "*" # used for update testing
pipfile = "*" # for generating import names during int tests
playwright = "*" # used for in-browser testing
polyfactory = "*" # used for generating mock data for unit tests
pre-commit = "*" # used to fix / find issues before committing changes
py-import-cycles = "*" # used in tests/Makefile
pylint = "*" # used by test/Makefile's test-pylint target
pylint-pydantic = "*"
pylsp-mypy = "*" # mypy plugin for python-lsp-server
pymongo = "<4.9" # used by mk_mongodb agent plugin # 4.9 has no pymongo.database.Database anymore
pytest = "*"
pytest-html = "*" # used to generate HTML reports for test suites
pytest-mock = "*" # used by quite a few unit/integration tests via the mocker fixture
pytest-random-order = "*" # used to test resiliency
pytest-xdist = "*" # used to limit number of procs in e2e tests
pytest-check = "*" # used to queue failed assertions and continue test execution
pytest-opentelemetry = "*" # instrument pytest runs
python-lsp-server = "*" # Note: There are extras, but the default seems sensible.
responses = "*" # used for unit tests
ruff = "*"
schemathesis = "*" # used for openapi tests
semver = "*"
sphinx = "*" # used for the plugin API documentation
sphinx-autoapi = "*" # used for automatically generating plugin API documentation
sphinx-autodoc-typehints = "*" # used for the plugin API documentation
sphinx-rtd-theme = "~=2.0.0" # used for the plugin API documentation # TODO: Unpin this here and in omd/Pipfile when "make -C doc/plugin-api html" works again without it.
sphinxcontrib-plantuml = "*" # used for the API and architecture
sphinxcontrib-spelling = "*"
telnetlib3 = "*" # used by Windows Agent tests
time-machine = "*" # used by various unit tests. Substitute for freezegun
twine = "*" # used to upload packages to internal PyPi mirror
types-beautifulsoup4 = "*" # used for type checking
types-docutils = "*" # used for type checking
types-jsonschema = "*" # used for type checking
types-lxml = "*" # used for type checking
types-mypy-extensions = "*" # used for type checking
types-oauthlib = "*" # used for type checking
types-paho-mqtt = "*" # used for type checking
types-paramiko = "*" # used for type checking
types-pillow = "*" # used for type checking
types-protobuf = "*" # used for type checking
types-psutil = "*" # used for type checking
types-pyasn1 = "*" # used for type checking
types-pymssql = "*" # used for type checking
types-pymysql = "*" # used for type checking
types-pyopenssl = "*" # used for type checking
types-pysaml2 = "*" # used for type checking
types-python-dateutil = "*" # used for type checking
types-pyyaml = "*" # used for type checking
types-redis = "*" # used for type checking
types-requests = "*" # used for type checking
types-setuptools = "*" # used for type checking
types-simplejson = "*" # used for type checking
types-urllib3 = "*" # used for type checking
uvicorn = "*"
[packages]
setuptools = "<=70.3.0" # See https://github.com/pypa/setuptools/issues/4487#issuecomment-2237487845 for context
setuptools-scm = "==4.1.2" # needed by various setup.py
python-dateutil = "~=2.9.0" # direct dependency
pyyaml = "==6.0.1" # needed by vcrpy
vcrpy = "==6.0.1" # used by various unit tests to mock HTTP transactions in some special agents (only)
cryptography = "*"
paramiko = "*"
pyasn1 = "<0.6.1" # 0.6.1 removed pyasn1.compat.octets, but this is used by pysnmp <6.2.6. But updating that leads to API incompatibilities and integration test failures at the moment. :-/
ply = "==3.11" # needed by pysmi, python-active-directory
pysmi-lextudio = "==1.4.3" # needed by pysnmp
pysnmp-lextudio = "==6.1.2" # needed by Event Console
snmpsim-lextudio = "==1.1.0" # needed by pysnmp integration tests
urllib3 = "*" # needed by requests
pyopenssl = "*"
pyghmi = "==1.5.60" # needed by base for IPMI
requests = "*"
jinja2 = "*" # needed by flask
werkzeug = "*" # direct dependency and needed by flask
flask = "==3.0.3" # direct dependency
openapi-spec-validator = "==0.7.1" # direct dependency
psutil = "==5.9.8" # needed for omdlib
oauthlib = "==3.2.2"
requests-oauthlib = "==1.3.1"
jira = "==3.8.0" # needed by jira
msal = "==1.26.0" # needed by agent_azure
pillow = "*" # needed by reporting & CME logo image processing
python-ldap = "==3.4.3" # needed by GUI (User sync), python-active-directory
dicttoxml = "==1.7.16" # needed by GUI (API XML format)
cython = "==3.0.11" # needed by numpy & pymssql
numpy = "==1.26.4" # needed by GUI (metrics)
reportlab = "==4.1.0" # needed by GUI (reporting)
pypdf = "*" # needed by GUI (reporting)
roman = "==4.0" # needed by GUI (reporting)
google-auth = "*" # needed by kubernetes
kubernetes = "==21.7.0" # needed by kubernetes
botocore = "*" # needed by boto3 (aws), keep version in sync with botocore-stubs
boto3 = "*" # needed by boto3 (aws), keep version in sync with boto3-stubs
python-snap7 = "==1.3" # needed by Siemens PLC special agent
pymssql = "==2.3.1" # needed by check_sql active check
pymysql = "~=1.1.1" # needed by check_sql active check
psycopg2-binary = "==2.9.6" # needed by check_sql active check
apispec = "*"
marshmallow = "*"
marshmallow-oneofschema = "*"
apispec-oneofschema = "*"
pydantic = "~=2.7"
pydantic_core = "~=2.18" # used by pydantic and by us
paho-mqtt = "==1.6.1" # needed for MQTT special agent
python-active-directory = "==2.0.1"
rrdtool = "==0.1.16" # Actually we ship the binding which comes with rrdtool itself...
docstring-parser = "==0.16" # direct dependency
pyprof2calltree = "==1.4.5" # used for GUI/API profiling
pyparsing = "*"
redis = "==4.5.4" # needed by GUI (caching)
fido2 = "*" # used for GUI 2fa webauthn
opsgenie-sdk = "==2.1.5" # needed by opsgenie_issues
tenacity = "*" # used by opsgenie-sdk
protobuf = "==5.28.3" # Keep in synch with MODULE.bazel---will work automatically when we drop pipenv
cmk-agent-based = {editable = true, path = "./packages/cmk-agent-based"}
cmk-agent-receiver = {editable = true, path = "./packages/cmk-agent-receiver"}
cmk-ccc = {editable = true, path = "./packages/cmk-ccc"}
cmk-crypto = {editable = true, path = "./packages/cmk-crypto"}
cmk-events = {editable = true, path = "./packages/cmk-events"}
cmk-graphing = {editable = true, path = "./packages/cmk-graphing"}
cmk-messaging = {editable = true, path = "./packages/cmk-messaging"}
cmk-mkp-tool = {editable = true, path = "./packages/cmk-mkp-tool"}
cmk-rulesets = {editable = true, path = "./packages/cmk-rulesets"}
cmk-server-side-calls = {editable = true, path = "./packages/cmk-server-side-calls"}
cmk-werks = {editable = true, path = "./packages/cmk-werks"}
cmk-livestatus-client = {editable = true, path = "./packages/cmk-livestatus-client"}
cmk-trace = {editable = true, path = "./packages/cmk-trace"}
pysmb = "==1.2.9.1" # used by SMB share special agent
google-cloud-monitoring = "*" # used by the gcp special agent
google-cloud-asset = "*" # used by the gcp special agent
exchangelib = "==5.4.0" # used by active checks for mail
lxml = "==4.9.3" # used via beautifulsoup4 as a parser and in the agent_netapp special agent
google-api-python-client = "*" # use rest api to query big query for gcp cost monitoring
setproctitle = "==1.3.3" # used by mkbench/dcd/liveproxyd
meraki = "==1.41.0" # used by special agent Cisco Meraki
feedparser = "*" # used by special agent Microsoft Azure Status
pysaml2 = "~=7.4" # used by SSO via SAML2.0
azure-storage-blob = "~=12.20.0" # used for backups to Azure Blob Storage
azure-identity = "~=1.17.0" # used for backups to Azure Blob Storage
pyjwt = {version = "*", extras = ["crypto"]} # used for SSO via OAUTH2
GitPython = "~=3.1" # used for werk collecting
icalendar = "==5.0.7" # used for importing .ical files
recurring_ical_events = "==2.0.2" # used for parsing recurring events in icalendar objects
netapp-ontap = "==9.14.1.0" # used by netapp special agent
redfish = "~= 3.2.2" # used for management board monitoring via Redfish, used by optional MKP
robotframework = "~=7.0" # used for parsing robotmk agent data
opentelemetry-api = "*" # used for distributed tracing of Checkmk
opentelemetry-sdk = "*" # used for distributed tracing of Checkmk
opentelemetry-exporter-otlp = "*" # used for distributed tracing of Checkmk
opentelemetry-instrumentation-wsgi = "*" # used for distributed tracing of Checkmk
opentelemetry-instrumentation-requests = "*" # used for distributed tracing of Checkmk
opentelemetry-instrumentation-redis = "*" # used for distributed tracing of Checkmk
opentelemetry-semantic-conventions = "*" # used for distributed tracing of Checkmk
fastapi = "*" # automation helper and needed to run fake idp for cse tests
gunicorn = "*" # automation helper
watchdog = "*" # automation helper
[requires]
python_version = "3.12"