Astro in Python is a one stop shop for introductions to Python modules used in Astronomy and Astrophysics. Topics are presented as Jupyter notebooks, that can be viewed online, or downloaded locally and interacted with.
It is currently a work in progress.
You can view the notebooks on Github using the link above.
To download the notebooks, either use git to clone the repository, or download the notes as a zipped file directly via the link above.
Don't know git? Here's a brief tutorial introduction. For installation instructions on your operating system of choice, follow the instructions here.
If you don't have Python installed, the Anaconda distribution provides everything you need to get started, including common science and engineering packages. Follow the instructions here to download and install it on your operating system.
This course uses interactive Jupyter notebooks. If you use the Anaconda distribution, then Jupyter is already installed. If not, installation instructions are provided here. Once installed, to start the notebook server type the following in to your terminal/CMD prompt:
This should open a tab in your browser. If you've run it in the course directory you will be able to launch the notebooks from the notebook folder. Otherwise, navigate to the course directory through the browser interface. Additional server options are detailed here.
The following notebooks are currently available. The modules covered are attached in brackets.
- Handling FITS files (astropy)
- Units (astropy)
- Tables (astropy)
- Plotting (aplpy)
- Celestial Coordinates (astropy)
- Modeling (astropy)
- Convolution (astropy)
- Cosmology (astropy)
This repository represents a living document. Changes may be made at any time. The easiest way to stay up to date with the latest changes is to clone or fork the repository and pull any changes (If you are unfamiliar with the terms 'clone' and 'fork', see the Getting Started section below for introductory links to Git).
If your favourite module isn't represented, either let me know by raising an issue, or email me directly (contact details below). Or create your own introduction and raise a pull request!
If you have any questions, please contact the author via the contact details below.
Christopher Lovell: c.lovell_at_sussex.ac.uk
If you have suggestions for content, or notice any errors in the scripts, you can either let me know by email or, preferably, fork this repo, make the change, then make a pull request.
Supported by the South East Physics Network (SEPnet)
In producing this content I've taken inspiration from other courses on similar packages or topics. The documentation for all of the packages has also been an invaluable resource.
In particular, python4vienna and the Astropy documentation have been particularly inspiring, and I thank the respective authors.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.