Skip to content

Conversation

@luccabb
Copy link
Member

@luccabb luccabb commented Jan 20, 2026

Summary

Test Plan

@meta-cla meta-cla bot added the cla signed label Jan 20, 2026
@luccabb luccabb changed the title Py 312 upgrade to python 3.12 Jan 20, 2026
luccabb and others added 4 commits January 20, 2026 22:30
- Replace PyOxidizer with PyInstaller for building standalone binaries
- Add gcm.spec and health_checks.spec for PyInstaller configuration
- Update Makefile to use PyInstaller build commands
- Update debian/rules for new PyInstaller output paths
- Update GitHub workflows to remove Rust dependency
- Update pyproject.toml to use pyinstaller instead of pyoxidizer
- Update build_deb.sh to use pyinstaller
- Update .gitignore to allow .spec files
- Update CONTRIBUTING.md documentation

PyInstaller provides better Python 3.12 support and doesn't require
Rust toolchain, simplifying the build process.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace tomli imports with tomllib (standard library in Python 3.12+)
- Remove tomli dependency from pyproject.toml
- Update PyInstaller spec files to remove tomli workarounds
- Regenerate dev-requirements.txt with pyinstaller instead of pyoxidizer

This fixes PyInstaller build issues with mypyc-compiled tomli modules
by using the standard library tomllib instead.
- Move tomllib import to standard library section
- Fix import ordering in all files that use tomllib
- Ensures compliance with isort/usort formatting rules
- Use proper shell if/then instead of || && chain
- Use find to copy everything except the executable when no _internal dir
- Prevents 'rm: cannot remove directory' error
@luccabb luccabb changed the title upgrade to python 3.12 upgrade to python 3.12 and move to pyinstaller Jan 20, 2026
luccabb and others added 3 commits January 21, 2026 01:38
PyInstaller is already in dev-requirements.txt, no need to install separately.
- Include all exporter plugins (do_nothing, stdout, file, otel, graph_api)
- Fixes sink validation errors in health_checks
- Ensures exporters.registry can discover all sink plugins
This is a proper Python 3.12 migration - use the stdlib tomllib
module directly instead of maintaining compatibility with the old
tomli package name.

Changes:
- import tomllib (not import tomllib as tomli)
- tomllib.load() and tomllib.TOMLDecodeError everywhere

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@luccabb luccabb mentioned this pull request Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant