Contributing#
As with all Astropy coordinated packages, Specreduce is developed by the astrophysics community, for the astrophysics community. We warmly welcome contributions of all kinds, whether it’s sharing feedback, reporting bugs, suggesting new features, or improving code and documentation. Every contribution, big or small, helps make Specreduce more useful and reliable for everyone.
Specreduce follows the Astropy development and contribution guidelines and the Astropy Community Code of Conduct. By contributing, you agree to uphold these community standards, which help ensure that the project remains a welcoming and inclusive space for all contributors.
Getting Started#
If you’re new to open-source development or to the Astropy ecosystem, do not worry. The best place to start is by visiting the Specreduce GitHub repository, where you can find current issues, pull requests, and the latest development activity.
Before you begin contributing code, you may want to:
Read through the Astropy developer documentation linked above.
Explore the existing documentation and tutorials to get a sense of how Specreduce works.
Comment on an issue to let others know you’d like to work on it — or open a new issue to discuss an idea or feature you’d like to propose.
Roadmap#
Contribute feedback#
The Specreduce team values feedback from all users. If something doesn’t work as expected, if you encounter a bug, or if you have an idea for an improvement, please let us know by opening a new issue on the Specreduce GitHub issue tracker.
For bug reports, please include:
A short description of the problem.
The version of Specreduce and Python you are using.
A minimal example (if possible) that reproduces the issue.
For feature requests or usability feedback, describe your idea clearly and explain how it would improve the user experience. Even short notes are valuable and help guide development priorities.
Contribute Code or Documentation#
If you see an open issue you’d like to work on, or if you’ve spotted an error or missing detail in the documentation, you can submit your own improvements through GitHub. To get started:
Fork the Specreduce repository and create a new branch for your changes.
Make your edits or additions, whether it’s a bug fix, a new feature, or a documentation update.
Commit your changes with a clear message describing what you did.
Open a pull request to the main repository.
Contribute Tutorials and Examples#
Tutorials and worked examples are among the most valuable contributions. They help other users learn from real data and see how different tools fit together in practice.
While the main steps of spectroscopic reduction (for example, tracing, extraction, and wavelength calibration) are similar across most instruments, the best workflow can still depend on the setup and science goals. In the long term, we aim to build a library of example reduction recipes for different instruments that users can adapt for their own observations.
If you have a reduction example, a notebook, or a teaching resource that might help others, please share it, either by opening a pull request or by discussing it in an issue first. We’re happy to help with formatting and integration into the documentation.
Staying in Touch#
Development discussions happen mainly on GitHub, but you can also connect with the wider Astropy community through the Astropy Discussion Forum, where you can ask questions, share ideas, and get advice from other developers and users.
Your contributions help make Specreduce and the Astropy ecosystem stronger and more sustainable. Whether you fix a typo, improve a function, or share a new example, you are helping build a tool that benefits the entire astrophysics community. Thank you for being part of it!