HEAL (Hello ElementAstro Launcher) is a modern, feature-rich GUI launcher built on top of FireflyLauncher. It provides a comprehensive solution for managing and launching various astronomical software applications with an intuitive interface and powerful configuration system.
- ๐ Universal Launcher: Support for multiple astronomical software types
- ๐จ Modern UI: Built with PySide6 and Fluent Design principles
- โ๏ธ Advanced Configuration: Flexible configuration system with JSON schemas
- ๐ง Proxy Management: Built-in proxy support for network tools
- ๐ฆ Package Management: Integrated download and installation system
- ๐ Multi-language: Support for multiple languages
- ๐ Security: Built-in security scanning and validation
- ๐ Performance Monitoring: Real-time performance tracking
- Python 3.11 or higher
- Windows, macOS, or Linux
- 4GB RAM minimum (8GB recommended)
Download the latest stable release for your operating system:
For the latest features and bug fixes, download development builds from GitHub Actions.
# Clone the repository
git clone https://github.com/ElementAstro/HEAL.git
cd HEAL
# Set up development environment
python scripts/setup_dev.py
# Build the application
python scripts/build.py
# Alternative: Use batch script (Windows)
build.bat
-
Install Required Fonts: Download and install the Chinese font package for proper text rendering.
-
Configure Settings:
- Open HEAL โ Settings โ Configuration โ Open Config File
- Modify proxy ports, server names, and commands as needed
- Default configuration: config.json
-
Set Up Proxy (Optional):
- Navigate to Settings โ Proxy
- Configure proxy settings based on your network requirements
HEAL follows modern Python packaging standards (PEP 518/621) with a clean, modular architecture:
HEAL/
โโโ src/heal/ # Main package
โ โโโ common/ # Shared utilities and helpers
โ โโโ components/ # Reusable UI components
โ โโโ interfaces/ # Interface modules and definitions
โ โโโ models/ # Data models and schemas
โ โโโ resources/ # Static resources (images, styles, translations)
โโโ tests/ # Comprehensive test suite
โโโ docs/ # Documentation and guides
โโโ scripts/ # Development and build scripts
โโโ config/ # Configuration files and schemas
โโโ main.py # Application entry point
โโโ pyproject.toml # Project configuration and dependencies
- Launch Application: Run HEAL and select your preferred server configuration
- One-Click Start: Click the launch button to start your astronomical software
- Proxy Management (Optional): For tools requiring proxy (Fiddler, Mitmdump):
- Navigate to Settings โ Proxy
- Select and enable the appropriate proxy software
- Clean Shutdown (Optional): Use Settings โ Proxy โ Reset Proxy to clean up proxy settings
- Custom Configurations: Create and manage multiple server configurations
- Download Manager: Built-in download system for supported software
- Performance Monitoring: Real-time system performance tracking
- Multi-language Support: Switch between supported languages in settings
- Quick Reference: docs/QUICK_REFERENCE.md
- Migration Guide: docs/PACKAGE_STRUCTURE_MIGRATION.md
- Restructuring Summary: docs/RESTRUCTURING_SUMMARY.md
- Developer Guide: docs/developer-guide/
- User Guide: docs/user-guide/
# Clone the repository
git clone https://github.com/ElementAstro/HEAL.git
cd HEAL
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with development settings
python main.py
- Code Formatting: Black, isort
- Type Checking: mypy
- Linting: flake8
- Testing: pytest with coverage
- Documentation: Sphinx
# Build for current platform
python scripts/build.py
# Build for specific platform
python scripts/build.py --platform windows
python scripts/build.py --platform macos
python scripts/build.py --platform linux
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
pytest
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built upon FireflyLauncher
- UI framework: PySide6
- Design system: PySide6-Fluent-Widgets
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
Made with โค๏ธ by the ElementAstro Team