Skip to content

Euclid summer school 2023 course on scientific software development

License

Notifications You must be signed in to change notification settings

sfarrens/ecole-euclid-2023

Repository files navigation

École Euclid 2023

Author: Samuel Farrens
Email: [email protected]

This repository was made for a course on scientific software development at the 2023 edition of the Euclid Summer School.

The content was updated for the 2024 edition of the Rodolphe Clédassou Summer School

The slides accompanying this repository can be found here.

Example API documentation can be found here.

Requirements

To follow this course you will need to have Python (ideally v3.11) installed with the following dependencies:

  • numpy
  • astropy
  • black
  • isort
  • myst-parser
  • numpydoc
  • pytest
  • pytest-pydocstyle
  • pytest-emoji
  • pytest-cov
  • sphinx
  • sphinx-book-theme
  • twine

Manual install

All of these packages can easily be installed from PyPI using pip.

pip install numpy black ...

Conda install

Alternatively, you can build the Conda environment using the environment.yml file provided.

conda env create -f environment.yml

Then you can activate the environment as follows:

conda activate mycosmo

Docker image

Finally, you can avoid installing any of the packages by simply pulling the provided Docker image. Note that you will need to log in to the GitHub container registry.

docker login ghcr.io ...
docker pull ghcr.io/sfarrens/ecole-euclid-2023:main
docker tag ghcr.io/sfarrens/ecole-euclid-2023:main ecole-rc-2024

Then you can launch an interactive container as follows:

docker run --rm -itv $PWD:/home ecole-rc-2024

About

Euclid summer school 2023 course on scientific software development

Resources

License

Stars

Watchers

Forks

Packages