nlbone 0.3.3__py3-none-any.whl → 0.4.1__py3-none-any.whl

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 (49) hide show
  1. nlbone/adapters/auth/__init__.py +1 -1
  2. nlbone/adapters/auth/keycloak.py +3 -2
  3. nlbone/adapters/db/__init__.py +2 -2
  4. nlbone/adapters/db/sqlalchemy/__init__.py +4 -1
  5. nlbone/adapters/db/sqlalchemy/base.py +0 -2
  6. nlbone/adapters/db/sqlalchemy/engine.py +15 -3
  7. nlbone/adapters/db/sqlalchemy/query_builder.py +27 -11
  8. nlbone/adapters/db/sqlalchemy/repository.py +54 -0
  9. nlbone/adapters/db/sqlalchemy/schema.py +5 -5
  10. nlbone/adapters/db/sqlalchemy/uow.py +71 -0
  11. nlbone/adapters/http_clients/uploadchi.py +27 -11
  12. nlbone/adapters/http_clients/uploadchi_async.py +29 -7
  13. nlbone/adapters/messaging/__init__.py +1 -0
  14. nlbone/adapters/messaging/event_bus.py +23 -0
  15. nlbone/config/logging.py +3 -8
  16. nlbone/config/settings.py +18 -22
  17. nlbone/container.py +18 -2
  18. nlbone/core/application/events.py +20 -0
  19. nlbone/core/application/use_case.py +12 -0
  20. nlbone/core/domain/base.py +51 -0
  21. nlbone/core/ports/__init__.py +5 -1
  22. nlbone/core/ports/auth.py +1 -0
  23. nlbone/core/ports/event_bus.py +10 -0
  24. nlbone/core/ports/files.py +26 -5
  25. nlbone/core/ports/repo.py +19 -0
  26. nlbone/core/ports/uow.py +19 -0
  27. nlbone/interfaces/api/dependencies/__init__.py +11 -2
  28. nlbone/interfaces/api/dependencies/async_auth.py +61 -0
  29. nlbone/interfaces/api/dependencies/auth.py +5 -3
  30. nlbone/interfaces/api/dependencies/db.py +4 -2
  31. nlbone/interfaces/api/dependencies/uow.py +32 -0
  32. nlbone/interfaces/api/exception_handlers.py +17 -15
  33. nlbone/interfaces/api/exceptions.py +1 -2
  34. nlbone/interfaces/api/middleware/__init__.py +2 -2
  35. nlbone/interfaces/api/middleware/access_log.py +12 -8
  36. nlbone/interfaces/api/middleware/add_request_context.py +55 -52
  37. nlbone/interfaces/api/middleware/authentication.py +4 -1
  38. nlbone/interfaces/api/pagination/__init__.py +4 -5
  39. nlbone/interfaces/api/pagination/offset_base.py +0 -2
  40. nlbone/interfaces/cli/init_db.py +3 -0
  41. nlbone/utils/context.py +14 -4
  42. nlbone/utils/time.py +1 -1
  43. {nlbone-0.3.3.dist-info → nlbone-0.4.1.dist-info}/METADATA +1 -9
  44. nlbone-0.4.1.dist-info/RECORD +72 -0
  45. nlbone/core/application/use_cases/__init__.py +0 -0
  46. nlbone/core/application/use_cases/register_user.py +0 -0
  47. nlbone-0.3.3.dist-info/RECORD +0 -64
  48. {nlbone-0.3.3.dist-info → nlbone-0.4.1.dist-info}/WHEEL +0 -0
  49. {nlbone-0.3.3.dist-info → nlbone-0.4.1.dist-info}/licenses/LICENSE +0 -0
nlbone/utils/context.py CHANGED
@@ -7,9 +7,15 @@ user_id_ctx: ContextVar[str | None] = ContextVar("user_id", default=None)
7
7
  ip_ctx: ContextVar[str | None] = ContextVar("ip", default=None)
8
8
  user_agent_ctx: ContextVar[str | None] = ContextVar("user_agent", default=None)
9
9
 
10
- def bind_context(*, request: Any | None = None, request_id: str | None = None,
11
- user_id: str | None = None, ip: str | None = None,
12
- user_agent: str | None = None) -> dict[ContextVar, Any]:
10
+
11
+ def bind_context(
12
+ *,
13
+ request: Any | None = None,
14
+ request_id: str | None = None,
15
+ user_id: str | None = None,
16
+ ip: str | None = None,
17
+ user_agent: str | None = None,
18
+ ) -> dict[ContextVar, Any]:
13
19
  tokens: dict[ContextVar, Any] = {}
14
20
  if request is not None:
15
21
  tokens[request_ctx] = request_ctx.set(request)
@@ -23,20 +29,24 @@ def bind_context(*, request: Any | None = None, request_id: str | None = None,
23
29
  tokens[user_agent_ctx] = user_agent_ctx.set(user_agent)
24
30
  return tokens
25
31
 
32
+
26
33
  def reset_context(tokens: dict[ContextVar, Any]):
27
34
  for var, token in tokens.items():
28
35
  var.reset(token)
29
36
 
37
+
30
38
  def current_request():
31
39
  return request_ctx.get()
32
40
 
41
+
33
42
  def current_request_id() -> Optional[str]:
34
43
  return request_id_ctx.get()
35
44
 
45
+
36
46
  def current_context_dict() -> dict[str, Any]:
37
47
  return {
38
48
  "request_id": request_id_ctx.get(),
39
49
  "user_id": user_id_ctx.get(),
40
50
  "ip": ip_ctx.get(),
41
51
  "user_agent": user_agent_ctx.get(),
42
- }
52
+ }
nlbone/utils/time.py CHANGED
@@ -2,4 +2,4 @@ from datetime import datetime, timezone
2
2
 
3
3
 
4
4
  def now() -> datetime:
5
- return datetime.now(timezone.utc)
5
+ return datetime.now(timezone.utc)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nlbone
3
- Version: 0.3.3
3
+ Version: 0.4.1
4
4
  Summary: Backbone package for interfaces and infrastructure in Python projects
5
5
  Author-email: Amir Hosein Kahkbazzadeh <a.khakbazzadeh@gmail.com>
6
6
  License: MIT
@@ -17,14 +17,6 @@ Requires-Dist: python-keycloak==5.8.1
17
17
  Requires-Dist: sqlalchemy>=2.0
18
18
  Requires-Dist: starlette>=0.47
19
19
  Requires-Dist: uvicorn>=0.35
20
- Provides-Extra: dev
21
- Requires-Dist: mypy>=1.10; extra == 'dev'
22
- Requires-Dist: pre-commit>=3.7; extra == 'dev'
23
- Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
24
- Requires-Dist: pytest>=8.0; extra == 'dev'
25
- Requires-Dist: ruff>=0.5; extra == 'dev'
26
- Requires-Dist: tomli; extra == 'dev'
27
- Requires-Dist: twine; extra == 'dev'
28
20
  Description-Content-Type: text/markdown
29
21
 
30
22
  # nlbone
@@ -0,0 +1,72 @@
1
+ nlbone/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ nlbone/container.py,sha256=TrjMmUNXfwW4R4dRftK1GOpYu3wqfhixtnwuZkxVWvI,2104
3
+ nlbone/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ nlbone/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ nlbone/adapters/auth/__init__.py,sha256=hkDHvsFhw_UiOHG9ZSMqjiAhK4wumEforitveSZswVw,42
6
+ nlbone/adapters/auth/keycloak.py,sha256=adZ9r-IPybSzWEQCRlPcxeDjPf8rKVf1xq3zgpMTqrY,2616
7
+ nlbone/adapters/db/__init__.py,sha256=A8O5Vk2o71HumV7pQBXOszWSzOfLVn5FqbHOAUCWugk,218
8
+ nlbone/adapters/db/memory.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ nlbone/adapters/db/postgres.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ nlbone/adapters/db/sqlalchemy/__init__.py,sha256=6JYJH0xZs3aR-zuyMpRhsdzFugmqz8nprwTQLprqhZc,313
11
+ nlbone/adapters/db/sqlalchemy/base.py,sha256=kha9xmklzhuQAK8QEkNBn-mAHq8dUKbOM-3abaBpWmQ,71
12
+ nlbone/adapters/db/sqlalchemy/engine.py,sha256=UCegauVB1gvo42ThytYnn5VIcQBwR-5xhcXYFApRFNk,3448
13
+ nlbone/adapters/db/sqlalchemy/query_builder.py,sha256=U5pqpCfJKuMIxIEHyodoHuPgE8jf53slC1ScKZR5xa4,8653
14
+ nlbone/adapters/db/sqlalchemy/repository.py,sha256=J_DBE73JhHPYCk90c5-O7lQtZbxDgqjjN9OcWy4Omvs,1660
15
+ nlbone/adapters/db/sqlalchemy/schema.py,sha256=7ELexoAnbSjEJ3JYDNRSKOuraS51DupZ6H8QIkuGcsM,1043
16
+ nlbone/adapters/db/sqlalchemy/uow.py,sha256=nRxNpY-WoWHpym-XeZ8VHm0MYvtB9wuopOeNdV_ebk8,2088
17
+ nlbone/adapters/http_clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ nlbone/adapters/http_clients/email_gateway.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ nlbone/adapters/http_clients/uploadchi.py,sha256=BGdGC-p8EmXYn29da577Kas2CzZVDAb9XJ9xx2LJioY,4713
20
+ nlbone/adapters/http_clients/uploadchi_async.py,sha256=hBx0jzYYZAX1DCkImZ98zdUob8D9PQH7jykDXIjwG9I,3866
21
+ nlbone/adapters/messaging/__init__.py,sha256=UDAwu3s-JQmOZjWz2Nu0SgHhnkbeOhKDH_zLD75oWMY,40
22
+ nlbone/adapters/messaging/event_bus.py,sha256=w-NPwDiPMLFPU_enRQCtfQXOALsXfg31u57R8sG_-1U,781
23
+ nlbone/adapters/messaging/redis.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ nlbone/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ nlbone/config/logging.py,sha256=T7Wm61Bu6QqhmnGKdWRQBqnVYKOwaFguiNs2CbJwYfE,5010
26
+ nlbone/config/settings.py,sha256=7DoouDUrWN_fZmo1NngoFFNRMY6kNVq4VGpocnYVeQ4,3208
27
+ nlbone/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ nlbone/core/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ nlbone/core/application/events.py,sha256=eQGLE0aZHuWJsy9J-qRse4CMXOtweH9-2rQ7AIPRMEQ,614
30
+ nlbone/core/application/services.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ nlbone/core/application/use_case.py,sha256=3GMQZ3CFK5cbLoBNBgohPft6GBq2j9_wr8iKRq_osQA,247
32
+ nlbone/core/application/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ nlbone/core/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ nlbone/core/domain/base.py,sha256=5oUfbpaI8juJ28Api8J9IXOSm55VI2bp4QNhA0U8h2Y,1251
35
+ nlbone/core/domain/events.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ nlbone/core/domain/models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ nlbone/core/ports/__init__.py,sha256=gx-Ubj7h-1vvnu56sNnRqmer7HHfW3rX2WLl-0AX5U0,214
38
+ nlbone/core/ports/auth.py,sha256=Gh0yQsxx2OD6pDH2_p-khsA-bVoypP1juuqMoSfjZUo,493
39
+ nlbone/core/ports/event_bus.py,sha256=_Om1GOOT-F325oV6_LJXtLdx4vu5i7KrpTDD3qPJXU0,325
40
+ nlbone/core/ports/files.py,sha256=1k-Vm0ld89EnFK2wybSXIJm5gQNpeuO92PD7d4VMh8s,1737
41
+ nlbone/core/ports/messaging.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ nlbone/core/ports/repo.py,sha256=zOw8CTMAu5DKKy2wZpT3_6JWWjaJCDt7q4dOiJYrCOQ,651
43
+ nlbone/core/ports/uow.py,sha256=SmBdRf0NvSdIjQ3Le1QGz8kNGBk7jgNHtNguvXRwmgs,557
44
+ nlbone/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ nlbone/interfaces/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ nlbone/interfaces/api/exception_handlers.py,sha256=vxNEBgAaQygLgAz1UNt3wHj0SdCJOwtLOv_BwTfir3o,4050
47
+ nlbone/interfaces/api/exceptions.py,sha256=6zWkMnmNGaSa3Myk3MxPCFje0yWWDcbqivIeOKxZuhs,2258
48
+ nlbone/interfaces/api/routers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
+ nlbone/interfaces/api/schemas.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ nlbone/interfaces/api/dependencies/__init__.py,sha256=rnYRrFVZCfICQrp_PVFlzNg3BeC57yM08wn2DbOHCfk,359
51
+ nlbone/interfaces/api/dependencies/async_auth.py,sha256=bfxgBXhp29WqevjTG4jrdPNR-75APm4jKyHdOOtxnp4,1825
52
+ nlbone/interfaces/api/dependencies/auth.py,sha256=VcWnEipQr4dqhzGbP0G9a5nJdplnpFG3wm_NlDCb8z4,1765
53
+ nlbone/interfaces/api/dependencies/db.py,sha256=DGX_hGVrPRnRIuhMnirJZvKNyj1OLC_hQSIrA9NVnNw,468
54
+ nlbone/interfaces/api/dependencies/uow.py,sha256=crV9mu4LlmJ0JI1uzNYkZX2VJUjQ6hWvxyXqleZL_ak,1183
55
+ nlbone/interfaces/api/middleware/__init__.py,sha256=zbX2vaEAfxRMIYwO2MVY_2O6bqG5H9o7HqGpX14U3Is,158
56
+ nlbone/interfaces/api/middleware/access_log.py,sha256=vIkxxxfy2HcjqqKb8XCfGCcSrivAC8u6ie75FMq5x-U,1032
57
+ nlbone/interfaces/api/middleware/add_request_context.py,sha256=av-qs0biOYuF9R6RJOo2eYsFqDL9WRYWcjVakFhbt-w,1834
58
+ nlbone/interfaces/api/middleware/authentication.py,sha256=ze7vCm492QsX9nPL6A-PqZCmC1C5ZgUE-OWI6fCLpsU,1809
59
+ nlbone/interfaces/api/pagination/__init__.py,sha256=sWKKQFa2Z-1SlprQOqImOa2c9exq4wueKpUL_9QM7wc,417
60
+ nlbone/interfaces/api/pagination/offset_base.py,sha256=B6rHxzDsxQbm-d2snM6tjgnhWyZw7zvs7fcehV0gpa0,3621
61
+ nlbone/interfaces/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ nlbone/interfaces/cli/init_db.py,sha256=EehZEsMeyR6vA4WvM6sAZ-IRhyiJZdrWBaYiptkJVdc,482
63
+ nlbone/interfaces/cli/main.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
+ nlbone/interfaces/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
+ nlbone/interfaces/jobs/sync_tokens.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ nlbone/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
+ nlbone/utils/context.py,sha256=MmclJ24BG2uvSTg1IK7J-Da9BhVFDQ5ag4Ggs2FF1_w,1600
68
+ nlbone/utils/time.py,sha256=0v7TpTglIo1BfwErceXbnFOu6XExNqTQELDXzxLdnAg,103
69
+ nlbone-0.4.1.dist-info/METADATA,sha256=byHqPsOWgE3I5pn0hJjszvG2KSCZFVfAxk7ZuM_4rAE,1979
70
+ nlbone-0.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
71
+ nlbone-0.4.1.dist-info/licenses/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ nlbone-0.4.1.dist-info/RECORD,,
File without changes
File without changes
@@ -1,64 +0,0 @@
1
- nlbone/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- nlbone/container.py,sha256=KO8y8hfEt0graWhUi-FU_rG-WPckl-uF7H9JGcwEu38,1321
3
- nlbone/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- nlbone/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- nlbone/adapters/auth/__init__.py,sha256=Eh9kWjY1I8vi17gK0oOzBLJwJX_GFuUcJIN7cLU6lJg,41
6
- nlbone/adapters/auth/keycloak.py,sha256=8UjT1GMenzolR-XAzlKERJDWh3TLBrxaIasMenRYfw4,2614
7
- nlbone/adapters/db/__init__.py,sha256=VzhE_VOTFxDE0yUOw-f8UCLFCVhdyKnrrhbqzZUy76A,218
8
- nlbone/adapters/db/memory.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- nlbone/adapters/db/postgres.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- nlbone/adapters/db/sqlalchemy/__init__.py,sha256=1yw3keC1GYqQ6AM4283if_TpeB0xbm0-FBD7XUf5bcg,67
11
- nlbone/adapters/db/sqlalchemy/base.py,sha256=-5FnCMKETJ2xykhViHQuNBdbRMaxuieuatgiEl4Lllw,73
12
- nlbone/adapters/db/sqlalchemy/engine.py,sha256=m3nVY7KU12ksM3vK9fEgYEobrz9L8hfsgjI8cSNtBMY,3030
13
- nlbone/adapters/db/sqlalchemy/query_builder.py,sha256=mgj0mE0tbBVOAm1nd2nfR3p4EgV_NPYASsfP_4lF6yA,8504
14
- nlbone/adapters/db/sqlalchemy/schema.py,sha256=iiE42UT-DJh-ohezLFBWTBFN5WtrfZdtKToQDNLvoOs,1044
15
- nlbone/adapters/http_clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- nlbone/adapters/http_clients/email_gateway.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- nlbone/adapters/http_clients/uploadchi.py,sha256=qguGDQ2NGNSN3BOFSFUINn8mKS4LI23UGURJNhDUH2E,4647
18
- nlbone/adapters/http_clients/uploadchi_async.py,sha256=u-CHisQoTjuhyXb5h-TLDnfeUnN47e-VEbKamUnkaYI,3710
19
- nlbone/adapters/messaging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- nlbone/adapters/messaging/redis.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- nlbone/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- nlbone/config/logging.py,sha256=68WRQejEpL6eHEY_cOgdlOjndKc-RWth0n4YmXnceC8,5041
23
- nlbone/config/settings.py,sha256=LRKQsBJgTYKiwMt8tv-ipoG6hdBkieXNJZVdPZx6WTQ,4070
24
- nlbone/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- nlbone/core/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- nlbone/core/application/services.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- nlbone/core/application/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- nlbone/core/application/use_cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- nlbone/core/application/use_cases/register_user.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- nlbone/core/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- nlbone/core/domain/events.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- nlbone/core/domain/models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- nlbone/core/ports/__init__.py,sha256=J24ldeLIQ_AWqKpdNbtaEWq4-G4cyWx8XEG0Dt6keao,29
34
- nlbone/core/ports/auth.py,sha256=v2NiH8FzKXZ1MabzQxaK7AQvnt-GQindYIki90swTE4,492
35
- nlbone/core/ports/files.py,sha256=yJwW0kFWxkrT4ntfXDdJYyKSEWB6daEuaI6zgmeg0Gg,1596
36
- nlbone/core/ports/messaging.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- nlbone/core/ports/repo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- nlbone/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- nlbone/interfaces/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- nlbone/interfaces/api/exception_handlers.py,sha256=Z3_dTGAmpHfgaMe_HTW89OpRtq-aamzaMTNkMIOdW3w,4092
41
- nlbone/interfaces/api/exceptions.py,sha256=uJWNEu5-cgoMedYebNHuIFJioXl_fnBhO89E6FINT2A,2259
42
- nlbone/interfaces/api/routers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- nlbone/interfaces/api/schemas.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- nlbone/interfaces/api/dependencies/__init__.py,sha256=V9Nf0JcQkJ0FjBYDRyQsJcLQUejZ2pSmmn05hdKgK1Y,167
45
- nlbone/interfaces/api/dependencies/auth.py,sha256=GHUlZ5L2N6ilOaOJqRicHrORB3AD3z2Y-qrO9Q2dNr4,1774
46
- nlbone/interfaces/api/dependencies/db.py,sha256=IqDVq1lcCCxd22FBUg523lVANM_j71BYAQtsbrHc4M8,465
47
- nlbone/interfaces/api/middleware/__init__.py,sha256=Xcxg9Oy8uToPXaTSdBTKhst-hZwsaIEhqxx4mmo1bZI,157
48
- nlbone/interfaces/api/middleware/access_log.py,sha256=dEjk_m4fyQ72S2xLzDydDoaw2F9Tvmfl_acat1YThE0,972
49
- nlbone/interfaces/api/middleware/add_request_context.py,sha256=i8EV4BvZyrBcNfU-uTkybr7J7ypYvJq8mXSntM6oel4,1816
50
- nlbone/interfaces/api/middleware/authentication.py,sha256=-jfV-Ry04qsFd1cJh7KGoGpfnUKIogPF2fK42ZTFgBk,1806
51
- nlbone/interfaces/api/pagination/__init__.py,sha256=zrfmxpaeYoAQ5AjX-AKivs8Zq5Qbr4hJmGzQU4UIN14,426
52
- nlbone/interfaces/api/pagination/offset_base.py,sha256=2MINXX4wXoynOTPgn28lp_UQufBUluLh_qjF-5AYFxk,3655
53
- nlbone/interfaces/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- nlbone/interfaces/cli/init_db.py,sha256=6Q05gwcPa6ywwz3Dzi0hiV8bycg0zU_3eWGsL6VNVRk,479
55
- nlbone/interfaces/cli/main.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- nlbone/interfaces/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- nlbone/interfaces/jobs/sync_tokens.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- nlbone/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- nlbone/utils/context.py,sha256=AUiN1jM0ebNMopZQoJSqWTfUHuVrp-HV8x6g7QsbEJ8,1601
60
- nlbone/utils/time.py,sha256=dC0ucyAmHdNf3wpA_JPinl2VJRubWqx2vcRpJsT3-0k,102
61
- nlbone-0.3.3.dist-info/METADATA,sha256=OIDeImr67YyFifYgsM-9nrGNFBMoBu_6UQjkdLR6JE0,2298
62
- nlbone-0.3.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
63
- nlbone-0.3.3.dist-info/licenses/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- nlbone-0.3.3.dist-info/RECORD,,
File without changes