From e20722848941e6c2de08a3e24033379f5f9d7f2b Mon Sep 17 00:00:00 2001 From: Nicholas Hairs Date: Sat, 24 Aug 2024 11:35:16 +1000 Subject: [PATCH 1/6] [pyproject] Remove python3.13 restriction on rust based libraries --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 40ec377..6b6cc83 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,8 +45,8 @@ GitHub = "https://github.com/nhairs/python-json-logger" [project.optional-dependencies] dev = [ ## Optional but required for dev - "orjson;implementation_name!='pypy' and python_version<'3.13'", - "msgspec;implementation_name!='pypy' and python_version<'3.13'", + "orjson;implementation_name!='pypy'", + "msgspec;implementation_name!='pypy'", ## Lint "validate-pyproject[all]", "black", From 8085615a942001b45994fb2f0d13150552e47200 Mon Sep 17 00:00:00 2001 From: Nicholas Hairs Date: Mon, 21 Oct 2024 20:14:40 +1100 Subject: [PATCH 2/6] Use released python 3.13 --- .github/workflows/test-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml index de88c91..73d9b96 100644 --- a/.github/workflows/test-suite.yml +++ b/.github/workflows/test-suite.yml @@ -44,7 +44,7 @@ jobs: - "3.10" - "3.11" - "3.12" - - "3.13-dev" + - "3.13" os: - ubuntu-latest - windows-latest From 018e10aceda0a10e6895830d7032677668476daf Mon Sep 17 00:00:00 2001 From: Nicholas Hairs Date: Mon, 21 Oct 2024 21:02:26 +1100 Subject: [PATCH 3/6] Update classifiers --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 6b6cc83..93a6148 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,6 +34,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: System :: Logging", "Typing :: Typed", ] From a755d3715de913f1002af74880935089660bb84a Mon Sep 17 00:00:00 2001 From: Nicholas Hairs Date: Mon, 9 Dec 2024 21:27:21 +1100 Subject: [PATCH 4/6] Only drop restriction on orjson msgspec is being slow to update --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b319eba..e3c5cc4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,7 @@ GitHub = "https://github.com/nhairs/python-json-logger" dev = [ ## Optional but required for dev "orjson;implementation_name!='pypy'", - "msgspec;implementation_name!='pypy'", + "msgspec;implementation_name!='pypy' and python_version<'3.13'", ## Lint "validate-pyproject[all]", "black", From 4835eec9076a160ef985f3306b123a17be51e253 Mon Sep 17 00:00:00 2001 From: Nicholas Hairs Date: Mon, 9 Dec 2024 21:35:47 +1100 Subject: [PATCH 5/6] Use prerelease msgspec --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index e3c5cc4..2cc203a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,7 @@ dev = [ ## Optional but required for dev "orjson;implementation_name!='pypy'", "msgspec;implementation_name!='pypy' and python_version<'3.13'", + "msgspec-python313-pre;implementation_name!='pypy' and python_version=='3.13'", ## Lint "validate-pyproject[all]", "black", From 9fc3fbca56030e6d543f5ecdeaef40f4c2cf90d8 Mon Sep 17 00:00:00 2001 From: Nicholas Hairs Date: Wed, 11 Dec 2024 10:40:48 +1100 Subject: [PATCH 6/6] Update docs --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index e81cd70..a702152 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `pythonjsonlogger.[orjson,msgspec]` now throws a `pythonjsonlogger.exception.MissingPackageError` when required libraries are not available. These contain more information about what is missing whilst still being an `ImportError`. - `defaults` parameter is no longer ignored and now conforms to the standard library. Setting a defaults dictionary will add the specified keys if the those keys do not exist in a record or weren't passed by the `extra` parameter when logging a message. - `typing_extensions` is only installed on Python version < 3.10. +- Support Python 3.13 + - `msgspec` has only been tested against pre-release versions. Thanks @cjwatson and @bharel