Update Python version requirements and fix compatibility issues

- Bump minimum Python version from 3.11 to 3.13 across all apps
- Add Python 3.11-3.13 test matrix to CLI workflow
- Document Python 3.11+ requirement in .env.example
- Fix Starlette Broadcast removal with in-process fallback implementation
- Add _InProcessBroadcast class for tests when Starlette Broadcast is unavailable
- Refactor API key validators to read live settings instead of cached values
- Update database models with explicit
This commit is contained in:
oib
2026-02-24 18:41:08 +01:00
parent 24b3a37733
commit 825f157749
270 changed files with 66674 additions and 2027 deletions

View File

@@ -146,9 +146,29 @@ pytest tests/security/
## Dependencies
- **pynacl**: Cryptographic primitives (Ed25519, X25519)
- **pydantic**: Data validation and serialization
- **Dependencies**: pynacl>=1.5.0, pydantic>=2.0.0
- **Python 3.11+**: Modern Python features and performance
## Compatibility & Stability
### Python Version Support
- **Minimum Version**: Python 3.11+
- **Recommended**: Python 3.11 or 3.12
- **Security Guarantee**: All cryptographic operations maintain security properties
- **Performance**: Optimized for Python 3.11+ performance improvements
### Cryptographic Security
- **Algorithm**: Ed25519 digital signatures (constant-time implementation)
- **Key Security**: 256-bit keys with proper entropy requirements
- **Signature Verification**: Timing-attack resistant verification
- **Randomness**: Uses cryptographically secure random number generation
### API Stability
- **Major Version**: 0.x (pre-1.0, APIs may evolve)
- **Backward Compatibility**: Maintained within Python 3.11+ versions
- **Security Updates**: Non-breaking security improvements may be added
- **Deprecation Notice**: 2+ releases for deprecated cryptographic features
## License
MIT License - see LICENSE file for details.

View File

@@ -4,7 +4,7 @@ version = "0.1.0"
description = "AITBC cryptographic utilities for zero-knowledge proofs and digital signatures"
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.11"
requires-python = ">=3.13"
authors = [
{name = "AITBC Team", email = "team@aitbc.dev"}
]
@@ -16,6 +16,7 @@ classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Security :: Cryptography",
"Topic :: Software Development :: Libraries :: Python Modules"
]

View File

@@ -15,9 +15,10 @@ Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Python: >=3.13
Description-Content-Type: text/markdown
Requires-Dist: pydantic>=2.7.0
Requires-Dist: pynacl>=1.5.0
@@ -176,9 +177,29 @@ pytest tests/security/
## Dependencies
- **pynacl**: Cryptographic primitives (Ed25519, X25519)
- **pydantic**: Data validation and serialization
- **Dependencies**: pynacl>=1.5.0, pydantic>=2.0.0
- **Python 3.11+**: Modern Python features and performance
## Compatibility & Stability
### Python Version Support
- **Minimum Version**: Python 3.11+
- **Recommended**: Python 3.11 or 3.12
- **Security Guarantee**: All cryptographic operations maintain security properties
- **Performance**: Optimized for Python 3.11+ performance improvements
### Cryptographic Security
- **Algorithm**: Ed25519 digital signatures (constant-time implementation)
- **Key Security**: 256-bit keys with proper entropy requirements
- **Signature Verification**: Timing-attack resistant verification
- **Randomness**: Uses cryptographically secure random number generation
### API Stability
- **Major Version**: 0.x (pre-1.0, APIs may evolve)
- **Backward Compatibility**: Maintained within Python 3.11+ versions
- **Security Updates**: Non-breaking security improvements may be added
- **Deprecation Notice**: 2+ releases for deprecated cryptographic features
## License
MIT License - see LICENSE file for details.