microbootstrap 1.4.1__tar.gz → 1.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/PKG-INFO +1 -1
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/granian_server.py +3 -1
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/logging_instrument.py +5 -1
- microbootstrap-1.4.3/pyproject.toml +173 -0
- microbootstrap-1.4.1/pyproject.toml → microbootstrap-1.4.3/pyproject.toml.orig +4 -1
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/README.md +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/__init__.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/bootstrappers/__init__.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/bootstrappers/base.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/bootstrappers/fastapi.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/bootstrappers/fastmcp.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/bootstrappers/faststream.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/bootstrappers/litestar.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/config/__init__.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/config/fastapi.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/config/fastmcp.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/config/faststream.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/config/litestar.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/console_writer.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/exceptions.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/helpers.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/__init__.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/base.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/cors_instrument.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/health_checks_instrument.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/instrument_box.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/opentelemetry_instrument.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/prometheus_instrument.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/pyroscope_instrument.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/sentry_instrument.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/swagger_instrument.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments_setupper.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/middlewares/__init__.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/middlewares/fastapi.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/middlewares/fastmcp.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/middlewares/litestar.py +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/py.typed +0 -0
- {microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/settings.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: microbootstrap
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.3
|
|
4
4
|
Summary: Package for bootstrapping new micro-services
|
|
5
5
|
Keywords: python,microservice,bootstrap,opentelemetry,logging,error-tracing,litestar,fastapi,fastmcp,mcp
|
|
6
6
|
Author: community-of-python
|
|
@@ -27,13 +27,15 @@ GRANIAN_LOG_LEVELS_MAP = {
|
|
|
27
27
|
def create_granian_server(
|
|
28
28
|
target: str,
|
|
29
29
|
settings: ServerConfig,
|
|
30
|
+
*,
|
|
31
|
+
interface: Interfaces = Interfaces.ASGI,
|
|
30
32
|
**granian_options: typing.Any, # noqa: ANN401
|
|
31
33
|
) -> GranianServer[typing.Any]:
|
|
32
34
|
return granian.Granian(
|
|
33
35
|
target=target,
|
|
34
36
|
address=settings.server_host,
|
|
35
37
|
port=settings.server_port,
|
|
36
|
-
interface=
|
|
38
|
+
interface=interface,
|
|
37
39
|
workers=settings.server_workers_count,
|
|
38
40
|
log_level=GRANIAN_LOG_LEVELS_MAP[getattr(settings, "logging_log_level", logging.INFO)],
|
|
39
41
|
reload=settings.server_reload,
|
{microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/logging_instrument.py
RENAMED
|
@@ -220,7 +220,11 @@ class LoggingInstrument(Instrument[LoggingConfig]):
|
|
|
220
220
|
)
|
|
221
221
|
if self.instrument_config.service_debug
|
|
222
222
|
else structlog.stdlib.ProcessorFormatter(
|
|
223
|
-
foreign_pre_chain=[
|
|
223
|
+
foreign_pre_chain=[
|
|
224
|
+
*STRUCTLOG_PRE_CHAIN_PROCESSORS,
|
|
225
|
+
self._timestamper_processor,
|
|
226
|
+
*self.instrument_config.logging_extra_processors,
|
|
227
|
+
],
|
|
224
228
|
processors=[
|
|
225
229
|
structlog.stdlib.ProcessorFormatter.remove_processors_meta,
|
|
226
230
|
STRUCTLOG_FORMATTER_PROCESSOR,
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "microbootstrap"
|
|
3
|
+
description = "Package for bootstrapping new micro-services"
|
|
4
|
+
readme = "README.md"
|
|
5
|
+
requires-python = ">=3.10,<4"
|
|
6
|
+
keywords = [
|
|
7
|
+
"python",
|
|
8
|
+
"microservice",
|
|
9
|
+
"bootstrap",
|
|
10
|
+
"opentelemetry",
|
|
11
|
+
"logging",
|
|
12
|
+
"error-tracing",
|
|
13
|
+
"litestar",
|
|
14
|
+
"fastapi",
|
|
15
|
+
"fastmcp",
|
|
16
|
+
"mcp",
|
|
17
|
+
]
|
|
18
|
+
classifiers = [
|
|
19
|
+
"Typing :: Typed",
|
|
20
|
+
"Topic :: Software Development :: Build Tools",
|
|
21
|
+
"Operating System :: MacOS",
|
|
22
|
+
"Operating System :: Microsoft",
|
|
23
|
+
"Operating System :: POSIX :: Linux",
|
|
24
|
+
"Intended Audience :: Developers",
|
|
25
|
+
"Programming Language :: Python",
|
|
26
|
+
"Programming Language :: Python :: 3",
|
|
27
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
28
|
+
"Programming Language :: Python :: 3.10",
|
|
29
|
+
"Programming Language :: Python :: 3.11",
|
|
30
|
+
"Programming Language :: Python :: 3.12",
|
|
31
|
+
"Programming Language :: Python :: 3.13",
|
|
32
|
+
"Programming Language :: Python :: 3.14",
|
|
33
|
+
]
|
|
34
|
+
dependencies = [
|
|
35
|
+
"eval-type-backport>=0.2",
|
|
36
|
+
"opentelemetry-api>=1.30.0",
|
|
37
|
+
"opentelemetry-exporter-otlp>=1.15.0",
|
|
38
|
+
"opentelemetry-exporter-prometheus-remote-write>=0.46b0",
|
|
39
|
+
"opentelemetry-instrumentation>=0.46b0",
|
|
40
|
+
"opentelemetry-instrumentation-system-metrics>=0.46b0",
|
|
41
|
+
"opentelemetry-sdk>=1.30.0",
|
|
42
|
+
"pydantic-settings>=2",
|
|
43
|
+
"rich>=13",
|
|
44
|
+
"sentry-sdk>=2.7",
|
|
45
|
+
"structlog>=24",
|
|
46
|
+
"pyroscope-io>=1.0.0; platform_system != 'Windows'",
|
|
47
|
+
"opentelemetry-distro[otlp]>=0.54b1",
|
|
48
|
+
"opentelemetry-instrumentation-aio-pika>=0.54b1",
|
|
49
|
+
"opentelemetry-instrumentation-aiohttp-client>=0.54b1",
|
|
50
|
+
"opentelemetry-instrumentation-aiokafka>=0.54b1",
|
|
51
|
+
"opentelemetry-instrumentation-asyncpg>=0.54b1",
|
|
52
|
+
"opentelemetry-instrumentation-httpx>=0.54b1",
|
|
53
|
+
"opentelemetry-instrumentation-logging>=0.54b1",
|
|
54
|
+
"opentelemetry-instrumentation-redis>=0.54b1",
|
|
55
|
+
"opentelemetry-instrumentation-psycopg>=0.54b1",
|
|
56
|
+
"opentelemetry-instrumentation-sqlalchemy>=0.54b1",
|
|
57
|
+
"opentelemetry-instrumentation-asyncio>=0.54b1",
|
|
58
|
+
"opentelemetry-instrumentation-asgi>=0.46b0",
|
|
59
|
+
"orjson>=3.10.18",
|
|
60
|
+
]
|
|
61
|
+
version = "1.4.3"
|
|
62
|
+
|
|
63
|
+
[[project.authors]]
|
|
64
|
+
name = "community-of-python"
|
|
65
|
+
|
|
66
|
+
[project.optional-dependencies]
|
|
67
|
+
fastapi = [
|
|
68
|
+
"fastapi>=0.100",
|
|
69
|
+
"fastapi-offline-docs>=1",
|
|
70
|
+
"opentelemetry-instrumentation-fastapi>=0.46b0",
|
|
71
|
+
"prometheus-fastapi-instrumentator>=6.1",
|
|
72
|
+
]
|
|
73
|
+
litestar = [
|
|
74
|
+
"litestar>=2.9",
|
|
75
|
+
"litestar-offline-docs>=1",
|
|
76
|
+
"prometheus-client>=0.20",
|
|
77
|
+
]
|
|
78
|
+
granian = ["granian[reload]>=1"]
|
|
79
|
+
faststream = [
|
|
80
|
+
"faststream~=0.6.2",
|
|
81
|
+
"prometheus-client>=0.20",
|
|
82
|
+
]
|
|
83
|
+
fastmcp = [
|
|
84
|
+
"fastmcp>=2,<4",
|
|
85
|
+
"prometheus-client>=0.20",
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
[dependency-groups]
|
|
89
|
+
dev = [
|
|
90
|
+
"anyio>=4.8.0",
|
|
91
|
+
"httpx>=0.28.1",
|
|
92
|
+
"mypy>=1.14.1",
|
|
93
|
+
"pre-commit>=4.0.1",
|
|
94
|
+
"pytest>=8.3.4",
|
|
95
|
+
"pytest-cov>=6.0.0",
|
|
96
|
+
"pytest-mock>=3.14.0",
|
|
97
|
+
"pytest-xdist>=3.6.1",
|
|
98
|
+
"redis>=5.2.1",
|
|
99
|
+
"ruff>=0.9.1",
|
|
100
|
+
"trio>=0.28.0",
|
|
101
|
+
"typing-extensions>=4.12.2",
|
|
102
|
+
]
|
|
103
|
+
|
|
104
|
+
[build-system]
|
|
105
|
+
requires = ["uv_build"]
|
|
106
|
+
build-backend = "uv_build"
|
|
107
|
+
|
|
108
|
+
[tool.uv.build-backend]
|
|
109
|
+
module-name = "microbootstrap"
|
|
110
|
+
module-root = ""
|
|
111
|
+
|
|
112
|
+
[tool.mypy]
|
|
113
|
+
plugins = ["pydantic.mypy"]
|
|
114
|
+
files = [
|
|
115
|
+
"microbootstrap",
|
|
116
|
+
"tests",
|
|
117
|
+
]
|
|
118
|
+
python_version = "3.10"
|
|
119
|
+
strict = true
|
|
120
|
+
pretty = true
|
|
121
|
+
show_error_codes = true
|
|
122
|
+
|
|
123
|
+
[tool.ruff]
|
|
124
|
+
target-version = "py310"
|
|
125
|
+
line-length = 120
|
|
126
|
+
|
|
127
|
+
[tool.ruff.format]
|
|
128
|
+
exclude = ["README.md"]
|
|
129
|
+
docstring-code-format = true
|
|
130
|
+
|
|
131
|
+
[tool.ruff.lint]
|
|
132
|
+
select = ["ALL"]
|
|
133
|
+
ignore = [
|
|
134
|
+
"CPY001",
|
|
135
|
+
"EM",
|
|
136
|
+
"FBT",
|
|
137
|
+
"TRY003",
|
|
138
|
+
"FIX002",
|
|
139
|
+
"TD003",
|
|
140
|
+
"D1",
|
|
141
|
+
"D106",
|
|
142
|
+
"D203",
|
|
143
|
+
"D213",
|
|
144
|
+
"G004",
|
|
145
|
+
"FA",
|
|
146
|
+
"COM812",
|
|
147
|
+
"ISC001",
|
|
148
|
+
"PLR0917",
|
|
149
|
+
]
|
|
150
|
+
|
|
151
|
+
[tool.ruff.lint.isort]
|
|
152
|
+
no-lines-before = [
|
|
153
|
+
"standard-library",
|
|
154
|
+
"local-folder",
|
|
155
|
+
]
|
|
156
|
+
lines-after-imports = 2
|
|
157
|
+
|
|
158
|
+
[tool.ruff.lint.extend-per-file-ignores]
|
|
159
|
+
"tests/*.py" = [
|
|
160
|
+
"S101",
|
|
161
|
+
"S311",
|
|
162
|
+
]
|
|
163
|
+
"examples/*.py" = ["INP001"]
|
|
164
|
+
|
|
165
|
+
[tool.coverage.report]
|
|
166
|
+
exclude_also = [
|
|
167
|
+
"if typing.TYPE_CHECKING:",
|
|
168
|
+
'class \w+\(typing.Protocol\):',
|
|
169
|
+
]
|
|
170
|
+
omit = ["tests/*"]
|
|
171
|
+
|
|
172
|
+
[tool.pytest.ini_options]
|
|
173
|
+
addopts = "--cov=. -p no:warnings --cov-report term-missing"
|
|
@@ -58,7 +58,7 @@ dependencies = [
|
|
|
58
58
|
"opentelemetry-instrumentation-asgi>=0.46b0",
|
|
59
59
|
"orjson>=3.10.18",
|
|
60
60
|
]
|
|
61
|
-
version = "1.4.
|
|
61
|
+
version = "1.4.3"
|
|
62
62
|
authors = [{ name = "community-of-python" }]
|
|
63
63
|
|
|
64
64
|
[project.optional-dependencies]
|
|
@@ -114,11 +114,13 @@ target-version = "py310"
|
|
|
114
114
|
line-length = 120
|
|
115
115
|
|
|
116
116
|
[tool.ruff.format]
|
|
117
|
+
exclude = ["README.md"]
|
|
117
118
|
docstring-code-format = true
|
|
118
119
|
|
|
119
120
|
[tool.ruff.lint]
|
|
120
121
|
select = ["ALL"]
|
|
121
122
|
ignore = [
|
|
123
|
+
"CPY001",
|
|
122
124
|
"EM",
|
|
123
125
|
"FBT",
|
|
124
126
|
"TRY003",
|
|
@@ -132,6 +134,7 @@ ignore = [
|
|
|
132
134
|
"FA",
|
|
133
135
|
"COM812",
|
|
134
136
|
"ISC001",
|
|
137
|
+
"PLR0917",
|
|
135
138
|
]
|
|
136
139
|
|
|
137
140
|
[tool.ruff.lint.isort]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/health_checks_instrument.py
RENAMED
|
File without changes
|
|
File without changes
|
{microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/opentelemetry_instrument.py
RENAMED
|
File without changes
|
{microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/prometheus_instrument.py
RENAMED
|
File without changes
|
{microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/pyroscope_instrument.py
RENAMED
|
File without changes
|
{microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/sentry_instrument.py
RENAMED
|
File without changes
|
{microbootstrap-1.4.1 → microbootstrap-1.4.3}/microbootstrap/instruments/swagger_instrument.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|