-
Notifications
You must be signed in to change notification settings - Fork 82
Expand file tree
/
Copy pathpyproject.toml
More file actions
103 lines (90 loc) · 2.55 KB
/
Copy pathpyproject.toml
File metadata and controls
103 lines (90 loc) · 2.55 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
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
[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "falcon-mcp"
version = "0.19.0"
description = "CrowdStrike Falcon MCP Server"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "MIT"}
authors = [
{name = "CrowdStrike", email = "cloud-integrations@crowdstrike.com"}
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"anyio>=4.5",
"crowdstrike-falconpy>=1.6.4",
"mcp>=1.28.1,<2.0.0",
"python-dotenv>=1.1.1",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"mypy>=1.0.0",
"ruff>=0.12.5",
"black>=23.0.0",
"starlette>=1.3.1",
"sse-starlette>=2.0.0",
]
[project.scripts]
falcon-mcp = "falcon_mcp.server:main"
[tool.uv]
constraint-dependencies = [
"pyjwt>=2.12.0",
"idna>=3.15",
"requests>=2.33.0",
"cryptography>=50.0.0",
]
[tool.black]
line-length = 100
target-version = ["py311"]
[tool.mypy]
python_version = "3.11"
warn_return_any = false
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
# Ignore missing stubs for third-party libraries
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false
disallow_incomplete_defs = false
disable_error_code = ["arg-type", "valid-type", "attr-defined", "misc"]
[[tool.mypy.overrides]]
module = "scripts.*"
disallow_untyped_defs = false
disallow_incomplete_defs = false
[[tool.mypy.overrides]]
module = "falcon_mcp.modules.*"
# Pydantic Field() overloads cause call-overload errors - ignore them
# Union return types cause union-attr errors - code handles these correctly at runtime
# These are not actual type errors, just mypy/pydantic typing quirks
disable_error_code = ["call-overload", "return-value", "list-item", "arg-type", "union-attr"]
disallow_untyped_defs = false
[[tool.mypy.overrides]]
module = "examples.*"
disallow_untyped_defs = false
disallow_incomplete_defs = false
[tool.ruff]
target-version = "py311"
line-length = 100
[tool.setuptools.packages.find]
include = ["falcon_mcp*"]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
filterwarnings = [
"ignore::DeprecationWarning:websockets.*:",
"ignore::DeprecationWarning:uvicorn.protocols.websockets.*:",
]