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.
Files changed (201) hide show
  1. kewe-1.0.0/.claude/settings.local.json +25 -0
  2. kewe-1.0.0/.dockerignore +26 -0
  3. kewe-1.0.0/.gitignore +62 -0
  4. kewe-1.0.0/.python-version +1 -0
  5. kewe-1.0.0/CHANGELOG.md +91 -0
  6. kewe-1.0.0/LICENSE +21 -0
  7. kewe-1.0.0/MANIFEST.in +14 -0
  8. kewe-1.0.0/PKG-INFO +602 -0
  9. kewe-1.0.0/README.md +531 -0
  10. 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
  11. kewe-1.0.0/doc/KeWe_/346/241/206/346/236/266/346/226/207/346/241/243.md +1766 -0
  12. 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
  13. 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
  14. kewe-1.0.0/kewe/__init__.py +844 -0
  15. kewe-1.0.0/kewe/__init__.pyi +1016 -0
  16. kewe-1.0.0/kewe/__main__.py +15 -0
  17. kewe-1.0.0/kewe/app.py +3232 -0
  18. kewe-1.0.0/kewe/application/__init__.py +87 -0
  19. kewe-1.0.0/kewe/application/config.py +713 -0
  20. kewe-1.0.0/kewe/application/depends.py +1315 -0
  21. kewe-1.0.0/kewe/application/di.py +646 -0
  22. kewe-1.0.0/kewe/application/logo.py +271 -0
  23. kewe-1.0.0/kewe/application/mixins.py +867 -0
  24. kewe-1.0.0/kewe/application/signals.py +651 -0
  25. kewe-1.0.0/kewe/application/state.py +245 -0
  26. kewe-1.0.0/kewe/application/state_store.py +392 -0
  27. kewe-1.0.0/kewe/background/__init__.py +33 -0
  28. kewe-1.0.0/kewe/background/async_task_processor.py +101 -0
  29. kewe-1.0.0/kewe/background/cleanup_task_manager.py +67 -0
  30. kewe-1.0.0/kewe/background/tasks.py +326 -0
  31. kewe-1.0.0/kewe/background/token_auto_rotator.py +124 -0
  32. kewe-1.0.0/kewe/base/__init__.py +89 -0
  33. kewe-1.0.0/kewe/base/cancel.py +109 -0
  34. kewe-1.0.0/kewe/base/constants.py +269 -0
  35. kewe-1.0.0/kewe/base/context.py +652 -0
  36. kewe-1.0.0/kewe/base/types.py +324 -0
  37. kewe-1.0.0/kewe/cache/__init__.py +77 -0
  38. kewe-1.0.0/kewe/cache/advanced.py +207 -0
  39. kewe-1.0.0/kewe/cache/backends.py +470 -0
  40. kewe-1.0.0/kewe/cache/decorators.py +403 -0
  41. kewe-1.0.0/kewe/cache/lru_cache.py +151 -0
  42. kewe-1.0.0/kewe/cache/manager.py +125 -0
  43. kewe-1.0.0/kewe/cli/__init__.py +21 -0
  44. kewe-1.0.0/kewe/cli/app.py +895 -0
  45. kewe-1.0.0/kewe/cli/repl.py +408 -0
  46. kewe-1.0.0/kewe/cookies/__init__.py +63 -0
  47. kewe-1.0.0/kewe/cookies/cookie.py +399 -0
  48. kewe-1.0.0/kewe/cookies/session.py +504 -0
  49. kewe-1.0.0/kewe/cookies/signed.py +121 -0
  50. kewe-1.0.0/kewe/database/__init__.py +41 -0
  51. kewe-1.0.0/kewe/database/alembic.py +233 -0
  52. kewe-1.0.0/kewe/database/models.py +616 -0
  53. kewe-1.0.0/kewe/database/query.py +599 -0
  54. kewe-1.0.0/kewe/errors/__init__.py +135 -0
  55. kewe-1.0.0/kewe/errors/circuit_breaker.py +310 -0
  56. kewe-1.0.0/kewe/errors/exceptions.py +516 -0
  57. kewe-1.0.0/kewe/errors/handlers.py +268 -0
  58. kewe-1.0.0/kewe/errors/middleware.py +148 -0
  59. kewe-1.0.0/kewe/errors/reporter.py +275 -0
  60. kewe-1.0.0/kewe/errors/tracker.py +327 -0
  61. kewe-1.0.0/kewe/factory.py +163 -0
  62. kewe-1.0.0/kewe/gateway/__init__.py +41 -0
  63. kewe-1.0.0/kewe/gateway/adapter.py +129 -0
  64. kewe-1.0.0/kewe/gateway/core.py +890 -0
  65. kewe-1.0.0/kewe/handlers/__init__.py +23 -0
  66. kewe-1.0.0/kewe/handlers/simple.py +146 -0
  67. kewe-1.0.0/kewe/handlers/static_serve.py +451 -0
  68. kewe-1.0.0/kewe/http/__init__.py +28 -0
  69. kewe-1.0.0/kewe/http/client.py +365 -0
  70. kewe-1.0.0/kewe/http/headers.py +462 -0
  71. kewe-1.0.0/kewe/http/http2.py +766 -0
  72. kewe-1.0.0/kewe/http/http3.py +757 -0
  73. kewe-1.0.0/kewe/http/keepalive.py +280 -0
  74. kewe-1.0.0/kewe/http/protocol.py +220 -0
  75. kewe-1.0.0/kewe/http/range_request.py +415 -0
  76. kewe-1.0.0/kewe/http/url.py +139 -0
  77. kewe-1.0.0/kewe/logging/__init__.py +32 -0
  78. kewe-1.0.0/kewe/logging/access.py +405 -0
  79. kewe-1.0.0/kewe/logging/filters.py +85 -0
  80. kewe-1.0.0/kewe/logging/formatters.py +241 -0
  81. kewe-1.0.0/kewe/logging/logger.py +261 -0
  82. kewe-1.0.0/kewe/logging/setup.py +128 -0
  83. kewe-1.0.0/kewe/middleware/__init__.py +97 -0
  84. kewe-1.0.0/kewe/middleware/core.py +1936 -0
  85. kewe-1.0.0/kewe/middleware/cors.py +299 -0
  86. kewe-1.0.0/kewe/middleware/request_id.py +409 -0
  87. kewe-1.0.0/kewe/monitoring/__init__.py +83 -0
  88. kewe-1.0.0/kewe/monitoring/anomaly_detector.py +221 -0
  89. kewe-1.0.0/kewe/monitoring/audit_log_persistence.py +356 -0
  90. kewe-1.0.0/kewe/monitoring/core.py +314 -0
  91. kewe-1.0.0/kewe/monitoring/health.py +369 -0
  92. kewe-1.0.0/kewe/monitoring/inspector.py +484 -0
  93. kewe-1.0.0/kewe/monitoring/metrics.py +256 -0
  94. kewe-1.0.0/kewe/monitoring/monitoring.py +45 -0
  95. kewe-1.0.0/kewe/plugins/__init__.py +92 -0
  96. kewe-1.0.0/kewe/plugins/auth.py +393 -0
  97. kewe-1.0.0/kewe/plugins/base.py +265 -0
  98. kewe-1.0.0/kewe/plugins/builtin.py +159 -0
  99. kewe-1.0.0/kewe/plugins/database.py +520 -0
  100. kewe-1.0.0/kewe/plugins/openapi.py +1619 -0
  101. kewe-1.0.0/kewe/plugins/pydantic_support.py +671 -0
  102. kewe-1.0.0/kewe/py.typed +0 -0
  103. kewe-1.0.0/kewe/request/__init__.py +23 -0
  104. kewe-1.0.0/kewe/request/form.py +23 -0
  105. kewe-1.0.0/kewe/request/multipart.py +81 -0
  106. kewe-1.0.0/kewe/request/multipart_stream.py +496 -0
  107. kewe-1.0.0/kewe/request/request.py +2035 -0
  108. kewe-1.0.0/kewe/request/uploads.py +334 -0
  109. kewe-1.0.0/kewe/response/__init__.py +48 -0
  110. kewe-1.0.0/kewe/response/response.py +1312 -0
  111. kewe-1.0.0/kewe/response/streaming.py +578 -0
  112. kewe-1.0.0/kewe/routing/__init__.py +55 -0
  113. kewe-1.0.0/kewe/routing/blueprint_group.py +348 -0
  114. kewe-1.0.0/kewe/routing/blueprints.py +846 -0
  115. kewe-1.0.0/kewe/routing/converter.py +582 -0
  116. kewe-1.0.0/kewe/routing/router.py +988 -0
  117. kewe-1.0.0/kewe/routing/url.py +213 -0
  118. kewe-1.0.0/kewe/routing/views.py +407 -0
  119. kewe-1.0.0/kewe/security/__init__.py +92 -0
  120. kewe-1.0.0/kewe/security/auth.py +1894 -0
  121. kewe-1.0.0/kewe/security/csrf.py +439 -0
  122. kewe-1.0.0/kewe/security/jwt.py +1485 -0
  123. kewe-1.0.0/kewe/security/password.py +202 -0
  124. kewe-1.0.0/kewe/security/rate_limit.py +450 -0
  125. kewe-1.0.0/kewe/security/rbac_manager.py +318 -0
  126. kewe-1.0.0/kewe/security/token_store.py +396 -0
  127. kewe-1.0.0/kewe/server/__init__.py +47 -0
  128. kewe-1.0.0/kewe/server/asgi.py +921 -0
  129. kewe-1.0.0/kewe/server/daemon.py +347 -0
  130. kewe-1.0.0/kewe/server/http_server.py +1356 -0
  131. kewe-1.0.0/kewe/server/lifecycle.py +462 -0
  132. kewe-1.0.0/kewe/server/reloader.py +455 -0
  133. kewe-1.0.0/kewe/server/ssl.py +344 -0
  134. kewe-1.0.0/kewe/server/startup.py +327 -0
  135. kewe-1.0.0/kewe/telemetry/__init__.py +45 -0
  136. kewe-1.0.0/kewe/telemetry/otel.py +306 -0
  137. kewe-1.0.0/kewe/telemetry/tracing.py +553 -0
  138. kewe-1.0.0/kewe/touchup/__init__.py +47 -0
  139. kewe-1.0.0/kewe/touchup/optimizer.py +312 -0
  140. kewe-1.0.0/kewe/touchup/performance.py +513 -0
  141. kewe-1.0.0/kewe/touchup/schemes.py +209 -0
  142. kewe-1.0.0/kewe/touchup/zerocopy.py +570 -0
  143. kewe-1.0.0/kewe/utils/__init__.py +124 -0
  144. kewe-1.0.0/kewe/utils/compat.py +615 -0
  145. kewe-1.0.0/kewe/utils/distributed_lock.py +188 -0
  146. kewe-1.0.0/kewe/utils/helpers.py +574 -0
  147. kewe-1.0.0/kewe/utils/i18n.py +185 -0
  148. kewe-1.0.0/kewe/utils/pagination.py +255 -0
  149. kewe-1.0.0/kewe/utils/testing.py +1120 -0
  150. kewe-1.0.0/kewe/utils/token_encryptor.py +73 -0
  151. kewe-1.0.0/kewe/websocket/__init__.py +55 -0
  152. kewe-1.0.0/kewe/websocket/connection.py +521 -0
  153. kewe-1.0.0/kewe/websocket/exceptions.py +64 -0
  154. kewe-1.0.0/kewe/websocket/handler.py +132 -0
  155. kewe-1.0.0/kewe/websocket/manager.py +273 -0
  156. kewe-1.0.0/kewe/websocket/protocol.py +408 -0
  157. kewe-1.0.0/kewe/websocket/testing.py +443 -0
  158. kewe-1.0.0/kewe/worker/__init__.py +58 -0
  159. kewe-1.0.0/kewe/worker/custom.py +565 -0
  160. kewe-1.0.0/kewe/worker/manager.py +471 -0
  161. kewe-1.0.0/kewe/worker/multiplexer.py +320 -0
  162. kewe-1.0.0/kewe/worker/shared_ctx.py +481 -0
  163. kewe-1.0.0/kewe/worker/worker.py +120 -0
  164. kewe-1.0.0/pyproject.toml +94 -0
  165. kewe-1.0.0/tests/benchmark_production.py +634 -0
  166. kewe-1.0.0/tests/conftest.py +18 -0
  167. kewe-1.0.0/tests/sandbox_full_coverage.py +1327 -0
  168. kewe-1.0.0/tests/test_blueprint.py +113 -0
  169. kewe-1.0.0/tests/test_cache.py +197 -0
  170. kewe-1.0.0/tests/test_comprehensive.py +2315 -0
  171. kewe-1.0.0/tests/test_concurrency.py +242 -0
  172. kewe-1.0.0/tests/test_config.py +214 -0
  173. kewe-1.0.0/tests/test_context.py +72 -0
  174. kewe-1.0.0/tests/test_core_features.py +239 -0
  175. kewe-1.0.0/tests/test_deep_coverage.py +362 -0
  176. kewe-1.0.0/tests/test_di.py +172 -0
  177. kewe-1.0.0/tests/test_error_handling.py +169 -0
  178. kewe-1.0.0/tests/test_final_coverage.py +303 -0
  179. kewe-1.0.0/tests/test_full_chain.py +608 -0
  180. kewe-1.0.0/tests/test_gateway_cb.py +353 -0
  181. kewe-1.0.0/tests/test_logo.py +349 -0
  182. kewe-1.0.0/tests/test_middleware.py +169 -0
  183. kewe-1.0.0/tests/test_module_coverage.py +880 -0
  184. kewe-1.0.0/tests/test_modules_comprehensive.py +402 -0
  185. kewe-1.0.0/tests/test_openapi_full.py +537 -0
  186. kewe-1.0.0/tests/test_pm_skills_layered.py +703 -0
  187. kewe-1.0.0/tests/test_reloader.py +124 -0
  188. kewe-1.0.0/tests/test_request_response.py +246 -0
  189. kewe-1.0.0/tests/test_router.py +144 -0
  190. kewe-1.0.0/tests/test_security.py +265 -0
  191. kewe-1.0.0/tests/test_security_full.py +382 -0
  192. kewe-1.0.0/tests/test_session.py +153 -0
  193. kewe-1.0.0/tests/test_signals.py +167 -0
  194. kewe-1.0.0/tests/test_streaming_uploads.py +142 -0
  195. kewe-1.0.0/tests/test_v06_benchmark.py +341 -0
  196. kewe-1.0.0/tests/test_v08_coverage.py +642 -0
  197. kewe-1.0.0/tests/test_v09_coverage.py +566 -0
  198. kewe-1.0.0/tests/test_v10_final.py +400 -0
  199. kewe-1.0.0/tests/test_v11_performance.py +360 -0
  200. kewe-1.0.0/tests/test_websocket.py +48 -0
  201. 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
+ }
@@ -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
@@ -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