Installation¶
This library has a number of dependencies, most notably the traffic library, for which you can find installation instructions here.
The library also relies on scipy and numpy for data types and mathematical functions, and pandas, geopandas, and Shapely for processing airspace data.
Visualisations are provided through matplotlib, cartopy, pyproj, and hvplot. The simplejson library enables data exporting, and networkx is used to build directed graphs.
Warning
Certain dependencies (particularly cartopy and shapely) require access to libraries which may not be present on the system. The Anaconda platform is much better at handling these dependencies - if possible, install it first then run the following:
conda install cartopy shapely
pip install flight_processing
Additional dependencies can also be installed using Anaconda if desired.
Installation using pip¶
This package is not yet available on PyPI but on certain compatible systems may be able to be installed using pip:
wget https://github.com/jsmailes/flight_processing/releases/download/v1.0.0/flight_processing-1.0.0-cp37-cp37m-linux_x86_64.whl
pip install flight_processing-1.0.0-cp37-cp37m-linux_x86_64.whl
Manual build and installation¶
We can also build and install the package manually using python’s setuptools
.
Install prerequisites¶
Building the package requires a number of prerequisites, both to compile the C++ component and to install the python library itself.
First install the following using your package manager:
git
cmake
gcc-c++
python3
boost-devel
boost-python3-devel
boost-numpy3
Note
The above package names are correct on Fedora Linux, but they may differ depending on your operating system. The following package names can be used on Ubuntu:
git
cmake
g++
python3-dev
libboost-all-dev
Next we need to install some python prerequisites:
pip install setuptools wheel
Clone repository¶
Now we clone the repository from Github:
git clone --recurse-submodules https://github.com/jsmailes/flight_processing
cd flight_processing
Build wheel (optional)¶
To build a wheel and/or source tarball using setuptools
, run the following:
python3 setup.py sdist bdist_wheel
These can then be installed using pip
if desired.
Install¶
Installation is fairly straightforward, since pip
installs the prerequisites and runs setup.py
for us:
pip install .
Note
Instead of cloning and building the repository, you can download and build the tarball distributed on the releases page. This will have the same result as cloning and building the source repository but does not require the use of git. The C++ dependencies will still need to be installed for this method of installation.
wget https://github.com/jsmailes/flight_processing/releases/download/v1.0.0/flight_processing-1.0.0.tar.gz
pip install flight_processing-1.0.0.tar.gz
Troubleshooting¶
Issues with python dependencies can usually be fixed by installing them using Anaconda.
Cryptic issues with CMake are usually caused by having an incorrect version of Python and/or Boost installed.
If you’re having any more problems, please create an issue on the Github repo with some details about your system and the problem you’re having.