nlbone 0.3.1__tar.gz → 0.3.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.
Files changed (66) hide show
  1. {nlbone-0.3.1 → nlbone-0.3.3}/PKG-INFO +1 -1
  2. {nlbone-0.3.1 → nlbone-0.3.3}/pyproject.toml +1 -1
  3. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/config/settings.py +21 -4
  4. nlbone-0.3.3/src/nlbone/interfaces/api/dependencies/__init__.py +2 -0
  5. nlbone-0.3.1/src/nlbone/interfaces/api/dependencies/__init__.py +0 -1
  6. {nlbone-0.3.1 → nlbone-0.3.3}/.gitignore +0 -0
  7. {nlbone-0.3.1 → nlbone-0.3.3}/LICENSE +0 -0
  8. {nlbone-0.3.1 → nlbone-0.3.3}/README.md +0 -0
  9. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/__init__.py +0 -0
  10. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/__init__.py +0 -0
  11. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/auth/__init__.py +0 -0
  12. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/auth/keycloak.py +0 -0
  13. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/__init__.py +0 -0
  14. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/memory.py +0 -0
  15. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/postgres.py +0 -0
  16. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/sqlalchemy/__init__.py +0 -0
  17. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/sqlalchemy/base.py +0 -0
  18. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/sqlalchemy/engine.py +0 -0
  19. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/sqlalchemy/query_builder.py +0 -0
  20. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/db/sqlalchemy/schema.py +0 -0
  21. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/http_clients/__init__.py +0 -0
  22. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/http_clients/email_gateway.py +0 -0
  23. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/http_clients/uploadchi.py +0 -0
  24. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/http_clients/uploadchi_async.py +0 -0
  25. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/messaging/__init__.py +0 -0
  26. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/adapters/messaging/redis.py +0 -0
  27. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/config/__init__.py +0 -0
  28. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/config/logging.py +0 -0
  29. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/container.py +0 -0
  30. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/__init__.py +0 -0
  31. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/application/__init__.py +0 -0
  32. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/application/services/__init__.py +0 -0
  33. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/application/services.py +0 -0
  34. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/application/use_cases/__init__.py +0 -0
  35. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/application/use_cases/register_user.py +0 -0
  36. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/domain/__init__.py +0 -0
  37. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/domain/events.py +0 -0
  38. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/domain/models.py +0 -0
  39. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/ports/__init__.py +0 -0
  40. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/ports/auth.py +0 -0
  41. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/ports/files.py +0 -0
  42. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/ports/messaging.py +0 -0
  43. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/core/ports/repo.py +0 -0
  44. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/__init__.py +0 -0
  45. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/__init__.py +0 -0
  46. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/dependencies/auth.py +0 -0
  47. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/dependencies/db.py +0 -0
  48. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/exception_handlers.py +0 -0
  49. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/exceptions.py +0 -0
  50. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/middleware/__init__.py +0 -0
  51. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/middleware/access_log.py +0 -0
  52. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/middleware/add_request_context.py +0 -0
  53. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/middleware/authentication.py +0 -0
  54. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/pagination/__init__.py +0 -0
  55. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/pagination/offset_base.py +0 -0
  56. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/routers.py +0 -0
  57. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/api/schemas.py +0 -0
  58. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/cli/__init__.py +0 -0
  59. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/cli/init_db.py +0 -0
  60. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/cli/main.py +0 -0
  61. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/jobs/__init__.py +0 -0
  62. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/interfaces/jobs/sync_tokens.py +0 -0
  63. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/types.py +0 -0
  64. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/utils/__init__.py +0 -0
  65. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/utils/context.py +0 -0
  66. {nlbone-0.3.1 → nlbone-0.3.3}/src/nlbone/utils/time.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nlbone
3
- Version: 0.3.1
3
+ Version: 0.3.3
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "nlbone"
7
- version = "0.3.1"
7
+ version = "0.3.3"
8
8
  description = "Backbone package for interfaces and infrastructure in Python projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -22,11 +22,21 @@ def _guess_env_file() -> str | None:
22
22
  return str(f)
23
23
 
24
24
 
25
+ def _is_production_env() -> bool:
26
+ raw = os.getenv("NLBONE_ENV") or os.getenv("ENV") or os.getenv("ENVIRONMENT")
27
+ if not raw:
28
+ return False
29
+ return raw.strip().lower() in {"prod", "production"}
30
+
31
+
25
32
  class Settings(BaseSettings):
26
33
  # ---------------------------
27
34
  # App
28
35
  # ---------------------------
29
- ENV: Literal["local", "dev", "staging", "prod"] = Field(default="local")
36
+ PORT: int = 8000
37
+ ENV: Literal["local", "dev", "staging", "prod"] = Field(default="local",
38
+ validation_alias=AliasChoices("NLBONE_ENV", "ENV",
39
+ "ENVIRONMENT"))
30
40
  DEBUG: bool = Field(default=False)
31
41
  LOG_LEVEL: Literal["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG"] = Field(default="INFO")
32
42
  LOG_JSON: bool = Field(default=True)
@@ -53,7 +63,9 @@ class Settings(BaseSettings):
53
63
  # ---------------------------
54
64
  # Database
55
65
  # ---------------------------
56
- POSTGRES_DB_DSN: str = Field(default="postgresql+asyncpg://user:pass@localhost:5432/nlbone")
66
+ POSTGRES_DB_DSN: str = Field(default="postgresql+asyncpg://user:pass@localhost:5432/nlbone",
67
+ validation_alias=AliasChoices("NLBONE_POSTGRES_DB_DSN",
68
+ "POSTGRES_DB_DSN", "DATABASE_URL", "DB_DSN"))
57
69
 
58
70
  # ---------------------------
59
71
  # Messaging / Cache
@@ -76,6 +88,12 @@ class Settings(BaseSettings):
76
88
  extra="ignore",
77
89
  )
78
90
 
91
+ @classmethod
92
+ def load(cls, env_file: str | None = None) -> "Settings":
93
+ if _is_production_env():
94
+ return cls()
95
+ return cls(_env_file=env_file or _guess_env_file())
96
+
79
97
 
80
98
  @lru_cache(maxsize=4)
81
99
  def get_settings(env_file: str | None = None) -> Settings:
@@ -85,5 +103,4 @@ def get_settings(env_file: str | None = None) -> Settings:
85
103
  from nlbone.config.settings import get_settings
86
104
  settings = get_settings()
87
105
  """
88
- env_file = env_file or _guess_env_file()
89
- return Settings(_env_file=env_file)
106
+ return Settings.load(env_file)
@@ -0,0 +1,2 @@
1
+ from .db import get_session, get_async_session
2
+ from .auth import has_access, client_has_access, current_client_id, current_user_id, current_request, user_authenticated
@@ -1 +0,0 @@
1
- from .db import get_session, get_async_session
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes