If you want to make changes to RCAIDE source, or contribute new functionalities back to the community, this is the page for you! RCAIDE is developed via GitHub, and this page will describe how to get started. There is also a list of open topics available for contribution if you’re looking for ideas to get started.
As a developer, you’ll want to fork RCAIDE to your personal account. This creates a copy of the whole RCAIDE repository, including all past versions, inside your GitHub account. Generally, you’ll want to start from the develop branch, but you can check with the developers if you think it would be more appropriate to work on a feature branch.
Development is done on separate branches. Basically, there are three types of branches.
master – stable, latest release and fixes
develop – current development, generally the branch for you to start with
feature-* – feature specific branches, using names with underscores, check with the developer email list if you think this a better place to contribute
RCAIDE merges new code contributions through pull requests. As you make changes to your copy of RCAIDE, you’ll upload them to your GitHub fork, and then when they’re ready for review you’ll submit them for merge via pull request.
RCAIDE is built on a slightly modified PEP8 style guide, with changes made to implement a data-oriented view of the code. To help support discovering code, the RCAIDE folder structure explicitly mirrors the package structure. The flexibility of the package structure is important, so in general, all objects live in their own file, with the same file name as the object name. To maintain a separation between Analysis and Data structures, there are often parallel package trees inside the main branches of the package, like RCAIDE.Methods.Aerodynamics and RCAIDE.Analysis.Aerodynamics. Where possible, the names of fields that live in the RCAIDE package are written out verbosely, avoiding jargon built on mathematical variable names or acronyms.
Below are the packages that RCAIDE expects in order to run the tutorial cases. These are pip, numpy, scipy, matplotlip, plotly, scikit-learn, sklearn, pandas, geopy and kaleido. You can install the dependent packages separately in the terminal of your machine.
pip install numpy
pip install scipy==1.7.3
pip install matplotlib
pip install plotly
pip install kaleido
pip install pandas
pip install scikit-learn
pip install geopy
Alternatively, you can use a scientific python distribution like Anaconda. All the package dependencies like scipy and numpy will come pre-packaged and stuff will just work.
Once you’ve downloaded the code and prepared the software requirements, you’re ready to install it into python!
First, download the repository. There are two options:
In your terminal, run the following command: git clone https://github.com/leadsgroup/RCAIDE_UIUC.git .
Download directly from GitHub and extract the release archive.
Run this command: python3 setup.py develop.
You may need to run a sudo (super user do) command to install RCAIDE when working on linux or mac systems: sudo python3 setup.py develop.
Conversely, on a Windows machine or server, you may have to specify that it is a local install if you don't have administrative privilege: python3 setup.py develop --user
Change to any other folder to test your installation - you can simply navigate to the previous folder i.e. RCAIDE by running the following command: cd ..
Open a python shell by running the following command: python3
Test your RCAIDE installation
In the command line, run >>> import RCAIDE
Then, run >>> print (RCAIDE.__file__)
This should print the file path to the RCAIDE package init.py file in your trunk directory.
The same strategies for dealing with write access can be used here, by simply replacing any install keywords with develop
To uninstall the developer version, run the command python3 setup.py develop --uninstall