Add pydantic settings and bcrypt

This commit is contained in:
Esa Kataja
2025-02-28 12:26:33 +02:00
parent b69e00103e
commit 132460a2f8
3 changed files with 54 additions and 0 deletions
+2
View File
@@ -8,6 +8,8 @@ dependencies = [
"duckdb>=1.2.0",
"fastapi>=0.115.8",
"loguru>=0.7.3",
"pydantic-settings>=2.8.1",
"python-bcrypt>=0.3.2",
"rich>=13.9.4",
"uvicorn>=0.34.0",
]
+19
View File
@@ -0,0 +1,19 @@
from pydantic_settings import BaseSettings
from pathlib import Path
class Settings(BaseSettings):
data_dir: Path = Path("data")
logs_dir: Path = data_dir / Path("logs")
database_file: Path = data_dir / Path("eurovision.duckdb")
admin_username: str = "admin"
admin_password: str = "admin"
log_level: str = "DEBUG"
class Config:
env_file = ".env"
settings = Settings()
Generated
+33
View File
@@ -1,4 +1,5 @@
version = 1
revision = 1
requires-python = ">=3.12"
[[package]]
@@ -77,6 +78,8 @@ dependencies = [
{ name = "duckdb" },
{ name = "fastapi" },
{ name = "loguru" },
{ name = "pydantic-settings" },
{ name = "python-bcrypt" },
{ name = "rich" },
{ name = "uvicorn" },
]
@@ -86,6 +89,8 @@ requires-dist = [
{ name = "duckdb", specifier = ">=1.2.0" },
{ name = "fastapi", specifier = ">=0.115.8" },
{ name = "loguru", specifier = ">=0.7.3" },
{ name = "pydantic-settings", specifier = ">=2.8.1" },
{ name = "python-bcrypt", specifier = ">=0.3.2" },
{ name = "rich", specifier = ">=13.9.4" },
{ name = "uvicorn", specifier = ">=0.34.0" },
]
@@ -209,6 +214,19 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186 },
]
[[package]]
name = "pydantic-settings"
version = "2.8.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pydantic" },
{ name = "python-dotenv" },
]
sdist = { url = "https://files.pythonhosted.org/packages/88/82/c79424d7d8c29b994fb01d277da57b0a9b09cc03c3ff875f9bd8a86b2145/pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585", size = 83550 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/0b/53/a64f03044927dc47aafe029c42a5b7aabc38dfb813475e0e1bf71c4a59d0/pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c", size = 30839 },
]
[[package]]
name = "pygments"
version = "2.19.1"
@@ -218,6 +236,21 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 },
]
[[package]]
name = "python-bcrypt"
version = "0.3.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/5e/7f/78b41e3c70ac95673eec60cdc4f4f11d84c7ce4966689ab8ecfca1185eca/python-bcrypt-0.3.2.tar.gz", hash = "sha256:b203ef09dd6543869ccedcf349aac39506db29dd5053ded315a829b9625214aa", size = 19388 }
[[package]]
name = "python-dotenv"
version = "1.0.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 },
]
[[package]]
name = "rich"
version = "13.9.4"