Repository navigation
Prep for release - #90
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuidePrepares the project for release by dropping Python 3.10, adopting Python 3.11–3.15 support, and extending nox/CI coverage to free-threaded Python 3.14t and 3.15t runtimes. The lockfile is regenerated, and CI now relies on uv/nox environment provisioning rather than a separate setup-python step. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Hey - I've found 2 issues
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="pyproject.toml" line_range="26" />
<code_context>
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
+ "Programming Language :: Python :: 3.15",
+ "Programming Language :: Python :: Free Threading :: 2 - Beta",
]
dependencies = []
</code_context>
<issue_to_address>
**Concurrent log messages are dropped**
When one thread sets `log_file_path` while another calls `log_message` on the same caching logger, `log_message` can append to `_messages` while the path setter is flushing the list; the setter then replaces it with an empty list, so the concurrent message is never written to the log file.
Synchronize the cache transition in the path setter with appends in `log_message`.
</issue_to_address>
### Comment 2
<location path="pyproject.toml" line_range="13" />
<code_context>
license-files = ["LICENSE"]
authors = [{ name = "Gavin Huttley", email = "Gavin.Huttley@anu.edu.au" }]
-requires-python = ">=3.10"
+requires-python = ">=3.11"
keywords = ["science", "logging"]
classifiers = [
</code_context>
<issue_to_address>
**Python support badge misleads users**
When a Python 3.10 user relies on the README badge to determine compatibility, the README advertises Python 3.10+ support, but the package metadata rejects Python 3.10 during installation, so the advertised minimum is incorrect.
Update the README badge to advertise Python 3.11+ support.
</issue_to_address>| "Programming Language :: Python :: 3.13", | ||
| "Programming Language :: Python :: 3.14", | ||
| "Programming Language :: Python :: 3.15", | ||
| "Programming Language :: Python :: Free Threading :: 2 - Beta", |
There was a problem hiding this comment.
🟡 Medium · Concurrent log messages are dropped
When one thread sets log_file_path while another calls log_message on the same caching logger, log_message can append to _messages while the path setter is flushing the list; the setter then replaces it with an empty list, so the concurrent message is never written to the log file.
Synchronize the cache transition in the path setter with appends in log_message.
Prompt for AI agents
In `pyproject.toml` at line 26:
**Concurrent log messages are dropped**
When one thread sets `log_file_path` while another calls `log_message` on the same caching logger, `log_message` can append to `_messages` while the path setter is flushing the list; the setter then replaces it with an empty list, so the concurrent message is never written to the log file.
Synchronize the cache transition in the path setter with appends in `log_message`.
Coverage Report for CI Build 38006931546Coverage remained the same at 97.051%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
Summary by Sourcery
Update the project’s supported Python versions and release configuration for Python 3.11 through 3.15, including free-threaded builds.
Enhancements:
Build:
CI:
Documentation: