Skip to content

Commit 0114718

Browse files
committed
core: add deps. (Beartype, TheFuzz, ...)
1 parent 7d88aa5 commit 0114718

File tree

2 files changed

+1185
-73
lines changed

2 files changed

+1185
-73
lines changed

pyproject.toml

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ maintainers = [
1616
{ name = "Rafi Al Attrach", email = "[email protected]" },
1717
{ name = "Pedro Moreira", email = "[email protected]" },
1818
{ name = "Rajna Fani", email = "[email protected]" },
19+
{name = "Provost Simon", email = "[email protected]" },
1920
]
2021
readme = "README.md"
2122
license = "MIT"
@@ -50,21 +51,27 @@ dependencies = [
5051
"cryptography>=41.0.0", # Cryptographic operations for JWT
5152
"python-jose[cryptography]>=3.3.0", # Additional JWT support with crypto
5253
"httpx>=0.24.0", # Modern HTTP client for OAuth2 token validation
54+
"pyaml>=25.7.0",
55+
"beartype>=0.21.0",
56+
"thefuzz>=0.22.1",
57+
"rich-pyfiglet>=0.1.4",
58+
"click==8.1.8",
5359
]
5460

55-
[project.dependency-groups]
61+
[dependency-groups]
5662
dev = [
5763
"ruff>=0.4.0",
5864
"pre-commit>=3.0.0",
5965
"pytest>=7.4.0",
6066
"pytest-asyncio>=0.23.0",
6167
"pytest-mock>=3.10.0",
62-
"aiohttp>=3.8.0", # For MCP client testing
68+
"aiohttp>=3.8.0",
69+
"pytest-cov>=6.2.1",
6370
]
6471

6572
[project.scripts]
66-
m3 = "m3.cli:app"
67-
m3-mcp-server = "m3.mcp_server:main"
73+
m3 = "m3.cli:main_cli"
74+
m3-mcp-server = "m3.core.__main__:main"
6875

6976
[project.urls]
7077
Homepage = "https://github.com/rafiattrach/m3"
@@ -90,6 +97,8 @@ select = [
9097
"I", # isort (import sorting)
9198
"UP", # pyupgrade (modernize syntax)
9299
"RUF",# Ruff-specific rules
100+
"B", # flake8-bugbear
101+
"C4", # simplify comprehensions
93102
]
94103

95104
ignore = [
@@ -109,3 +118,35 @@ asyncio_default_fixture_loop_scope = "function"
109118
filterwarnings = [
110119
"ignore::DeprecationWarning:jupyter_client.*",
111120
]
121+
122+
[tool.coverage.paths]
123+
source = [
124+
"src/m3",
125+
]
126+
127+
[tool.coverage.run]
128+
branch = true
129+
omit = [
130+
"src/m3/**/base.py",
131+
"src/m3/**/__init__.py",
132+
"src/m3/**/configurations/*.yaml",
133+
"tests/**",
134+
]
135+
136+
[tool.coverage.report]
137+
exclude_also = [
138+
"def __repr__",
139+
"if self\\.debug",
140+
141+
"raise AssertionError",
142+
"raise NotImplementedError",
143+
144+
"if 0:",
145+
"if __name__ == .__main__.:",
146+
147+
"@(abc\\.)?abstractmethod",
148+
]
149+
ignore_errors = true
150+
151+
[tool.coverage.html]
152+
directory = "coverage_html_report"

0 commit comments

Comments
 (0)