If your contribution is:
- New Feature. Open a pull request, this should initially be a proposal describing the feature. Once we agree everything looks good you may go ahead and implement it.
- Fix an FCND Issue. Issues from the FCND issues repo. The issues will be labelled
udacidrone
. Open a pull request with the issue fix and reference the issue in your PR.
If you are not familiar with creating a Pull Request, here are some guides:
- http://stackoverflow.com/questions/14680711/how-to-do-a-github-pull-request
- https://help.github.com/articles/creating-a-pull-request/
- Uninstall existing udacidrone
pip uninstall udacidrone
# if the above doesn't work
pip uninstall https://github.com/udacity/udacidrone.git
- Clone the repo
git clone https://github.com/udacity/udacidrone.git
cd udacidrone
- Setup develop environment
This mode will symlink the python files from the current local source tree into the python install.
python setup.py build develop
Alternatively, you can add udacidrone to your PYTHONPATH
environment variable.
export PYTHONPATH=path/to/udacidrone
Either of these modes allow editing files and updating udacidrone on the fly.
The branch you're working on will be tested with CI, any lint or test errors will cause the build to fail.
We use flake8
for linting, yapf
for formatting, and pytest
for testing. The configuration can be found in
setup.cfg. The Makefile provides utilities to lint, format and test locally:
Linting:
make lint
Formatting:
make format
Testing:
make test
The website is built using Docusaurus. Everything website related can be found in the docs
and website
directories.