Skip to main content

Aeronautical engineering calculations in Python.

Project description

scikit-aero

Name:

scikit-aero

Website:

https://github.com/Pybonacci/scikit-aero

Author:

Juan Luis Cano <juanlu001@gmail.com>

Version:

0.1

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. scikit-aero is licensed under the BSD license.

It was started by Juan Luis Cano in 2012 and it is currently developed and maintained by him. The source code and issue tracker are both hosted on GitHub

https://github.com/Pybonacci/scikit-aero

Notice: This package is under heavy development and the API might change at any time until a 1.0 version is reached. It is stable but not feaure complete yet, and it might contain bugs.

Features

  • Pythonic interface.

  • Use of SI units.

  • Full support of NumPy arrays.

  • Support for both Python 2 and 3.

  • Fully tested and documented.

  • Standard atmosphere properties up to 11 kilometers (troposphere).

  • Gas dynamics calculations.

Future

  • Full COESA model.

  • Airspeed conversions.

  • Coordinate systems.

  • Most of the PDAS.

Usage

Atmosphere properties:

>>> from skaero.atmosphere import coesa
>>> h, T, p, rho = coesa.table(1000)  # Altitude by default, 1 km

Inverse computations allowed with density and pressure, which are monotonic:

>>> h, T, p, rho = coesa.table(p=101325)  # Pressure of 1 atm

Gas dynamics calculations:

>>> from skaero.gasdynamics import isentropic, shocks
>>> fl = isentropic.IsentropicFlow(gamma=1.4)
>>> p = 101325 * fl.p_p0(M=0.8)  # Static pressure given total pressure of 1 atm
>>> ns = shocks.NormalShock(M_1=2.5, gamma=1.4)
>>> M_2 = ns.M_2  # Mach number behind a normal shock wave

Dependencies

This package depends on Python, NumPy and SciPy and is usually tested on Linux with the following versions:

  • Python 2.7, NumPy 1.6, SciPy 0.11

  • Python 3.3, NumPy 1.7.0b2, SciPy 0.11.0

but there is no reason it shouldn’t work on Windows or Mac OS X. If you are willing to provide testing on this platforms, please contact me and if you find any bugs file them on the issue tracker.

Install

This package uses distutils. To install, execute as usual:

$ python setup.py install

It is recommended that you never ever use sudo with distutils, pip, setuptools and friends in Linux because you might seriously break your system [1][2][3][4]. I recommend using virtualenv, per user directories or local installations.

Testing

scikit-aero recommends py.test for running the test suite. Running from the top directory:

$ py.test

Bug reporting

I am pretty sure I never introduce bugs in my code, but if you want to prove me wrong 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

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

scikit-aero-v0.1.0.tar.gz (20.2 kB view details)

Uploaded Source

File details

Details for the file scikit-aero-v0.1.0.tar.gz.

File metadata

File hashes

Hashes for scikit-aero-v0.1.0.tar.gz
Algorithm Hash digest
SHA256 14f8a687a7dd78582e2084dbc77e4770f3b78827273ca0a6b2c1b9d3b6ebebd3
MD5 22a907ccc3def1d5c8aff8dec5a7911e
BLAKE2b-256 8555aed9cd780533b807791abd016e0577271515aa75f74b6cade968a4573b16

See more details on using hashes here.

Supported by

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