Midgard, the Python Geodesy library
Midgard is a collection of useful Python utilities used by the Geodetic institute at the Norwegian Mapping Authority (Kartverket). Although some of these are geodesy-specific, many are also useful in more general settings.
Note: Midgard is still in pre-alpha status. Its functionality will change, and it should not be depended on in any production-like setting.
Midgard is available at PyPI. You can install it by simply running
python -m pip install midgard
Installing Midgard from source
Midgard depends on several other brilliant Python packages, like for instance numpy, scipy, astropy etc. We recommend using the Anaconda distribution to ease the installation of these dependencies.
Go to www.anaconda.com/download, and download Anaconda for Python 3.
Download the Midgard source code
If you have not already done so, download the Midgard source code from Github:
enter the main
midgard directory before running the install command below.
You should now install the necessary dependencies using the
environment.yml-file. You can do this either in your current conda
environment, or choose to create a new
midgard-environment. In order to use
midgard in other projects you need to install
midgard in the same
environment as those projects.
midgard in your current environment, do
conda env update -f environment.yml
midgard in a new environment named
midgard and activate it, do
conda env create -n midgard -f environment.yml conda activate midgard
Install the Midgard package
To do the actual installation of Midgard, use the
flit packaging tool:
python -m flit install --dep production
If you want to develop the Midgard package, install it in editable mode using
python -m flit install -s
On Windows, you can install in editable mode using
python -m flit install --pth-file
Midgard comes organized into different subpackages. To see info about the different subpackages, use the Python help system:
>>> import midgard >>> help(midgard)
Information about individual subpackages is also available on the Midgard website.