Skip to main content

A framework for the HiSPARC experiment

Project description


SAPPHiRE is a Simulation and Analysis Program Package for HiSPARC Research and Education. It was created in the process of completing the PhD research of David Fokkema. The history of this repository contains the complete simulation, analysis and plot generation code that formed the basis for David’s thesis. Arne de Laat took over development of SAPPHiRE while working on his own PhD research.

This repository is created with a sole purpose in mind: to enable HiSPARC students, teachers and researchers to easily gain access to the data and perform common simulation and analysis tasks. Historically, starting work on the data, or extending an existing analysis code, has involved elaborate installation instructions, heavy customizations to the software, countless hours going over opaque parts of code and a general feeling of anguish and despair. SAPPHiRE’s ultimate goal: no more of that.


Required: Python. pip will take care of dependencies, but installing numpy, scipy and pytables from a python distribution is preferred. We use miniconda, which includes the conda package manager.

First, install conda and optionally create a virtualenv:

$ conda create --name hisparc python numpy scipy pytables
$ source activate hisparc

or alternatively just install the dependencies:

$ conda install numpy scipy pytables sphinx

Then, using pip:

$ pip install hisparc-sapphire

This should install sapphire with all requirements. More extensive installation instructions are available in the documentation in the doc/ directory. You can compile them using Sphinx, or you can follow this link:

To check if it worked start Python and load the package:

import sapphire

You’re done!


Install python (preferably using conda) as described above but clone the sapphire repo instead of installing using pip:

$ git clone
$ cd sapphire
$ python develop

Version release

Important: First check if the last commit passes the tests on Travis CI!

To release a new version modify the version number in Then create a commit for the new release with a title like ‘Bump version to vX.Y.Z’ and a message that contains a summary of the most important changes since the last release. Then tag the commit and push it to GitHub:

$ git tag vX.Y.Z
$ git push --tags

Then upload the new version to PyPI (this requires the wheel and twine packages):

$ python sdist bdist_wheel
$ twine upload dist/hisparc-sapphire-X.Y.Z.tar.gz
$ twine upload dist/hisparc_sapphire-X.Y.Z-py2.py3-none-any.whl

The latest version is then available from PyPI.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for hisparc-sapphire, version 1.7.1
Filename, size File type Python version Upload date Hashes
Filename, size hisparc_sapphire-1.7.1-py2.py3-none-any.whl (6.2 MB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size hisparc-sapphire-1.7.1.tar.gz (5.9 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page