Skip to content

AeroPython/scikit-aero

Repository files navigation

docs/source/_static/logo.png

Skaero Built with Python License Documentation Status Travis Coverage Email

Scikit-aero

Scikit-aero is a Python package for various aeronautical engineering calculations. It is based on several existing Python packages on the field, but intends to provide pythonic syntax, use of SI units and full NumPy arrays support among other things. The software is licensed under the BSD license.

It was started by Juan Luis Cano in 2012 and has code from several contributors (see AUTHORS). The source code and issue tracker are both hosted on GitHub

Installation

This package fulfills the last standard PEP-517 and PEP-518 by including a pyproject.toml file and making use of a tool called [Flit](https://pypi.org/project/flit/) for the installation of the software. Follow these steps to install scikit-aero:

1. Clone the repository or just download the latest release in the [releases section](https://github.com/AeroPython/scikit-aero/releases).

  1. Run the following commands:

    $ pip install pygments, flit
    $ flit install --symlink path/to/scikit-aero

Features

  • Pythonic interface.
  • Use of SI units.
  • Full support of NumPy arrays.
  • Fully tested and documented.
  • Standard atmosphere properties up to 86 kilometers.
  • Gas dynamics calculations.

Future

  • Airspeed conversions.
  • Coordinate systems.
  • Most of the PDAS.

Usage and documentation

Official docs are hosted [here](https://scikit-aero.readthedocs.io/en/latest/). You can find not only installation instructions, but also a set of examples together with the API documentation.

Testing

It is possible to run the tests by making use of a tool called tox, which not only tests the logic Python files but also other things such us code format and coverage. Tox is based on what are called "environments", each one defined by its own name in this package:

  • tox -e check: will check if code fulfills proper format.
  • tox -e reformat: applies proper format for passing the previous environment.
  • tox -e coverage: runs coverage test against actual code.
  • tox -e py36: will check if tests sucessfully run in Python3.6.

Bug reporting

If you find any bugs on the software, please refer to the issue tracker on GitHub.

Citing

If you use scikit-aero on your project, please drop me a line.

License

scikit-aero is released under a 2-clause BSD license, hence allowing commercial use of the library. Please refer to the COPYING file.

See also