Skip to content

Conversation

@tonybaloney
Copy link
Collaborator

@tonybaloney tonybaloney commented Sep 13, 2024

It also seems that 3.13 doesn't have an API for getting milliseconds, so the timestamp of the log record will be to the nearest second (unless I find a solution)

@npenna22
Copy link

Hello, for my information is it the issue which is preventing the push of the version 0.9.4 on pypi.org? How could we help to allow the push of this version on pypi.org?

@tonybaloney
Copy link
Collaborator Author

I'm going to tackle this issue this week. The compability issue was up in the air in CPython, but the final APIs are done.

@tonybaloney tonybaloney enabled auto-merge June 17, 2025 01:49
@tonybaloney tonybaloney requested a review from Copilot June 17, 2025 04:33
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds support for Python 3.13 by branching on the new public PyTime API, updating compatibility aliases, and expanding CI/test configurations.

  • Introduce PyTime_Time on ≥3.13 and fallback for older APIs in logrecord.cxx, including a manual millisecond calculation.
  • Alias public PyTime_t and PyTime_AsSecondsDouble in compat.hxx for ≥3.13.
  • Bump dependencies and extend GitHub Actions matrices to include Python 3.13; update/workflow and pyproject.toml accordingly.

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/picologging/logrecord.cxx Conditional PyTime API usage and fallback msecs calculation
src/picologging/compat.hxx Aliases for public PyTime types/functions on Python 3.13+
pyproject.toml Bumped scikit-build and updated cibuildwheel skip patterns
.github/workflows/wheel.yml Expanded build matrix, updated triggers and cibuildwheel version
.github/workflows/test.yml Added Python 3.13, updated OS filters and conditional steps
.github/workflows/quality.yml Commented out the clang-tidy check
.github/workflows/hypothesis.yaml Extended Hypothesis matrix with Python 3.12 and 3.13
Comments suppressed due to low confidence (3)

src/picologging/logrecord.cxx:173

  • Add unit tests that exercise the #else branch for Python ≥3.13 to verify that msecs is calculated correctly, ensuring this new fallback logic is covered.
// msecs conversion isn't in 3.13 API

.github/workflows/quality.yml:169

  • Re-enable or update the clang-tidy step (including correct include paths for newer Python headers) to maintain C++ linting and catch regressions.
# - name: Check clang-tidy

.github/workflows/wheel.yml:3

  • [nitpick] Consider restricting the workflow triggers back to the main branch or release branches to avoid running full builds on every feature branch push.
on: [push, pull_request]

@tonybaloney tonybaloney requested a review from brettcannon June 17, 2025 05:11
@tonybaloney tonybaloney disabled auto-merge June 17, 2025 20:59
@tonybaloney tonybaloney merged commit deaee6e into microsoft:main Jun 17, 2025
29 checks passed
@tonybaloney tonybaloney deleted the wheel_313 branch June 17, 2025 20:59
@tonybaloney
Copy link
Collaborator Author

related discussion python/cpython#124088

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants