🎯 Issue Summary
With the recent code quality improvements and PyPA standards implementation, I'd like to discuss the roadmap for making TwinRAD a distributable Python package. The codebase now has solid foundations with proper src/ layout and pyproject.toml configuration - are there plans to publish TwinRAD as an installable package?
🔍 Current Status
✅ Package-Ready Infrastructure
- Modern
src/twinrad/ layout following PyPA standards
- Complete
pyproject.toml with proper metadata and dependencies
- Console scripts configured (
twinrad, twinrad-server, twinrad-dashboard)
- Version management in place (currently 0.1.0)
- Isolated service configurations working
🤔 Distribution Questions
- Publishing Strategy: Are there plans to publish TwinRAD to PyPI for easy installation?
- Package Scope: Would this be a single package or multiple packages for different components?
- Version Management: How should we handle versioning strategy for releases?
- Dependencies: Should we consider optional dependencies for different use cases?
💡 Potential Benefits
For Users
# Instead of manual setup
git clone https://github.com/ai-twinkle/TwinRAD.git
cd TwinRAD
pip install -e .
# Simple package installation
pip install twinrad
twinrad --help
For Development
- Easier onboarding: New contributors can quickly install and test
- Version control: Clear release management and changelog
- Dependency management: Proper handling of optional components
- Distribution: Wider reach for the red teaming framework
🛠️ Implementation Reference
The uv packaging guide provides excellent patterns we could follow:
Build & Publish Workflow
# Build the package
uv build
# Publish to PyPI
uv publish
Potential Package Structure
# Core package
pip install twinrad
# With optional dashboard dependencies
pip install twinrad[dashboard]
# Development dependencies
pip install twinrad[dev]
🎯 Proposed Next Steps
- Package Strategy Discussion: Define scope and distribution approach
- PyPI Namespace: Secure
twinrad package name if available
- Release Automation: Set up CI/CD for automated publishing
- Documentation: Update installation docs for package users
📋 Questions for Discussion
- Timeline: What's the timeline for package distribution?
- Maintenance: Who would manage PyPI releases and version updates?
- Dependencies: Should dashboard/server be optional extras or separate packages?
- Versioning: Semantic versioning strategy for the framework?
🔗 References
CC: @solarfresh
Priority: Enhancement
Type: Discussion, Package Management
This would significantly improve the accessibility and adoption of the TwinRAD framework. Looking forward to your thoughts on the packaging strategy!
🎯 Issue Summary
With the recent code quality improvements and PyPA standards implementation, I'd like to discuss the roadmap for making TwinRAD a distributable Python package. The codebase now has solid foundations with proper
src/layout andpyproject.tomlconfiguration - are there plans to publish TwinRAD as an installable package?🔍 Current Status
✅ Package-Ready Infrastructure
src/twinrad/layout following PyPA standardspyproject.tomlwith proper metadata and dependenciestwinrad,twinrad-server,twinrad-dashboard)🤔 Distribution Questions
💡 Potential Benefits
For Users
For Development
🛠️ Implementation Reference
The uv packaging guide provides excellent patterns we could follow:
Build & Publish Workflow
Potential Package Structure
🎯 Proposed Next Steps
twinradpackage name if available📋 Questions for Discussion
🔗 References
CC: @solarfresh
Priority: Enhancement
Type: Discussion, Package Management
This would significantly improve the accessibility and adoption of the TwinRAD framework. Looking forward to your thoughts on the packaging strategy!