Welcome! Thanks for your interest in contributing to our GSOC 2026 project Spectra.jl across the electromagnetic spectrum.
Useful links:
Getting started
Although the GSOC period has not yet started (the application period ends on the 31st of March, with the projects properly starting in the summer), you are welcome to start to get to know Spectra.jl
To do this, you'll need Julia installed on your machine. Start Julia in a terminal (by typing julia). This is the Read, Eval(uate), Print, Loop interface, or REPL. It is the interactive prompt for using the Julia programming language.
Hit the ] key to enter the package manager mode (use Ctrl-C to get out of it). Start by updating your environment
Then fetch Spectra.jl in development mode
This will clone the repository to your $HOME/.julia/dev/ directory. If you edit the source code, Julia will now also fetch the changes, allowing you to play around as you will!
As a tip, consider using something like Revise.jl to automatically reload changes without having to restart the Julia REPL.
Follow the Quick start demonstration in the documentation to get a feel for how to use Spectra.jl.
The project
Please do not start opening PRs addressing this until you have been selected for the project in ~ April.
Our main aim is to flesh out the data loading routines in Spectra.jl to work with spectra from different wavelengths. We'll start with X-ray spectra, as these have a non-trivial format and require instrument response files to be correctly interpreted. Such a data loader has already been mostly implemented in SpectralFitting.jl, and the first task is to move that part of the codebase over to Spectra.jl. It then needs to be integrated with the various spectral types that Spectra.jl defines, so that the interface for using the data is homogenous, and tests writen to ensure the functionality is as expected.
After that, we'll focus on another wavelength or even theoretical spectra (that bits up to you -- whatever takes your fancy!) and the mentors will guide you in putting a brand new data loader implementation together. Utility functions for often-performed reductions should also be implemented, such as the different flux unit conversions, data rebinning, metadata interpretation, and so on.
In the meantime
There are some things you can do in the meantime if you are really keen to work with us on this project:
-
Familiarly with Julia is key. A simple web-search will reveal many good tutorials for how you can learn the basics, the type system, and how to structure larger programs.
-
You'll be working with the data files produced by various ground-based and space-based telescopes in this project. That often means pouring over some technical descriptions, such as the OGIP data format. Some practice at reading such documentations would be good to have.
If you have any problems, questions, or queries, feel free to reach out to the mentors of the Spectra.jl project! You can find their contact details on the OpenAstronomy website.
Welcome! Thanks for your interest in contributing to our GSOC 2026 project Spectra.jl across the electromagnetic spectrum.
Useful links:
Getting started
Although the GSOC period has not yet started (the application period ends on the 31st of March, with the projects properly starting in the summer), you are welcome to start to get to know Spectra.jl
To do this, you'll need Julia installed on your machine. Start Julia in a terminal (by typing
julia). This is the Read, Eval(uate), Print, Loop interface, or REPL. It is the interactive prompt for using the Julia programming language.Hit the
]key to enter the package manager mode (useCtrl-Cto get out of it). Start by updating your environmentThen fetch Spectra.jl in development mode
This will clone the repository to your
$HOME/.julia/dev/directory. If you edit the source code, Julia will now also fetch the changes, allowing you to play around as you will!As a tip, consider using something like Revise.jl to automatically reload changes without having to restart the Julia REPL.
Follow the Quick start demonstration in the documentation to get a feel for how to use Spectra.jl.
The project
Please do not start opening PRs addressing this until you have been selected for the project in ~ April.
Our main aim is to flesh out the data loading routines in Spectra.jl to work with spectra from different wavelengths. We'll start with X-ray spectra, as these have a non-trivial format and require instrument response files to be correctly interpreted. Such a data loader has already been mostly implemented in SpectralFitting.jl, and the first task is to move that part of the codebase over to Spectra.jl. It then needs to be integrated with the various spectral types that Spectra.jl defines, so that the interface for using the data is homogenous, and tests writen to ensure the functionality is as expected.
After that, we'll focus on another wavelength or even theoretical spectra (that bits up to you -- whatever takes your fancy!) and the mentors will guide you in putting a brand new data loader implementation together. Utility functions for often-performed reductions should also be implemented, such as the different flux unit conversions, data rebinning, metadata interpretation, and so on.
In the meantime
There are some things you can do in the meantime if you are really keen to work with us on this project:
Familiarly with Julia is key. A simple web-search will reveal many good tutorials for how you can learn the basics, the type system, and how to structure larger programs.
You'll be working with the data files produced by various ground-based and space-based telescopes in this project. That often means pouring over some technical descriptions, such as the OGIP data format. Some practice at reading such documentations would be good to have.
If you have any problems, questions, or queries, feel free to reach out to the mentors of the Spectra.jl project! You can find their contact details on the OpenAstronomy website.