1
- .. image :: doc /source/_static/logo.png
2
- :align: center
1
+ .. image :: docs /source/_static/logo.png
2
+ :align: center
3
3
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
5
5
:target: https://github.com/AeroPython/scikit-aero
6
- :alt: Maintenance
6
+ :alt: Skaero
7
7
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
11
11
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
15
15
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
19
19
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
23
23
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
25
27
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
31
31
32
- |
33
32
34
33
Scikit-aero
35
- -----------
34
+ ===========
36
35
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.
41
40
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
45
43
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
49
60
50
61
Features
51
62
--------
52
63
53
64
* Pythonic interface.
54
65
* Use of SI units.
55
66
* Full support of NumPy arrays.
56
- * Support for both Python 2 and 3.
57
67
* Fully tested and documented.
58
68
* Standard atmosphere properties up to 86 kilometers.
59
69
* Gas dynamics calculations.
@@ -65,138 +75,47 @@ Future
65
75
* Coordinate systems.
66
76
* Most of the PDAS.
67
77
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
+ -----------------------
116
80
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.
148
84
149
85
Testing
150
- =======
151
-
152
- scikit-aero recommends py.test for running the test suite. Running from the
153
- top directory:
86
+ -------
154
87
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:
156
92
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.
177
97
178
98
Bug reporting
179
- =============
99
+ -------------
180
100
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.
183
102
184
103
.. _`issue tracker` : https://github.com/Juanlu001/scikit-aero/issues
185
104
186
105
Citing
187
- ======
106
+ ------
188
107
189
108
If you use scikit-aero on your project, please
190
109
`
drop me a line <
mailto:[email protected] >`_.
191
110
192
111
License
193
- =======
112
+ -------
194
113
195
114
scikit-aero is released under a 2-clause BSD license, hence allowing commercial use
196
115
of the library. Please refer to the COPYING file.
197
116
198
117
See also
199
- ========
118
+ --------
200
119
201
120
* `AeroCalc `_, package written by Kevin Horton which inspired scikit-aero.
202
121
* `MATLAB Aerospace Toolbox `_,
0 commit comments