Skip to content

Commits on Source 9

  • Andrew Leech's avatar
    Readme: Add some notes about compatibility. · 40c307ab
    Andrew Leech authored
    40c307ab
  • Andrew Leech's avatar
    pin known working versions · 9a2a81d4
    Andrew Leech authored
    9a2a81d4
  • Andrew Leech's avatar
    Replace wrapt patching with truststore integration · 9f4ad4a6
    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: default avatarClaude <noreply@anthropic.com>
    9f4ad4a6
  • Andrew Leech's avatar
    Replace setup.py with modern pyproject.toml · 6b35f4ee
    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: default avatarClaude <noreply@anthropic.com>
    6b35f4ee
  • Andrew Leech's avatar
    Fix .pth file installation location in wheels · 05df3843
    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: default avatarClaude <noreply@anthropic.com>
    05df3843
  • Andrew Leech's avatar
    Update README for truststore-based architecture · 4730e88c
    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: default avatarClaude <noreply@anthropic.com>
    4730e88c
  • Andrew Leech's avatar
    Fix version · 84243af9
    Andrew Leech authored
    84243af9
  • Andrew Leech's avatar
    Use pip's vendored truststore to avoid conflicts · 5e15d5f6
    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: default avatarClaude <noreply@anthropic.com>
    5e15d5f6
  • Andrew Leech's avatar
    Remove extra logging · 9f772222
    Andrew Leech authored
    9f772222
Loading