Skip to content

skypyproject/skypy

Repository files navigation

SkyPy: A package for modelling the Universe

Read the Docs GitHub Codecov Compatibility

This package contains methods for modelling the Universe, galaxies and the Milky Way. SkyPy simulates populations of astronomical objects, generating random realisations of intrinsic and observed properties, with the intention the simulations can then be compared to data as part of an inference pipeline.

Currently, SkyPy implements the following modules:

  • Galaxies: morphology, luminosity and redshift distributions
  • Pipelines to generate populations of astronomical objects

The full list of features can be found in the SkyPy Documentation.

For more information on the people involved and how SkyPy is developed, please visit the SkyPy Collaboration website: http://skypyproject.org

Citation

JOSS SkyPy Concept DOI

If you use SkyPy for work or research presented in a publication please follow our Citation Guidelines.

Installation

PyPI conda-forge

SkyPy releases are distributed through PyPI and conda-forge. Instructions for installing SkyPy and its dependencies can be found in the Installation section of the documentation.

Examples

SkyPy has a driver script that can run simulation pipelines from the command line. The documentation contains a description of the Pipeline module and Examples that demonstrate how to use it.

Contributing

We love contributions! SkyPy is open source, built on open source, and we'd love to have you hang out in our community.

How to contribute

Whether you would like to contribute to SkyPy with your own piece of code or helping develop a concrete feature in SkyPy:

1. Read through our Discussions Page to start a new conversation and share your ideas or follow up an existing conversation on a particular feature.

2. Following the discussions, when you have a good idea of the specifics of the feature you wish to contribute, open an Issue describing the feature.

3. Then follow the Contributor Guidelines to open a Pull Request to contribute the code implementing the new feature.

For further information on how to contribute see our Contributor Guidelines. All communication relating to The SkyPy Project must meet the standards set out in the Code of Conduct.

Members vs External contributions

SkyPy allows contributions from two types of contributor: Members and External Contributors. These two categories are intended to allow contributions both from those who are willing and able to commit to being part of the SkyPy community and actively involved in the steering of the project, and those who wish to simply contribute code where a need has been identified.

1. SkyPy Members go through a simple onboarding process where their expertise and expected contributions are discussed and defined. Members have access to internal communication channels, they are involved in SkyPy decision making processes and attend quarterly meetings. Members are listed as a separate tier in author lists for SkyPy publications, with the classification of "Project Members" in the Zenodo DoI.

2. External Contributors are able to develop, discuss and commit code in the same way as Members, but do not have the same responsibilities and opportunities for contributing to the guidance and management of SkyPy as a project. External Contributors are listed as a separate tier in author lists for SkyPy publications, with the classification of "Others" in the Zenodo version DoI.

Get in Touch

You are welcome to talk about the SkyPy package and code using our Discussions Page. For any other questions about the project in general, please get in touch with the SkyPy Co-ordinators.