persistence-kit 3.7.0__tar.gz → 3.8.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.
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/PKG-INFO +2 -2
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/__init__.py +2 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/provider.py +10 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/registry.py +9 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/pyproject.toml +2 -2
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/LICENSE +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/README.md +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/api/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/api/common.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/api/error_handlers.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/api/exceptions.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/api/rate_limit.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/api/route_loader.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/authenticated_user.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/bootstrap/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/bootstrap/configuration.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/bootstrap/seeders.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/bootstrap/startup.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/cache/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/cache/contracts.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/cache/factory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/cache/memory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/cache/mongo.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/cache/namespaced.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/contracts/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/contracts/repository.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/contracts/view_repository.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/py.typed +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/dynamodb_repo/dynamodb_mapper.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/dynamodb_repo/dynamodb_repo.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/filter_ops.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/memory_repo/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/memory_repo/memory_repo.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/mongo_repo/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/mongo_repo/mongo_mapper.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/mongo_repo/mongo_repo.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/sqlalchemy_repo/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/sqlalchemy_repo/schema_evolve.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/sqlalchemy_repo/sqlalchemy_dataclass_mapper.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/sqlalchemy_repo/sqlalchemy_engine.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/sqlalchemy_repo/sqlalchemy_repo.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/sqlalchemy_repo/table_factory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/factory/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/factory/repository_factory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/registry/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/registry/entity_registry.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/view/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/view/populating_repository.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/resilience/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/resilience/circuit.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/aggregate.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/auth/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/auth/api_key.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/auth/base.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/auth/basic.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/auth/bearer.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/auth/login.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/auth/oauth2.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/caching.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/client.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/config.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/contracts.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/errors.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/factory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/mapping.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/memory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/payload.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/populate.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/resolver.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/restclient/retry.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/factory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/ports.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/providers/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/providers/cognito_identity_provider.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/providers/memory_security_provider.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/registration.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/token_verifiers/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/token_verifiers/cognito_jwt_verifier.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/token_verifiers/memory_jwt_verifier.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/settings/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/settings/app_settings.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/settings/cache_settings.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/settings/constants.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/settings/parsers.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/settings/repo_settings.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/contracts.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/errors.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/factory.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/local.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/media.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/routes.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/storage/s3.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/utils/__init__.py +0 -0
- {persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/utils/upsert.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: persistence-kit
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.8.0
|
|
4
4
|
Summary: Reusable persistence and repository toolkit
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -29,7 +29,7 @@ Provides-Extra: storage-s3
|
|
|
29
29
|
Provides-Extra: testing
|
|
30
30
|
Requires-Dist: asyncpg (>=0.30.0,<0.31.0)
|
|
31
31
|
Requires-Dist: boto3 (>=1.35.0,<2.0.0) ; extra == "storage-s3" or extra == "security-cognito" or extra == "dynamodb" or extra == "all"
|
|
32
|
-
Requires-Dist: fastapi (>=0.115.0,<0.
|
|
32
|
+
Requires-Dist: fastapi (>=0.115.0,<1.0.0) ; extra == "api" or extra == "storage-routes" or extra == "security" or extra == "security-cognito" or extra == "testing" or extra == "all"
|
|
33
33
|
Requires-Dist: httpx (>=0.28.0,<0.29.0) ; extra == "restclient" or extra == "testing" or extra == "all"
|
|
34
34
|
Requires-Dist: motor (>=3.7.1,<4.0.0)
|
|
35
35
|
Requires-Dist: pydantic-settings (>=2.3.0,<3.0.0)
|
|
@@ -48,6 +48,7 @@ from persistence_kit.restclient.provider import (
|
|
|
48
48
|
default_rest_registry,
|
|
49
49
|
get_rest_client,
|
|
50
50
|
provide_rest_client,
|
|
51
|
+
register_rest_client,
|
|
51
52
|
register_rest_service,
|
|
52
53
|
reset_rest_registry,
|
|
53
54
|
set_rest_registry_initializer,
|
|
@@ -95,6 +96,7 @@ __all__ = [
|
|
|
95
96
|
"RestClientRegistry",
|
|
96
97
|
"RegisteredService",
|
|
97
98
|
"build_rest_client",
|
|
99
|
+
"register_rest_client",
|
|
98
100
|
"register_rest_service",
|
|
99
101
|
"set_rest_registry_initializer",
|
|
100
102
|
"provide_rest_client",
|
|
@@ -62,6 +62,16 @@ def register_rest_service(
|
|
|
62
62
|
)
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
def register_rest_client(name: str, client: RestClient) -> None:
|
|
66
|
+
"""Registra un cliente ya construido bajo un nombre.
|
|
67
|
+
|
|
68
|
+
Pensado para inyectar stubs o dobles de prueba: el consumidor sigue pidiendo
|
|
69
|
+
el servicio por nombre con :func:`provide_rest_client`, pero recibe este
|
|
70
|
+
cliente en vez de uno HTTP.
|
|
71
|
+
"""
|
|
72
|
+
default_rest_registry().set_client(name, client)
|
|
73
|
+
|
|
74
|
+
|
|
65
75
|
def get_rest_client(name: str) -> RestClient:
|
|
66
76
|
_init_registry()
|
|
67
77
|
return default_rest_registry().get(name)
|
|
@@ -77,6 +77,15 @@ class RestClientRegistry:
|
|
|
77
77
|
self._clients.pop(name, None)
|
|
78
78
|
return self
|
|
79
79
|
|
|
80
|
+
def set_client(self, name: str, client: RestClient) -> "RestClientRegistry":
|
|
81
|
+
"""Registra un cliente ya construido bajo un nombre.
|
|
82
|
+
|
|
83
|
+
Inyecta dobles de prueba o stubs sin pasar por el transporte HTTP: ``get``
|
|
84
|
+
devuelve este cliente tal cual, sin construir un ``HttpxRestClient``.
|
|
85
|
+
"""
|
|
86
|
+
self._clients[name] = client
|
|
87
|
+
return self
|
|
88
|
+
|
|
80
89
|
def get(self, name: str) -> RestClient:
|
|
81
90
|
cached = self._clients.get(name)
|
|
82
91
|
if cached is not None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "persistence-kit"
|
|
3
|
-
version = "3.
|
|
3
|
+
version = "3.8.0"
|
|
4
4
|
description = "Reusable persistence and repository toolkit"
|
|
5
5
|
authors = ["Andres Felipe Serrano Barrios <andresfserrano1@gmail.com>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -30,7 +30,7 @@ sqlalchemy = {extras = ["asyncio"], version = "^2.0.43"}
|
|
|
30
30
|
asyncpg = "^0.30.0"
|
|
31
31
|
typing-extensions = "^4.12.0"
|
|
32
32
|
pydantic-settings = "^2.3.0"
|
|
33
|
-
fastapi = {version = "
|
|
33
|
+
fastapi = {version = ">=0.115.0,<1.0.0", optional = true}
|
|
34
34
|
boto3 = {version = "^1.35.0", optional = true}
|
|
35
35
|
pyjwt = {version = "^2.10.1", extras = ["crypto"], optional = true}
|
|
36
36
|
python-multipart = {version = "^0.0.20", optional = true}
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/contracts/view_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/memory_repo/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/mongo_repo/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository/mongo_repo/mongo_repo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/repository_factory/view/__init__.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
|
|
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
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/providers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{persistence_kit-3.7.0 → persistence_kit-3.8.0}/persistence_kit/security/token_verifiers/__init__.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
|
|
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
|