From 9f097f1fb97804881e933eee48873906bbe8a41c Mon Sep 17 00:00:00 2001 From: Arnaud Berlioz Date: Fri, 21 Jul 2023 11:43:11 +0200 Subject: [PATCH 1/4] chore(extensions): fix shared_limit typing --- slowapi/extension.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slowapi/extension.py b/slowapi/extension.py index 306f9e7..ac14a06 100644 --- a/slowapi/extension.py +++ b/slowapi/extension.py @@ -818,7 +818,7 @@ class Limiter: def shared_limit( self, - limit_value: Union[str, Callable[[str], str]], + limit_value: StrOrCallableStr, scope: StrOrCallableStr, key_func: Optional[Callable[..., str]] = None, error_message: Optional[str] = None, From aa9eb7ae6c7a8d479dfa40f4e913f814377b08a7 Mon Sep 17 00:00:00 2001 From: Daniel Lok Date: Mon, 5 Feb 2024 12:06:31 +0800 Subject: [PATCH 2/4] fix: only pass .env to config if it exists --- slowapi/extension.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/slowapi/extension.py b/slowapi/extension.py index ac14a06..541e18f 100644 --- a/slowapi/extension.py +++ b/slowapi/extension.py @@ -6,6 +6,7 @@ import functools import inspect import itertools import logging +import os import time from datetime import datetime from email.utils import formatdate, parsedate_to_datetime @@ -154,8 +155,9 @@ class Limiter: self.logger = logging.getLogger("slowapi") + dotenv_file_exists = os.path.isfile(".env") self.app_config = Config( - config_filename if config_filename is not None else ".env" + ".env" if dotenv_file_exists and config_filename is None else config_filename ) self.enabled = enabled From e2db7e2756d9bda2cd55b3d80493007434e6e120 Mon Sep 17 00:00:00 2001 From: Daniel Lok Date: Mon, 5 Feb 2024 18:04:07 +0800 Subject: [PATCH 3/4] format Signed-off-by: Daniel Lok --- slowapi/extension.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/slowapi/extension.py b/slowapi/extension.py index 541e18f..a3ae774 100644 --- a/slowapi/extension.py +++ b/slowapi/extension.py @@ -157,7 +157,9 @@ class Limiter: dotenv_file_exists = os.path.isfile(".env") self.app_config = Config( - ".env" if dotenv_file_exists and config_filename is None else config_filename + ".env" + if dotenv_file_exists and config_filename is None + else config_filename ) self.enabled = enabled From 64a15b36c8f49a260c32c04c9aa259342a707106 Mon Sep 17 00:00:00 2001 From: Daniel Lok Date: Mon, 5 Feb 2024 19:21:01 +0800 Subject: [PATCH 4/4] chore: prepare 0.1.9 release --- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bf333f..dc3d761 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## [0.1.9] - 2024-02-05 + +### Added + +- Fix `limit_value` typehint in `limit()` function (thanks @PookieBuns) +- Fix `limit_value` typehint in `shared_limit()` function (thanks @aberlioz) +- Only pass `".env"` to starlette `Config` if `".env"` file exists (thanks @daniellok-db) + ## [0.1.8] - 2023-04-07 ### Added diff --git a/pyproject.toml b/pyproject.toml index f404216..c242b7d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "slowapi" -version = "0.1.8" +version = "0.1.9" description = "A rate limiting extension for Starlette and Fastapi" authors = ["Laurent Savaete "] license = "MIT"