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 License
Join the chat at https://gitter.im/xoolive/traffic PyPI version PyPI downloads Conda version Conda Downloads
JOSS paper

The traffic library helps to work 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 visualization (images) exports are accessible via Matplotlib/Cartopy. More dynamic visualization 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 to be found in the documentation.

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

    conda create -n traffic -c conda-forge python=3.10 traffic
    
  • Adjust the Python version you need (>=3.9) 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.

If conda fails to resolve an environment in a reasonable time, consider using a Docker image with a working installation.

For troubleshooting, refer to the appropriate documentation section.

Credits

JOSS badge

  • Like other researchers before, 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 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 for assistance: 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 to unit tests, code is checked against:

  • linting and formatting with ruff;
  • static typing with mypy

pre-commit hooks are available in the repository.

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.

  • If you intend to contribute to traffic or file a pull request, the best way to ensure continuous integration does not break is to reproduce an environment with the same exact versions of all dependency libraries. Please follow the appropriate section in the documentation.

    Let us know what you want to do just in case we're already working on an implementation of something similar. This way we can avoid any needless duplication of effort. Also, please don't forget to add tests for any new functions.

Project details


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.10.1.tar.gz (29.6 MB view details)

Uploaded Source

Built Distribution

traffic-2.10.1-py3-none-any.whl (29.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: traffic-2.10.1.tar.gz
  • Upload date:
  • Size: 29.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for traffic-2.10.1.tar.gz
Algorithm Hash digest
SHA256 83855fe12023d75c1f3532264a2f589d310976e44658eaca877dcfb2561b2fbb
MD5 c8fdcf8020be790c4f9e82d247fba4a1
BLAKE2b-256 377755b9810fa35d4f2ef20be3acd79e66d83321e818cb4ac677c9611f1eb26c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: traffic-2.10.1-py3-none-any.whl
  • Upload date:
  • Size: 29.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for traffic-2.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c4b4dccbc35da58bf44fa8e2b6927a8accfad48b23f571b8228bd9346a8d910
MD5 57e65a41c173108c7dd18f87b34e5e2f
BLAKE2b-256 69224372049c7dfe5412c5dec78cc00616dc79b5df0612fd5573e3a09a92684b

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