Contributions are welcome, and greatly appreciated! We recommend you to check our Developer Tools Guide to make the development process easier and standard.
Notably, you can follow the tag of call for contributors in the issues. Those issues are designed for the external contributors to solve. The pull requests solving these issues are most likely to be merged.
There are many ways to contribute to AutoKeras, including submit feedback, fix bugs, implement features, and write documentation. The guide for each type of contribution is as follows.
The feedback should be submitted by creating an issue at GitHub issues. Select the related template (bug report, feature request, or custom) to write the details of the feedback.
You may look through the GitHub issues for bugs. Anything tagged with "bug report" is open to whomever wants to fix. Please follow the Pull Request Guide to submit your pull request. Please also read Code Style Guide, to ensure your pull request meet our requirements.
You may look through the GitHub issues for feature requests. Anything tagged with "feature request" is open to whoever wants to implement it. Unit tests are needed to test the new feature implemented and fully cover the new code you wrote. Please follow the Pull Request Guide to submit your pull request. Please also read Code Style Guide, to ensure your pull request meet our requirements.
The documentation of AutoKeras is either directly written into the Markdown files in templates directory, or automatically extracted from the docstrings by executing the autogen.py. Please follow the Pull Request Guide to submit your pull request. Please also read Code Style Guide.
Pull Request Guide
Before you submit a pull request, check that it meets these guidelines:
Is this the first pull request that you're making with GitHub? If so, read the guide Making a pull request to an open-source project.
Include "resolves #issue_number" in the description of the pull request if applicable and briefly describe your contribution.
Submit the pull request from the first day of your development and create it as a draft pull request. Click
ready for reviewwhen finished and passed the all the checks.
For the case of bug fixes, add new test cases which would fail before your bug fix.
Code Style Guide
- Your code should pass the
- Docstrings should follow our style.
- Imports should follow our style. For "our style", just check the code of AutoKeras.
Developer Tools Guide
Visual Studio Code
We suggest using Visual Studio Code (VSCode) to develop for AutoKeras. It can automatically format your code, sort your imports, mark any code style violations, generate docstrings according to our format for you. Check VSCode configuration here.
Use virtualenv to create a isolated Python environment for AutoKeras project to avoid dependency version conflicts with your other projects. Virtualenvwrapper is a even simpler command-line tool to manage multiple virtualenvs.
You can make git run
flake8 before every commit automatically. It will make you go faster by
avoiding pushing commit which are not passing the flake8 tests. To do this,
.git/hooks/pre-commit with a text editor and write
flake8 inside. If the
pass, the commit will be aborted.
Main Contributor List
We really appreciate all the contributions. To show our appreciation to those who contributed most, we would like to maintain a list of main contributors. To be in the list, you need to meet the following requirments. 1. Be on campus of Texas A&M University. 2. Constantly present in our meetings. 3. Constantly contribute code to our repository. 4. Keep the above for over 6 months.