maser4py offers modules to handle data from several space and ground radio observatory.
It comes with the following submodules:
- maser-data for radio data parsing features
- maser-plot for radio data plotting features
- maser-tools for additional support programs
Read maser4py main documentation for details.
maser4py is developed in the framework of the MASER project.
To install the full package, run the following command:
pip install maser4py[all]
or use one of the extra options:
data
to get maser-data submodule featuresplot
to get maser-plot submodule featurestools
to get maser-tools submodule featuresjupyter
for Jupyter notebook supportjupytext
for Jupyter notebook text supportall
to install all the submodules above
For example if you want to use maser4py
with maser-data and maser-plot submodules:
pip install maser4py[data,plot]
Examples of usage can be found in the examples
folder.
Examples can also be run as Jupyter notebooks on Binder You can also launch a Binder environment and browse through the notebook examples.
To contribute to the development of the package, you will need to install a local copy of maser4py:
git clone https://gitlab.obspm.fr/maser/maser4py.git
Then, you can install the package locally
maser4py
requirements are detailed in the pyproject.toml
file
To install the package, it is recommended to use poetry:
pip install poetry
To use maser4py
to read CDF files you have to install the CDF library and the spacepy.pycdf package.
Use the following command to install the package from a local copy:
poetry install
Use pytest -m "not test_data_required"
to skip tests that require test data (and to skip auto download).
pip install -e path/to/project/folder
Use sphinx-build docs/source docs/public
to build the documentation.
To publish maser
with poetry
you will have to build a dist
package:
poetry build
And then publish the package on pypi (and/or on Gitlab, see https://python-poetry.org/docs/cli/#publish):
poetry publish
maser
comes with a Python client (see .ci/zenodo.py
) to interact with the Zenodo API and generate automatically a DOI for each new version of maser
.
To archive maser
on Zenodo:
- Create an access token
- Is this the first maser deposit on Zenodo ?
- Yes it's the first deposit, so you don't need any ID
- No, it's a new version of
maser
. Then browse to the first record of maser on Zenodo and check the URL :https://zenodo.org/record/<DEPOSITION_ID>
to get themaser
deposition ID.
- Use the following command to deposit the package on Zenodo:
python .ci/zenodo.py -p ./ -t <ACCESS_TOKEN> -a ./dist/maser4py-X.Y.Z.tar.gz -id <DEPOSITION_ID>
- Browse to the
maser
record on Zenodo, check the metadata/files and publish the package to finally generate the DOI.
Notes :
- the
--sandbox
keyword can be used to deposit files on the Zenodo test server - the
--publish
keyword can be used to automatically publish the new record and generate the DOI. But be careful, once published, there is no way to modify a record on Zenodo without publishing a new version.