Commits on Source 9
-
Andrew Leech authored
-
Andrew Leech authored
-
Andrew Leech authored
Modernizes the package architecture by replacing complex monkey-patching with truststore's native SSL context injection. This provides better compatibility, reliability, and aligns with the Python ecosystem direction. Key changes: - Replace wrapt dependency with truststore (>=0.8.0) - Update Python requirement to >=3.10 (truststore minimum) - Simplify wrapt_requests.py from ~80 lines to ~12 lines - Remove complex HTTPAdapter patching in favor of inject_into_ssl() - Update package description and documentation
🤖 Generated with [Claude Code](https://claude.ai/code ) Co-Authored-By:Claude <noreply@anthropic.com>
-
Andrew Leech authored
Modernizes the build system by replacing the complex setup.py (70+ lines with custom command classes) with a clean pyproject.toml configuration. This eliminates custom installation logic while maintaining all functionality. Key improvements: - Remove custom InstallCheck/DevelopCheck/BuildIncludePth command classes - Use standard setuptools data-files for .pth installation - Modern SPDX license format (BSD-3-Clause) - Proper Python version classifiers (3.10-3.13) - Maintains git-versioner integration - Verified wheel builds correctly with .pth file inclusion The new configuration is more maintainable and compatible with modern Python packaging tools while preserving the truststore integration.
🤖 Generated with [Claude Code](https://claude.ai/code ) Co-Authored-By:Claude <noreply@anthropic.com>
-
Andrew Leech authored
Resolves issue where pip_system_certs.pth was installing to venv root instead of site-packages directory, preventing the package from working when installed from wheel. Changes: - Add minimal setup.py with BuildWithPth command to place .pth file correctly - Update pyproject.toml to use legacy backend for custom command support - Remove problematic package-data configuration from pyproject.toml - Update test script to use modern build tools (python -m build) - Remove obsolete setup.cfg universal wheel configuration The .pth file now correctly installs to site-packages/pip_system_certs.pth where Python can process it during startup for truststore injection.
🤖 Generated with [Claude Code](https://claude.ai/code ) Co-Authored-By:Claude <noreply@anthropic.com>
-
Andrew Leech authored
Completely revises the README to accurately reflect the new truststore integration instead of the old monkey-patching approach. Key updates: - Explain truststore integration vs monkey-patching - Add Python 3.10+ and truststore requirements - Document native OS integration (Security framework, CryptoAPI, OpenSSL) - Note compatibility with all SSL libraries (requests, urllib3, httpx, etc.) - Update PyInstaller instructions for inject_truststore() function - Add Architecture section explaining bootstrap process - Credit truststore library and Seth Michael Larson - Emphasize reliability improvements over patching approach The documentation now properly represents the modern, robust implementation while maintaining clear installation and usage instructions.
🤖 Generated with [Claude Code](https://claude.ai/code ) Co-Authored-By:Claude <noreply@anthropic.com>
-
Andrew Leech authored
-
Andrew Leech authored
Resolves compatibility issues with modern pip by using pip's own vendored truststore instead of requiring a separate truststore installation. This eliminates SSL context conflicts while ensuring all libraries benefit from system certificates. Key changes: - Import truststore from pip._vendor instead of standalone package - Change dependency from truststore>=0.8.0 to pip>=24.2 - Add fallback logic for older pip versions (auto-upgrades to pip 24.2+) - Remove pip version detection logic (no longer needed) - Update README to reflect new vendored truststore approach Benefits: - No more recursion errors when pip and package both use truststore - Automatic pip upgrade ensures vendored truststore availability - Both pip and requests/other libraries use same truststore instance - Maintains compatibility across all pip versions via auto-upgrade Testing confirms pip installations work correctly while requests and other SSL libraries receive system certificate support.
🤖 Generated with [Claude Code](https://claude.ai/code ) Co-Authored-By:Claude <noreply@anthropic.com>
-
Andrew Leech authored