Giter Site home page Giter Site logo

carpy's Introduction


License: GPL v3 Python Version PyPI Version CircleCI Jupyter Badge

CARPy is an open source project for those interested in the methodology and approach to the conceptual-level design of fixed-wing and rotor-wing aircraft. This library provides its users with access to a variety of design tools for conceptual analysis. The full terms of software use should have been provided to you with a copy of the software, i.e. the work here-in is protected by a standard GPLv3 license.

Users will find:

  • Virtual (design) atmospheres and environments
  • Hassle-free conversions between systems of units
  • [WorkInProgress] Constraint Analysis Methods
  • [WorkInProgress] Propulsion models and Engine Performance Decks
  • ...and much more

CARPy is continually tested to ensure you have the most stable code. Users encountering any issues should raise a GitHub issue, or better yet, consider contributing to the project.

Continuous Integration Status (CircleCI):
CircleCI

For a detailed description of the library, please consult the documentation. To get started, follow the instructions below.

✔️ Getting Started

Installation

CARPy is written for (and tested in) Python version 3.10+.

Method 1: Using the Python Package Index

Terminal PyPi

On most systems you should be able to simply open an operating system terminal and at the command prompt type

$ pip install carpy

or

$ python -m pip install carpy

NOTE: pip is a Python package; if it is not available on your system, download get-pip.py and run it in Python by entering

$ python get-pip.py

at the operating system prompt.

If you already have a version of carpy installed and are simply trying to upgrade, use the --upgrade flag:

$ pip install --upgrade carpy

Method 2: Using git clone

Terminal git

An alternative approach to installing carpy is to clone the GitHub repository using git, by typing

$ git clone https://github.com/yaseen157/carpy.git

at the command prompt. Following a successful clone of files to your machine, navigate to the library root (this contains the file pyproject.toml). At this point, you may enter the following:

$ python -m pip install ./

Alternatively, adventurous users who want an editable install to make any customisations in their local build should use the --editable flag:

$ python -m pip install -e ./

Should you find that your installation requires packages you do not have in your current Python environment, install them by typing this in the same prompt:

$ python -m pip install -r requirements.txt

'Hello world' examples

Atmospheric properties

There are several options for running the examples shown here: you could copy and paste them into a .py file, save it and run it in Python, or you could enter the lines, in sequence, at the prompt of a Python terminal. You could also copy and paste them into a Jupyter notebook (.ipynb file) cell and execute the cell.

"""'Hello World' example to introduce users to CARPy atmospheres."""
from carpy.environment.atmospheres import ISA
from carpy.utility import Quantity

# Instantiate an atmosphere model
isa = ISA()

# Query the ambient density in this model at 41,000 feet
print(f"{isa} density at 41,000 feet:", isa.density(z=Quantity(41_000, "ft")))

You should see the following output:

ISO 2533:1975 Standard Atmosphere density at 41,000 feet: 0.28740209 kg m⁻³

You can learn more about CARPy's capabilities through the exemplary notebooks.

🤔 Getting Help

CARPy was developed explicitly to fill a gap in the market for a well documented, open-source, and highly modular suite of tools for analysing aircraft concepts.

If you feel that our documentation leaves something to be desired or want to get in touch about any bugs you've discovered, let us know about it by raising a GitHib issue.

Uninstalling with PIP

Terminal PyPi

If CARPy did not meet your expectations or you are looking to reinstall the library, you can use pip to remove CARPy from your system.

Open a command prompt anywhere in your CARPy enabled Python environment. You don't need to navigate to a specific folder to uninstall CARPy, as pip already knows where CARPy lives on your machine. Type as follows:

$ pip uninstall -y carpy

Which tells pip to uninstall any package on your machine it knows to be called CARPy, and uses the optional flag -y to answer "yes" automatically to any prompt asking the user if they want to uninstall.

📝 Note: It's not uncommon for Python users to make use of "virtual environments." These behave like isolated installations of Python, so for scientific or development purposes you can be sure your code depends on exactly the files and libraries you want it to. Make sure you're in the correct environment when you're uninstalling, or nothing will happen. You can tell which environment has CARPy in because you can type in the terminal:

  $ pip show carpy

and see CARPy library info (as well as the installed version number).

🐍 Acknowledgements

This library was written and published by Yaseen Reza, in support of my studies towards the degree of doctor of philosophy.

This project would not have been possible without the careful supervision of Dr.András Sóbester and the support of my close colleagues and friends - you know who you are!

carpy's People

Contributors

yaseen157 avatar

Stargazers

Tetsuo Koyama avatar  avatar

Watchers

 avatar

carpy's Issues

readme.md version is wrong

Because the library is compiled and then uploaded to PyPI, the readme.md is compiled with a version number that does not line-up with the version number prescribed in the library's init file. Consider a fix that displays whatever is in the local init file as that will always be true?

Hoerner stranded cable

...is not supposed to produce lift when the angle of attack changes. It's always dragging. Needs a better way to include cable dimensions and orientation to flow. Likewise, lateral force should not change with the introduction of a non-zero sideslip angle.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.