1- .. image :: doc /source/_static/logo.png
2- :align: center
1+ .. image :: docs /source/_static/logo.png
2+ :align: center
33
4- .. image :: https://img.shields.io/maintenance/yes/2019.svg?style=for-the-badge
4+ .. image :: https://img.shields.io/badge/Skaero-%E2%9C%88%EF%B8%8F-9cf
55 :target: https://github.com/AeroPython/scikit-aero
6- :alt: Maintenance
6+ :alt: Skaero
77
8- .. image :: https://img.shields.io/pypi/l/scikit-aero.svg?style=for-the-badge
9- :target: https://github.com/AeroPython/scikit-aero/blob/master/COPYING
10- :alt: License
8+ .. image :: https://img.shields.io/badge/Built%20with-Python%20%F0%9F%92%95%20-blue
9+ :target: https://python.org
10+ :alt: Built with Python
1111
12- .. image :: https://readthedocs.org/projects/pip/badge/?version=latest&style=for-the-badge
13- :target: https://aeropython. github.io/ scikit-aero/
14- :alt: Docs
12+ .. image :: https://img.shields.io/pypi/l/scikit-aero.svg
13+ :target: https://github.com/AeroPython/ scikit-aero/blob/master/COPYING
14+ :alt: License
1515
16- .. image :: https://img.shields.io/travis/com/aeropython/ scikit-aero/master?style=for-the-badge
17- :target: https://travis-ci.com/aeropython/scikit-aero
18- :alt: Travis
16+ .. image :: https://readthedocs.org/projects/ scikit-aero/badge/?version=latest
17+ :target: https://scikit-aero.readthedocs.io/en/latest/?badge=latest
18+ :alt: Documentation Status
1919
20- .. image :: https://img.shields.io/badge/mailing%20list-groups.io-8cbcd1. svg?style=for-the-badge
21- 22- :alt: Email
20+ .. image :: https://travis-ci.org/AeroPython/scikit-aero. svg?branch=master
21+ :target: https://travis-ci.org/AeroPython/scikit-aero
22+ :alt: Travis
2323
24- |
24+ .. image :: https://codecov.io/gh/AeroPython/scikit-aero/branch/master/graph/badge.svg
25+ :target: https://codecov.io/gh/AeroPython/scikit-aero
26+ :alt: Coverage
2527
26- :Name: scikit-aero
27- :Description: Aeronautical engineering calculations in Python
28- :Website: https://github.com/AeroPython/scikit-aero
29- :Author: AeroPython Team <
[email protected] >
30- :Version: 0.2.dev0
28+ .. image :: https://img.shields.io/badge/mailing%20list-groups.io-8cbcd1.svg
29+ 30+ :alt: Email
3131
32- |
3332
3433Scikit-aero
35- -----------
34+ ===========
3635
37- scikit -aero is a Python package for various aeronautical engineering
38- calculations. It is based on several existing Python packages on the field,
39- but intends to provide pythonic syntax, use of SI units and full NumPy arrays
40- support among other things. scikit-aero is licensed under the BSD license.
36+ Scikit -aero is a Python package for various aeronautical engineering
37+ calculations. It is based on several existing Python packages on the field, but
38+ intends to provide pythonic syntax, use of SI units and full NumPy arrays
39+ support among other things. The software is licensed under the BSD license.
4140
42- It was started by Juan Luis Cano in 2012 and has code from several
43- contributors (see AUTHORS). The source code and issue tracker are both hosted
44- on GitHub
41+ It was started by Juan Luis Cano in 2012 and has code from several contributors
42+ (see AUTHORS). The source code and issue tracker are both hosted on GitHub
4543
46- **Notice **: This package is under heavy development and the API might change
47- at any time until a 1.0 version is reached. It is stable but not feaure
48- complete yet, and it might contain bugs.
44+ Installation
45+ ------------
46+
47+ This package fulfills the last standard PEP-517 and PEP-518 by including a
48+ `pyproject.toml ` file and making use of a tool called [Flit](https://pypi.org/project/flit/)
49+ for the installation of the software. Follow these steps to install scikit-aero:
50+
51+ 1. Clone the repository or just download the latest release in the [releases
52+ section](https://github.com/AeroPython/scikit-aero/releases).
53+
54+ 2. Run the following commands:
55+
56+ .. code-block :: bash
57+
58+ $ pip install pygments, flit
59+ $ flit install --symlink path/to/scikit-aero
4960
5061 Features
5162--------
5263
5364* Pythonic interface.
5465* Use of SI units.
5566* Full support of NumPy arrays.
56- * Support for both Python 2 and 3.
5767* Fully tested and documented.
5868* Standard atmosphere properties up to 86 kilometers.
5969* Gas dynamics calculations.
@@ -65,138 +75,47 @@ Future
6575* Coordinate systems.
6676* Most of the PDAS.
6777
68- Usage
69- =====
70-
71- Atmosphere properties:
72-
73- .. code-block :: python
74-
75- from skaero.atmosphere import coesa
76- h, T, p, rho = coesa.table(1000 ) # Altitude by default, 1 km
77-
78- Inverse computations allowed with density and pressure, which are monotonic:
79-
80- .. code-block :: python
81-
82- h, T, p, rho = coesa.table(p = 101325 ) # Pressure of 1 atm
83-
84- Gas dynamics calculations:
85-
86- .. code-block :: python
87-
88- from skaero.gasdynamics import isentropic, shocks
89- fl = isentropic.IsentropicFlow(gamma = 1.4 )
90- p = 101325 * fl.p_p0(M = 0.8 ) # Static pressure given total pressure of 1 atm
91- ns = shocks.Shock(M_1 = 2.5 , gamma = 1.4 )
92- M_2 = ns.M_2 # Mach number behind a normal shock wave
93- os = shocks.Shock(M_1 = 3.0 , theta = np.radians(25 ), weak = True )
94-
95- Dependencies
96- ============
97-
98- This package depends on Python, NumPy and SciPy and is usually tested on
99- Linux with the following versions:
100-
101- * Python 2.7, NumPy 1.6, SciPy 0.11
102- * Python 3.3, NumPy 1.7.0b2, SciPy 0.11.0
103-
104- but there is no reason it shouldn't work on Windows or Mac OS X and other
105- Python versions newer or equal to 2.5. If you are
106- willing to provide testing on this platforms, please
107- `
contact me <
mailto:[email protected] >`_ and if you find any bugs file them
108- on the `issue tracker `_.
109-
110- Optional
111- --------
112-
113- For running the tests, `py.test `_ is recommended (see `Testing `_). The examples are
114- in `IPython `_ notebook format, so to run them locally you will need a recent
115- version of IPython and its dependencies.
78+ Usage and documentation
79+ -----------------------
11680
117- .. _`py.test` : http://pytest.org
118- .. _`IPython` : http://ipython.org/
119-
120- Install
121- =======
122-
123- To install just execute:
124-
125- .. code-block :: bash
126-
127- $ pip install scikit-aero
128-
129- If you want to install the package in development mode, please execute:
130-
131- .. code-block :: bash
132-
133- $ pip install --editable /path_to_scikit-aero
134-
135- It is recommended that you **never ever use sudo ** with distutils, pip,
136- setuptools and friends in Linux because you might seriously break your
137- system [1 _][2 _][3 _][4 _]. I recommend using `virtualenv `_, `per user directories `_
138- or `local installations `_.
139-
140- .. _1 : http://wiki.python.org/moin/CheeseShopTutorial#Distutils_Installation
141- .. _2 : http://stackoverflow.com/questions/4314376/how-can-i-install-a-python-egg-file/4314446#comment4690673_4314446
142- .. _3 : http://workaround.org/easy-install-debian
143- .. _4 : http://matplotlib.1069221.n5.nabble.com/Why-is-pip-not-mentioned-in-the-Installation-Documentation-tp39779p39812.html
144-
145- .. _`virtualenv` : http://pypi.python.org/pypi/virtualenv
146- .. _`per user directories` : http://stackoverflow.com/a/7143496/554319
147- .. _`local installations` : http://stackoverflow.com/a/4325047/554319
81+ Official docs are hosted [here](https://scikit-aero.readthedocs.io/en/latest/).
82+ You can find not only installation instructions, but also a set of examples together
83+ with the API documentation.
14884
14985Testing
150- =======
151-
152- scikit-aero recommends py.test for running the test suite. Running from the
153- top directory:
86+ -------
15487
155- .. code-block :: bash
88+ It is possible to run the tests by making use of a tool called `tox `, which not
89+ only tests the logic Python files but also other things such us code format and
90+ coverage. Tox is based on what are called "environments", each one defined by its
91+ own name in this package:
15692
157- $ pytest
158-
159- To test code coverage, make sure you install `py.test-cov `_ extension and run:
160-
161- .. code-block :: bash
162-
163- $ pytest --cov skaero
164-
165- .. _`py.test-cov` : https://pypi.python.org/pypi/pytest-cov
166-
167- Examples
168- ========
169-
170- Some applied examples are in the folder `examples ` in the IPython notebook
171- format. To see them without running locally, use `nbviewer `_; for example,
172- to see the `cd_nozzle.ipynb ` notebook, browse to
173-
174- http://nbviewer.ipython.org/url/raw.github.com/Pybonacci/scikit-aero/master/examples/Oblique%20shocks%20chart.ipynb
175-
176- .. _`nbviewer` : http://nbviewer.ipython.org/
93+ * `tox -e check `: will check if code fulfills proper format.
94+ * `tox -e reformat `: applies proper format for passing the previous environment.
95+ * `tox -e coverage `: runs coverage test against actual code.
96+ * `tox -e py36 `: will check if tests sucessfully run in Python3.6.
17797
17898Bug reporting
179- =============
99+ -------------
180100
181- I am pretty sure I never introduce bugs in my code, but if you want to prove
182- me wrong please refer to the `issue tracker `_ on GitHub.
101+ If you find any bugs on the software, please refer to the `issue tracker `_ on GitHub.
183102
184103.. _`issue tracker` : https://github.com/Juanlu001/scikit-aero/issues
185104
186105Citing
187- ======
106+ ------
188107
189108If you use scikit-aero on your project, please
190109`
drop me a line <
mailto:[email protected] >`_.
191110
192111License
193- =======
112+ -------
194113
195114scikit-aero is released under a 2-clause BSD license, hence allowing commercial use
196115of the library. Please refer to the COPYING file.
197116
198117See also
199- ========
118+ --------
200119
201120* `AeroCalc `_, package written by Kevin Horton which inspired scikit-aero.
202121* `MATLAB Aerospace Toolbox `_,
0 commit comments