Contributing¶
Issues and New Features¶
If you find a bug or there are any features you would like added please open up an issue here.
Adding to the Code¶
If you would like to contribute to the code yourself, drop me an email at tom.g.r.brooks@gmail.com and I will add you as a collaborator.
Contributions will operate on a pull request model:
Create a fork of the repository by hitting the Fork
button in the top right.
Clone your fork, and set it to track the original repository
git clone https://github.com/< username >/ADA.git
cd ADA
git remote add upstream https://github.com/tgrbrooks/ADA.git
Create a new branch to work on your feature
git checkout -b < branch name >
Add your new code, committing and pushing to your branch as usual.
When finished, make sure all the changed files have been committed and pushed to your GitHub repository.
git commit -a -m "Commit message"
git push origin < branch name >
Find your branch on GitHub and click New pull request
. Add a message about the new feature and then I will review it and merge if appropriate.
Adding a new file type¶
Add a reader function in the
reader
directory. It should take a file name and return a collection ofAlgaeData
objects, depending on the contents of the file.Add a load function to
load_window.py
that calls the reader function and adds theAlgaeData
object to the data manager.Add name of file to
file_types
andreplicate_types
inconfiguration.py
.Add the load function to the
load
method inload_window.py
, calling it if thefile_type
matches the name given in the configuration.
Adding a new model¶
Create a model class that inherits from
GrowthModel
inmodels.py
.- The inner
__init__
must contain: A Latex equation string of the function.
A list of short descriptions of parameters for displaying options in the app.
A list of Latex parameter strings.
A list of the units of each parameter as a function of the X and Y units passed to the outer
__init__
.
- The inner
Add the new model class to the
get_model
function.Add the model name to
fit_options
inconfiguration.py
Adding a new table row type¶
Create a function for calculating the measurement in
DataManager
.Add the measurement type inputs to
TableListItem
.In
table_window.py
call the data manager function inget_row_data
and set the corresponding title inget_row_title
.Add the measurement name to
table_row_options
inconfiguration.py
.