Skip to main content

A toolbox for manipulating and analysing air traffic data

Project description

A toolbox for processing and analysing air traffic data

Documentation Status tests Code Coverage Checked with mypy Code style: black License Join the chat at https://gitter.im/xoolive/traffic
PyPI version PyPI downloads Conda version Conda Downloads
JOSS paper

The traffic library helps working with common sources of air traffic data.

Its main purpose is to provide data analysis methods commonly applied to trajectories and airspaces. When a specific function is not provided, the access to the underlying structure is direct, through an attribute pointing to a pandas dataframe.

The library also offers facilities to parse and/or access traffic data from open sources of ADS-B traffic like the OpenSky Network or Eurocontrol DDR files. It is designed to be easily extendable to other sources of data.

Static visualisation (images) exports are accessible via Matplotlib/Cartopy. More dynamic visualisation frameworks are easily accessible in Jupyter environments with ipyleaflet and altair; or through exports to other formats, including CesiumJS or Google Earth.

Installation

Full installation instructions are in the documentation.

If you are not familiar/comfortable with your Python environment, please install traffic latest release in a new, fresh conda environment.

conda create -n traffic -c conda-forge python=3.9 traffic

Adjust the Python version you need (>=3.7) and append packages you need for working efficiently, such as Jupyter Lab, xarray, PyTorch or more.

Then activate the environment every time you need to use the traffic library:

conda activate traffic

Warning!

Dependency resolution may be tricky, esp. if you use an old conda environment where you overwrote conda libraries with pip installs. Please only report installation issues in new, fresh conda environments.

For troubleshooting, refer to the appropriate documentation section.

Credits

JOSS badge

If you find this project useful for your research and use it in an academic work, you may cite it as:

@article{olive2019traffic,
    author={Xavier {Olive}},
    journal={Journal of Open Source Software},
    title={traffic, a toolbox for processing and analysing air traffic data},
    year={2019},
    volume={4},
    pages={1518},
    doi={10.21105/joss.01518},
    issn={2475-9066},
}

Additionally, you may consider adding a star to the repository. This token of appreciation is often interpreted as a positive feedback and improves the visibility of the library.

Documentation

Documentation Status Join the chat at https://gitter.im/xoolive/traffic

Documentation available at https://traffic-viz.github.io/
Join the Gitter chat: https://gitter.im/xoolive/traffic

Tests and code quality

tests Code Coverage Codacy Badge Checked with mypy

Unit and non-regression tests are written in the tests/ directory. You may run pytest from the root directory.

Tests are checked on Github Actions platform upon each commit. Latest status and coverage are displayed with standard badges hereabove.

In addition, code is checked against static typing with mypy (pre-commit hooks are available in the repository) and extra quality checks performed by Codacy.

Feedback and contribution

Any input, feedback, bug report or contribution is welcome.

Should you encounter any issue, you may want to file it in the issue section of this repository. Please first activate the DEBUG messages recorded using Python logging mechanism with the following snippet:

import logging
logging.basicConfig(level=logging.DEBUG)

Bug fixes and improvements in the library are also always helpful.

If you share a fix together with the issue, I can include it in the code for you. But since you did the job, pull requests (PR) let you keep the authorship on your additions. For details on creating a PR see GitHub documentation Creating a pull request. You can add more details about your example in the PR such as motivation for the example or why you thought it would be a good addition. You will get feedback in the PR discussion if anything needs to be changed. To make changes continue to push commits made in your local example branch to origin and they will be automatically shown in the PR.

You may find the process troublesome but please keep in mind it is actually easier that way to keep track of corrections and to remember why things are the way they are.

Download files

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

Source Distribution

traffic-2.7.0.tar.gz (17.1 MB view details)

Uploaded Source

Built Distribution

traffic-2.7.0-py3-none-any.whl (17.1 MB view details)

Uploaded Python 3

File details

Details for the file traffic-2.7.0.tar.gz.

File metadata

  • Download URL: traffic-2.7.0.tar.gz
  • Upload date:
  • Size: 17.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for traffic-2.7.0.tar.gz
Algorithm Hash digest
SHA256 a617b6dbc8ca26bde492609558a998de604a74d958283adb9f31a71bfe3b9fa2
MD5 802ec52e14e7323f5d6dab8bc48e1131
BLAKE2b-256 0662e1aabe16ac4a25a862af1f01e36a126cc2ccc76c7d62c4adb4c518722399

See more details on using hashes here.

File details

Details for the file traffic-2.7.0-py3-none-any.whl.

File metadata

  • Download URL: traffic-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for traffic-2.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a74305527ce69d5ad5dd289237c06a16f659492c2d08564b4a8b60888192ff0
MD5 4b6a5b18cb3b416c9876da0d1217c0ae
BLAKE2b-256 d24a113b5d9c252a3979ee4eec0bf7a4d79782dc313c907564f71c96864fdc42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page