Skip to content

Commit f86a5b1

Browse files
authored
fix(deps): relax dependency version constraints
1 parent 84b147b commit f86a5b1

File tree

5 files changed

+84
-62
lines changed

5 files changed

+84
-62
lines changed

examples/example_cli.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ async def service_factory() -> AsyncIterator[ApiKeyService]:
5151
await async_session.rollback()
5252
raise
5353

54+
await async_engine.dispose()
55+
5456

5557
app = create_api_keys_cli(service_factory)
5658

pyproject.toml

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,36 +46,44 @@ Changelog = "https://github.com/Athroniaeth/fastapi-api-key/blob/main/CHANGELOG.
4646

4747

4848
[project.optional-dependencies]
49+
4950
bcrypt = [
50-
"bcrypt>=5.0.0",
51+
"bcrypt>=4.1.0",
5152
]
53+
5254
argon2 = [
53-
"argon2-cffi>=25.1.0",
55+
"argon2-cffi>=23.1.0",
5456
]
57+
5558
sqlalchemy = [
56-
"sqlalchemy>=2.0.43",
59+
"sqlalchemy>=2.0.0",
5760
]
61+
5862
aiocache = [
59-
"aiocache>=0.12.3",
60-
]
61-
core = [
62-
"sqlalchemy>=2.0.43",
63-
"argon2-cffi>=25.1.0",
64-
"bcrypt>=5.0.0",
65-
"aiocache>=0.12.3",
63+
"aiocache>=0.12.0",
6664
]
65+
6766
fastapi = [
68-
"fastapi>=0.118.0",
67+
"fastapi>=0.100.0",
6968
]
69+
70+
core = [
71+
"sqlalchemy>=2.0.0",
72+
"argon2-cffi>=23.1.0",
73+
"bcrypt>=4.1.0",
74+
"aiocache>=0.12.0",
75+
]
76+
7077
all = [
71-
"fastapi>=0.118.0",
72-
"sqlalchemy>=2.0.43",
73-
"argon2-cffi>=25.1.0",
74-
"bcrypt>=5.0.0",
75-
"aiocache>=0.12.3",
78+
"fastapi>=0.100.0",
79+
"sqlalchemy>=2.0.0",
80+
"argon2-cffi>=23.1.0",
81+
"bcrypt>=4.1.0",
82+
"aiocache>=0.12.0",
7683
]
84+
7785
cli = [
78-
"typer>=0.12.5",
86+
"typer>=0.9.0",
7987
]
8088

8189
[build-system]

src/fastapi_api_key/__main__.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
import typer
44
from typer import Typer
55

6-
from fastapi_api_key.domain.entities import ApiKey
76
from fastapi_api_key.services.base import DEFAULT_SEPARATOR, DEFAULT_GLOBAL_PREFIX
8-
from fastapi_api_key.utils import key_id_factory, key_secret_factory
7+
98

109
app = Typer(no_args_is_help=True, help="FastAPI API Keys CLI")
1110

@@ -36,6 +35,9 @@ def generate(
3635
separator: str = DEFAULT_SEPARATOR,
3736
) -> str:
3837
"""Generate a new API key for set in dotenv file."""
38+
from fastapi_api_key.domain.entities import ApiKey
39+
from fastapi_api_key.utils import key_id_factory, key_secret_factory
40+
3941
key_id = key_id or key_id_factory()
4042
key_secret = key_secret or key_secret_factory()
4143

@@ -49,6 +51,16 @@ def generate(
4951
return api_key
5052

5153

54+
@app.command(name="pepper")
55+
def generate_pepper() -> str:
56+
"""Generate a new pepper for hashing API keys."""
57+
from fastapi_api_key.utils import key_secret_factory
58+
59+
pepper = key_secret_factory(length=32)
60+
typer.echo(f'Set in your .env : "SECRET_PEPPER={pepper}"')
61+
return pepper
62+
63+
5264
def main():
5365
app()
5466

src/fastapi_api_key/services/base.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,14 @@ async def _verify_key(self, api_key: str, required_scopes: Optional[List[str]] =
252252
"""
253253
...
254254

255+
async def load_dotenv(self, envvar_prefix: str = "API_KEY_") -> None:
256+
"""Load environment variables into the service configuration.
257+
258+
Args:
259+
envvar_prefix: The prefix to use for environment variables.
260+
"""
261+
...
262+
255263

256264
class ApiKeyService(AbstractApiKeyService):
257265
"""Concrete implementation of the API key service.
@@ -283,11 +291,6 @@ def __init__(
283291
)
284292

285293
async def load_dotenv(self, envvar_prefix: str = "API_KEY_"):
286-
"""Load environment variables into the service configuration.
287-
288-
Args:
289-
envvar_prefix: The prefix to use for environment variables.
290-
"""
291294
list_keys = [key for key in os.environ.keys() if key.startswith(envvar_prefix)]
292295
list_api_key = [os.environ[key] for key in list_keys]
293296

uv.lock

Lines changed: 35 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)