kewe 1.0.0__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.
- kewe-1.0.0/.claude/settings.local.json +25 -0
- kewe-1.0.0/.dockerignore +26 -0
- kewe-1.0.0/.gitignore +62 -0
- kewe-1.0.0/.python-version +1 -0
- kewe-1.0.0/CHANGELOG.md +91 -0
- kewe-1.0.0/LICENSE +21 -0
- kewe-1.0.0/MANIFEST.in +14 -0
- kewe-1.0.0/PKG-INFO +602 -0
- kewe-1.0.0/README.md +531 -0
- kewe-1.0.0/doc/KeWe_/346/200/247/350/203/275/347/223/266/351/242/210/345/210/206/346/236/220/345/217/212/344/274/230/345/214/226/346/226/271/346/241/210.md +139 -0
- kewe-1.0.0/doc/KeWe_/346/241/206/346/236/266/346/226/207/346/241/243.md +1766 -0
- kewe-1.0.0/doc/KeWe_/346/265/213/350/257/225/345/257/271/346/257/224/347/273/223/346/236/234.md +89 -0
- kewe-1.0.0/doc/KeWe_/346/267/261/345/272/246/345/256/241/346/237/245/346/212/245/345/221/212.md +151 -0
- kewe-1.0.0/kewe/__init__.py +844 -0
- kewe-1.0.0/kewe/__init__.pyi +1016 -0
- kewe-1.0.0/kewe/__main__.py +15 -0
- kewe-1.0.0/kewe/app.py +3232 -0
- kewe-1.0.0/kewe/application/__init__.py +87 -0
- kewe-1.0.0/kewe/application/config.py +713 -0
- kewe-1.0.0/kewe/application/depends.py +1315 -0
- kewe-1.0.0/kewe/application/di.py +646 -0
- kewe-1.0.0/kewe/application/logo.py +271 -0
- kewe-1.0.0/kewe/application/mixins.py +867 -0
- kewe-1.0.0/kewe/application/signals.py +651 -0
- kewe-1.0.0/kewe/application/state.py +245 -0
- kewe-1.0.0/kewe/application/state_store.py +392 -0
- kewe-1.0.0/kewe/background/__init__.py +33 -0
- kewe-1.0.0/kewe/background/async_task_processor.py +101 -0
- kewe-1.0.0/kewe/background/cleanup_task_manager.py +67 -0
- kewe-1.0.0/kewe/background/tasks.py +326 -0
- kewe-1.0.0/kewe/background/token_auto_rotator.py +124 -0
- kewe-1.0.0/kewe/base/__init__.py +89 -0
- kewe-1.0.0/kewe/base/cancel.py +109 -0
- kewe-1.0.0/kewe/base/constants.py +269 -0
- kewe-1.0.0/kewe/base/context.py +652 -0
- kewe-1.0.0/kewe/base/types.py +324 -0
- kewe-1.0.0/kewe/cache/__init__.py +77 -0
- kewe-1.0.0/kewe/cache/advanced.py +207 -0
- kewe-1.0.0/kewe/cache/backends.py +470 -0
- kewe-1.0.0/kewe/cache/decorators.py +403 -0
- kewe-1.0.0/kewe/cache/lru_cache.py +151 -0
- kewe-1.0.0/kewe/cache/manager.py +125 -0
- kewe-1.0.0/kewe/cli/__init__.py +21 -0
- kewe-1.0.0/kewe/cli/app.py +895 -0
- kewe-1.0.0/kewe/cli/repl.py +408 -0
- kewe-1.0.0/kewe/cookies/__init__.py +63 -0
- kewe-1.0.0/kewe/cookies/cookie.py +399 -0
- kewe-1.0.0/kewe/cookies/session.py +504 -0
- kewe-1.0.0/kewe/cookies/signed.py +121 -0
- kewe-1.0.0/kewe/database/__init__.py +41 -0
- kewe-1.0.0/kewe/database/alembic.py +233 -0
- kewe-1.0.0/kewe/database/models.py +616 -0
- kewe-1.0.0/kewe/database/query.py +599 -0
- kewe-1.0.0/kewe/errors/__init__.py +135 -0
- kewe-1.0.0/kewe/errors/circuit_breaker.py +310 -0
- kewe-1.0.0/kewe/errors/exceptions.py +516 -0
- kewe-1.0.0/kewe/errors/handlers.py +268 -0
- kewe-1.0.0/kewe/errors/middleware.py +148 -0
- kewe-1.0.0/kewe/errors/reporter.py +275 -0
- kewe-1.0.0/kewe/errors/tracker.py +327 -0
- kewe-1.0.0/kewe/factory.py +163 -0
- kewe-1.0.0/kewe/gateway/__init__.py +41 -0
- kewe-1.0.0/kewe/gateway/adapter.py +129 -0
- kewe-1.0.0/kewe/gateway/core.py +890 -0
- kewe-1.0.0/kewe/handlers/__init__.py +23 -0
- kewe-1.0.0/kewe/handlers/simple.py +146 -0
- kewe-1.0.0/kewe/handlers/static_serve.py +451 -0
- kewe-1.0.0/kewe/http/__init__.py +28 -0
- kewe-1.0.0/kewe/http/client.py +365 -0
- kewe-1.0.0/kewe/http/headers.py +462 -0
- kewe-1.0.0/kewe/http/http2.py +766 -0
- kewe-1.0.0/kewe/http/http3.py +757 -0
- kewe-1.0.0/kewe/http/keepalive.py +280 -0
- kewe-1.0.0/kewe/http/protocol.py +220 -0
- kewe-1.0.0/kewe/http/range_request.py +415 -0
- kewe-1.0.0/kewe/http/url.py +139 -0
- kewe-1.0.0/kewe/logging/__init__.py +32 -0
- kewe-1.0.0/kewe/logging/access.py +405 -0
- kewe-1.0.0/kewe/logging/filters.py +85 -0
- kewe-1.0.0/kewe/logging/formatters.py +241 -0
- kewe-1.0.0/kewe/logging/logger.py +261 -0
- kewe-1.0.0/kewe/logging/setup.py +128 -0
- kewe-1.0.0/kewe/middleware/__init__.py +97 -0
- kewe-1.0.0/kewe/middleware/core.py +1936 -0
- kewe-1.0.0/kewe/middleware/cors.py +299 -0
- kewe-1.0.0/kewe/middleware/request_id.py +409 -0
- kewe-1.0.0/kewe/monitoring/__init__.py +83 -0
- kewe-1.0.0/kewe/monitoring/anomaly_detector.py +221 -0
- kewe-1.0.0/kewe/monitoring/audit_log_persistence.py +356 -0
- kewe-1.0.0/kewe/monitoring/core.py +314 -0
- kewe-1.0.0/kewe/monitoring/health.py +369 -0
- kewe-1.0.0/kewe/monitoring/inspector.py +484 -0
- kewe-1.0.0/kewe/monitoring/metrics.py +256 -0
- kewe-1.0.0/kewe/monitoring/monitoring.py +45 -0
- kewe-1.0.0/kewe/plugins/__init__.py +92 -0
- kewe-1.0.0/kewe/plugins/auth.py +393 -0
- kewe-1.0.0/kewe/plugins/base.py +265 -0
- kewe-1.0.0/kewe/plugins/builtin.py +159 -0
- kewe-1.0.0/kewe/plugins/database.py +520 -0
- kewe-1.0.0/kewe/plugins/openapi.py +1619 -0
- kewe-1.0.0/kewe/plugins/pydantic_support.py +671 -0
- kewe-1.0.0/kewe/py.typed +0 -0
- kewe-1.0.0/kewe/request/__init__.py +23 -0
- kewe-1.0.0/kewe/request/form.py +23 -0
- kewe-1.0.0/kewe/request/multipart.py +81 -0
- kewe-1.0.0/kewe/request/multipart_stream.py +496 -0
- kewe-1.0.0/kewe/request/request.py +2035 -0
- kewe-1.0.0/kewe/request/uploads.py +334 -0
- kewe-1.0.0/kewe/response/__init__.py +48 -0
- kewe-1.0.0/kewe/response/response.py +1312 -0
- kewe-1.0.0/kewe/response/streaming.py +578 -0
- kewe-1.0.0/kewe/routing/__init__.py +55 -0
- kewe-1.0.0/kewe/routing/blueprint_group.py +348 -0
- kewe-1.0.0/kewe/routing/blueprints.py +846 -0
- kewe-1.0.0/kewe/routing/converter.py +582 -0
- kewe-1.0.0/kewe/routing/router.py +988 -0
- kewe-1.0.0/kewe/routing/url.py +213 -0
- kewe-1.0.0/kewe/routing/views.py +407 -0
- kewe-1.0.0/kewe/security/__init__.py +92 -0
- kewe-1.0.0/kewe/security/auth.py +1894 -0
- kewe-1.0.0/kewe/security/csrf.py +439 -0
- kewe-1.0.0/kewe/security/jwt.py +1485 -0
- kewe-1.0.0/kewe/security/password.py +202 -0
- kewe-1.0.0/kewe/security/rate_limit.py +450 -0
- kewe-1.0.0/kewe/security/rbac_manager.py +318 -0
- kewe-1.0.0/kewe/security/token_store.py +396 -0
- kewe-1.0.0/kewe/server/__init__.py +47 -0
- kewe-1.0.0/kewe/server/asgi.py +921 -0
- kewe-1.0.0/kewe/server/daemon.py +347 -0
- kewe-1.0.0/kewe/server/http_server.py +1356 -0
- kewe-1.0.0/kewe/server/lifecycle.py +462 -0
- kewe-1.0.0/kewe/server/reloader.py +455 -0
- kewe-1.0.0/kewe/server/ssl.py +344 -0
- kewe-1.0.0/kewe/server/startup.py +327 -0
- kewe-1.0.0/kewe/telemetry/__init__.py +45 -0
- kewe-1.0.0/kewe/telemetry/otel.py +306 -0
- kewe-1.0.0/kewe/telemetry/tracing.py +553 -0
- kewe-1.0.0/kewe/touchup/__init__.py +47 -0
- kewe-1.0.0/kewe/touchup/optimizer.py +312 -0
- kewe-1.0.0/kewe/touchup/performance.py +513 -0
- kewe-1.0.0/kewe/touchup/schemes.py +209 -0
- kewe-1.0.0/kewe/touchup/zerocopy.py +570 -0
- kewe-1.0.0/kewe/utils/__init__.py +124 -0
- kewe-1.0.0/kewe/utils/compat.py +615 -0
- kewe-1.0.0/kewe/utils/distributed_lock.py +188 -0
- kewe-1.0.0/kewe/utils/helpers.py +574 -0
- kewe-1.0.0/kewe/utils/i18n.py +185 -0
- kewe-1.0.0/kewe/utils/pagination.py +255 -0
- kewe-1.0.0/kewe/utils/testing.py +1120 -0
- kewe-1.0.0/kewe/utils/token_encryptor.py +73 -0
- kewe-1.0.0/kewe/websocket/__init__.py +55 -0
- kewe-1.0.0/kewe/websocket/connection.py +521 -0
- kewe-1.0.0/kewe/websocket/exceptions.py +64 -0
- kewe-1.0.0/kewe/websocket/handler.py +132 -0
- kewe-1.0.0/kewe/websocket/manager.py +273 -0
- kewe-1.0.0/kewe/websocket/protocol.py +408 -0
- kewe-1.0.0/kewe/websocket/testing.py +443 -0
- kewe-1.0.0/kewe/worker/__init__.py +58 -0
- kewe-1.0.0/kewe/worker/custom.py +565 -0
- kewe-1.0.0/kewe/worker/manager.py +471 -0
- kewe-1.0.0/kewe/worker/multiplexer.py +320 -0
- kewe-1.0.0/kewe/worker/shared_ctx.py +481 -0
- kewe-1.0.0/kewe/worker/worker.py +120 -0
- kewe-1.0.0/pyproject.toml +94 -0
- kewe-1.0.0/tests/benchmark_production.py +634 -0
- kewe-1.0.0/tests/conftest.py +18 -0
- kewe-1.0.0/tests/sandbox_full_coverage.py +1327 -0
- kewe-1.0.0/tests/test_blueprint.py +113 -0
- kewe-1.0.0/tests/test_cache.py +197 -0
- kewe-1.0.0/tests/test_comprehensive.py +2315 -0
- kewe-1.0.0/tests/test_concurrency.py +242 -0
- kewe-1.0.0/tests/test_config.py +214 -0
- kewe-1.0.0/tests/test_context.py +72 -0
- kewe-1.0.0/tests/test_core_features.py +239 -0
- kewe-1.0.0/tests/test_deep_coverage.py +362 -0
- kewe-1.0.0/tests/test_di.py +172 -0
- kewe-1.0.0/tests/test_error_handling.py +169 -0
- kewe-1.0.0/tests/test_final_coverage.py +303 -0
- kewe-1.0.0/tests/test_full_chain.py +608 -0
- kewe-1.0.0/tests/test_gateway_cb.py +353 -0
- kewe-1.0.0/tests/test_logo.py +349 -0
- kewe-1.0.0/tests/test_middleware.py +169 -0
- kewe-1.0.0/tests/test_module_coverage.py +880 -0
- kewe-1.0.0/tests/test_modules_comprehensive.py +402 -0
- kewe-1.0.0/tests/test_openapi_full.py +537 -0
- kewe-1.0.0/tests/test_pm_skills_layered.py +703 -0
- kewe-1.0.0/tests/test_reloader.py +124 -0
- kewe-1.0.0/tests/test_request_response.py +246 -0
- kewe-1.0.0/tests/test_router.py +144 -0
- kewe-1.0.0/tests/test_security.py +265 -0
- kewe-1.0.0/tests/test_security_full.py +382 -0
- kewe-1.0.0/tests/test_session.py +153 -0
- kewe-1.0.0/tests/test_signals.py +167 -0
- kewe-1.0.0/tests/test_streaming_uploads.py +142 -0
- kewe-1.0.0/tests/test_v06_benchmark.py +341 -0
- kewe-1.0.0/tests/test_v08_coverage.py +642 -0
- kewe-1.0.0/tests/test_v09_coverage.py +566 -0
- kewe-1.0.0/tests/test_v10_final.py +400 -0
- kewe-1.0.0/tests/test_v11_performance.py +360 -0
- kewe-1.0.0/tests/test_websocket.py +48 -0
- kewe-1.0.0/uv.lock +1370 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(.venv/Scripts/python -m pytest tests/ -v --tb=short --timeout=60)",
|
|
5
|
+
"Bash(.venv_new/Scripts/python -m pytest tests/ -v --tb=short --timeout=60)",
|
|
6
|
+
"Bash(.venv/Scripts/python -m pytest tests/ -v --tb=short)",
|
|
7
|
+
"Bash(.venv/Scripts/python -m pytest tests/test_modules_comprehensive.py::TestUtils::test_token_encryptor tests/test_security_full.py::TestJWT -v --tb=long)",
|
|
8
|
+
"Bash(.venv_new/Scripts/python -m pytest tests/ -v --tb=short)",
|
|
9
|
+
"Bash(.venv/Scripts/pip list *)",
|
|
10
|
+
"Bash(.venv/Scripts/python -m pytest tests/test_modules_comprehensive.py::TestUtils::test_token_encryptor -v --tb=long)",
|
|
11
|
+
"Bash(.venv_new/Scripts/pip list *)",
|
|
12
|
+
"Bash(.venv/Scripts/python -m pip list)",
|
|
13
|
+
"Bash(.venv_new/Scripts/python -m pip list)",
|
|
14
|
+
"Bash(uv pip *)",
|
|
15
|
+
"Bash(uv --version)",
|
|
16
|
+
"Bash(.venv/Scripts/python -m pytest tests/test_modules_comprehensive.py::TestUtils::test_token_encryptor tests/test_security_full.py::TestJWT tests/test_security_full.py::TestAuthAPI -v --tb=short)",
|
|
17
|
+
"Bash(.venv_new/Scripts/python -m pytest tests/test_modules_comprehensive.py::TestUtils::test_token_encryptor tests/test_security_full.py::TestJWT tests/test_security_full.py::TestAuthAPI -v --tb=short)",
|
|
18
|
+
"Bash(.venv_new/Scripts/python -c \"import typing_extensions; print\\(typing_extensions.__version__\\)\")",
|
|
19
|
+
"Bash(.venv/Scripts/python -m pytest tests/ --co -q)",
|
|
20
|
+
"Bash(.venv/Scripts/python -m pytest tests/ --cov=kewe --cov-report=term-missing)",
|
|
21
|
+
"Bash(.venv/Scripts/python -m build --wheel)",
|
|
22
|
+
"Bash(uv build *)"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
kewe-1.0.0/.dockerignore
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
__pycache__/
|
|
2
|
+
*.py[cod]
|
|
3
|
+
*$py.class
|
|
4
|
+
*.egg-info/
|
|
5
|
+
dist/
|
|
6
|
+
build/
|
|
7
|
+
.eggs/
|
|
8
|
+
*.egg
|
|
9
|
+
.git/
|
|
10
|
+
.gitignore
|
|
11
|
+
.env
|
|
12
|
+
.env.*
|
|
13
|
+
!.env.example
|
|
14
|
+
logs/
|
|
15
|
+
tmp/
|
|
16
|
+
*.log
|
|
17
|
+
.mypy_cache/
|
|
18
|
+
.pytest_cache/
|
|
19
|
+
.ruff_cache/
|
|
20
|
+
htmlcov/
|
|
21
|
+
.coverage
|
|
22
|
+
venv/
|
|
23
|
+
.venv/
|
|
24
|
+
IDE/
|
|
25
|
+
.idea/
|
|
26
|
+
.vscode/
|
kewe-1.0.0/.gitignore
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
build/
|
|
7
|
+
dist/
|
|
8
|
+
*.egg-info/
|
|
9
|
+
|
|
10
|
+
# Virtual environments
|
|
11
|
+
venv/
|
|
12
|
+
env/
|
|
13
|
+
ENV/
|
|
14
|
+
.venv/
|
|
15
|
+
.venv*/
|
|
16
|
+
.uv/
|
|
17
|
+
|
|
18
|
+
# IDE
|
|
19
|
+
.idea/
|
|
20
|
+
.vscode/
|
|
21
|
+
*.swp
|
|
22
|
+
*.swo
|
|
23
|
+
*~
|
|
24
|
+
.DS_Store
|
|
25
|
+
|
|
26
|
+
# Logs
|
|
27
|
+
*.log
|
|
28
|
+
logs/
|
|
29
|
+
|
|
30
|
+
# Database
|
|
31
|
+
*.db
|
|
32
|
+
*.sqlite
|
|
33
|
+
*.sqlite3
|
|
34
|
+
|
|
35
|
+
# Keys
|
|
36
|
+
keys/
|
|
37
|
+
*.pem
|
|
38
|
+
*.key
|
|
39
|
+
|
|
40
|
+
# Environment variables
|
|
41
|
+
.env
|
|
42
|
+
.env.local
|
|
43
|
+
.env.*.local
|
|
44
|
+
|
|
45
|
+
# Test coverage
|
|
46
|
+
.coverage
|
|
47
|
+
htmlcov/
|
|
48
|
+
.pytest_cache/
|
|
49
|
+
|
|
50
|
+
# Type checking
|
|
51
|
+
.mypy_cache/
|
|
52
|
+
.dmypy.json
|
|
53
|
+
dmypy.json
|
|
54
|
+
.ruff_cache/
|
|
55
|
+
|
|
56
|
+
# Temporary files
|
|
57
|
+
tmp/
|
|
58
|
+
temp/
|
|
59
|
+
*.tmp
|
|
60
|
+
|
|
61
|
+
# md
|
|
62
|
+
demand.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
kewe-1.0.0/CHANGELOG.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to KeWe will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [1.0.0] — 2025-05-10
|
|
6
|
+
|
|
7
|
+
### Production-Ready Release (v1.0.0)
|
|
8
|
+
|
|
9
|
+
- 994 passing tests across both CPython 3.12 and 3.14
|
|
10
|
+
- Full framework coverage: routing, middleware, security, WebSocket, DI, caching, monitoring, OpenAPI, telemetry, background tasks
|
|
11
|
+
- RPS benchmark comparison (17 test scenarios) against reference framework
|
|
12
|
+
- Comprehensive framework documentation (35 chapters)
|
|
13
|
+
- 98/100 production readiness score
|
|
14
|
+
- 90+ modules with full coverage
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
- **Routing**: Regex-based router with type converters, blueprints, class-based views, blueprint groups, URL building
|
|
19
|
+
- **HTTP**: HTTP/1.1, HTTP/2 (h2), HTTP/3 (aioquic), keep-alive, range requests, SSE, streaming uploads
|
|
20
|
+
- **Middleware**: Onion-style pipeline with priority control; CORS, compression, security headers, trusted hosts, forwarded headers, HTTPS redirect, request ID, error tracking
|
|
21
|
+
- **Security**: JWT (HS256/RS256), OAuth2, API Key, Basic Auth, CSRF, rate limiting, RBAC, password hashing, signed cookies, token encryption, circuit breaker
|
|
22
|
+
- **Dependency Injection**: `Depends()`, `Query()`, `Header()`, `Body()`, `Form()`, `File()`, `Path()`, `Security()` with scoped service lifetimes
|
|
23
|
+
- **WebSockets**: Built-in WS support with connection manager, broadcasting, group messaging
|
|
24
|
+
- **Background Tasks**: Fire-and-forget, scheduled jobs, async task processor, cleanup manager
|
|
25
|
+
- **Caching**: Memory/Redis backends with decorator API
|
|
26
|
+
- **Monitoring**: Health checks, metrics, anomaly detection, audit logging
|
|
27
|
+
- **OpenAPI**: Auto-generated OpenAPI 3.0 schemas with Swagger UI and ReDoc
|
|
28
|
+
- **Testing**: Sync/async test clients, test case classes, WebSocket testing, dependency overriding
|
|
29
|
+
- **Telemetry**: OpenTelemetry tracing support
|
|
30
|
+
- **Worker**: Multi-process worker manager with shared context and multiplexing
|
|
31
|
+
- **CLI**: Interactive REPL, shell commands, startup manager, file watching reloader
|
|
32
|
+
- **Plugins**: Extensible plugin system with database, Redis, OpenAPI, Pydantic, CORS, compression, rate limiting
|
|
33
|
+
- **Internationalization**: i18n support with configurable locales
|
|
34
|
+
|
|
35
|
+
## [0.9.0] — 2025-04-29
|
|
36
|
+
|
|
37
|
+
- 90 modules with full coverage
|
|
38
|
+
- E-Commerce real-world project validation
|
|
39
|
+
- 927 passing tests
|
|
40
|
+
|
|
41
|
+
## [0.8.0] — 2025-04-25
|
|
42
|
+
|
|
43
|
+
- Blog API real-world project validation
|
|
44
|
+
- 49 modules with full coverage
|
|
45
|
+
- 840 passing tests
|
|
46
|
+
|
|
47
|
+
## [0.7.0] — 2025-04-22
|
|
48
|
+
|
|
49
|
+
- Real-world project validation
|
|
50
|
+
- Complete documentation rebuild
|
|
51
|
+
- Automatic git commit integration
|
|
52
|
+
|
|
53
|
+
## [0.6.0] — 2025-04-20
|
|
54
|
+
|
|
55
|
+
- Full RFC 7807 error format coverage
|
|
56
|
+
- Benchmark comparison suite
|
|
57
|
+
- Documentation rebuild
|
|
58
|
+
|
|
59
|
+
## [0.5.x] — 2025-04-15
|
|
60
|
+
|
|
61
|
+
- P0 defect fixes
|
|
62
|
+
- PM-Skills layered testing
|
|
63
|
+
- Server hardening
|
|
64
|
+
- Performance optimization
|
|
65
|
+
- 661 test cases
|
|
66
|
+
|
|
67
|
+
## [0.4.x] — 2025-04-10
|
|
68
|
+
|
|
69
|
+
- Production benchmarks (40 test scenarios)
|
|
70
|
+
- Sandbox full coverage testing (144 cases)
|
|
71
|
+
- Chinese documentation (4 volumes)
|
|
72
|
+
- OpenAPI alignment with FastAPI standards
|
|
73
|
+
- Performance optimizations (handler param pre-compilation, ASGI body pre-allocation)
|
|
74
|
+
- Critical/High/Medium issue fixes
|
|
75
|
+
- Phantom alias cleanup
|
|
76
|
+
|
|
77
|
+
## [0.3.x] — 2025-04-05
|
|
78
|
+
|
|
79
|
+
- OpenAPI Form/File schema fixes
|
|
80
|
+
- Request API enhancements
|
|
81
|
+
- JSON fallback chain completion
|
|
82
|
+
- Race condition fixes in locking
|
|
83
|
+
- Critical production issue fixes
|
|
84
|
+
|
|
85
|
+
## [0.1.0 - 0.3.5] — 2025-03
|
|
86
|
+
|
|
87
|
+
- Initial framework skeleton
|
|
88
|
+
- Core routing and middleware
|
|
89
|
+
- Basic HTTP server
|
|
90
|
+
- Request/Response models
|
|
91
|
+
- Early plugin system
|
kewe-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Ouopoulos
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
kewe-1.0.0/MANIFEST.in
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
include LICENSE
|
|
2
|
+
include README.md
|
|
3
|
+
include CHANGELOG.md
|
|
4
|
+
recursive-include kewe *.py
|
|
5
|
+
recursive-include doc *.md
|
|
6
|
+
prune tests
|
|
7
|
+
prune .venv
|
|
8
|
+
prune .venv_new
|
|
9
|
+
prune .idea
|
|
10
|
+
prune .git
|
|
11
|
+
prune .pytest_cache
|
|
12
|
+
prune __pycache__
|
|
13
|
+
global-exclude __pycache__
|
|
14
|
+
global-exclude *.pyc
|