Thank you for your interest in contributing to AstroLab! This document provides guidelines for contributing to our Astro GNN laboratory for cosmic web exploration.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/astro-lab.git - Setup the development environment:
cd astro-lab uv sync - Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Test your changes:
uv run pytest -v - Commit with clear messages:
git commit -m "feat: add cosmic web clustering algorithm" - Push to your fork:
git push origin feature/amazing-feature - Create a Pull Request
- Multi-scale clustering algorithms
- Filament detection methods (MST, Morse theory, Hessian)
- Structure identification across astronomical scales
- Interactive 3D visualization improvements
- New GNN architectures for spatial data
- Attention mechanisms for astronomical graphs
- Multi-scale graph learning
- Temporal GNNs for variable objects
- New survey integrations
- Improved tensor operations
- Performance optimizations
- Data validation and quality checks
- New visualization backends
- Interactive 3D features
- Scientific color mapping
- Real-time data streaming
- Follow PEP 8 style guidelines
- Use type hints for all functions
- Write comprehensive docstrings
- Keep functions focused and small
- Update docstrings for new functions
- Add examples in docstrings
- Update README.md for new features
- Generate API documentation:
python docs/generate_docs.py update
- Write tests for new functionality
- Ensure all tests pass:
uv run pytest -v - Add integration tests for cosmic web features
- Test with real astronomical data
Use conventional commit messages:
type(scope): description
feat(cosmic_web): add MST filament detection
fix(gnn): resolve memory leak in graph convolution
docs(readme): update installation instructions
test(data): add Gaia DR3 integration tests
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changesrefactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
- Novel clustering algorithms for cosmic web
- New filament detection methods
- Multi-scale structure analysis
- Cross-survey data integration
- Graph neural network architectures
- Attention mechanisms for spatial data
- Multi-modal learning approaches
- Transfer learning for astronomical data
- Scientific visualization techniques
- Interactive 3D rendering
- Real-time data visualization
- Multi-backend rendering systems
When reporting bugs, please include:
- Environment: OS, Python version, package versions
- Steps: Clear steps to reproduce the issue
- Expected: What you expected to happen
- Actual: What actually happened
- Data: Sample data or code to reproduce
- Logs: Error messages and stack traces
For feature requests, please describe:
- Problem: What problem does this solve?
- Solution: How should it work?
- Use Case: Specific astronomical use case
- Priority: High/Medium/Low priority
- Implementation: Any implementation ideas?
- Be respectful and inclusive
- Help others learn and grow
- Share knowledge and expertise
- Provide constructive feedback
- Celebrate contributions and achievements
- API Documentation - Complete API reference
- Cosmic Web Guide - Cosmic web analysis tutorials
- PyTorch Documentation - Deep learning framework
- PyTorch Geometric - Graph neural networks
- AstroPy Documentation - Astronomical calculations
Contributors will be recognized in:
- Project README acknowledgments
- Release notes
- Documentation credits
- Community highlights
Thank you for contributing to the future of astronomical machine learning! 🌌✨