Contribute to Falcon¶
Kurt Griffiths is the creator and current maintainer of the Falcon framework. He works with a growing team of friendly and stylish volunteers like yourself, who review patches, implement features, fix bugs, and write docs for the project.
Your ideas and patches are always welcome!
IRC¶
If you are interested in helping out, please join the #falconframework IRC channel on Freenode. It’s the best way to discuss ideas, ask questions, and generally stay in touch with fellow contributors. We recommend setting up a good IRC bouncer, such as ZNC, which can record and play back any conversations that happen when you are away.
Mailing List¶
The Falcon community maintains a mailing list that you can use to share your ideas and ask questions about the framework. We use the appropriately minimalistic Librelist to host the discussions.
Subscribing is super easy and doesn’t require any account setup. Simply send an email to falcon@librelist.com and follow the instructions in the reply. For more information about managing your subscription, check out the Librelist help page.
While we don’t have an official code of conduct, we do expect everyone who participates on the mailing list to act professionally, and lead by example in encouraging constructive discussions. Each individual in the community is responsible for creating a positive, constructive, and productive culture.
Discussions are archived for posterity.
Submit Issues¶
If you have an idea for a feature, run into something that is harder to use than it should be, or find a bug, please let the crew know in #falconframework and/or by submitting an issue. We need your help to make Falcon awesome!
Pay it Forward¶
We’d like to invite you to help other community members with their questions in IRC, and to peer-review pull requests. If you use the Chrome browser, we recommend installing the NotHub extension to stay up to date with PRs.
Pull Requests¶
Before submitting a pull request, please ensure you have added new tests and updated existing ones as appropriate. We require 100% code coverage. Also, please ensure your coding style follows PEP 8 and doesn’t make pyflakes sad.
Additional Style Rules
Docstrings are required for classes, attributes, methods, and functions.
Use napolean-flavored dosctrings to make them readable both when using the help function within a REPL, and when browsing them on Read the Docs.
Format non-trivial comments using your GitHub nick and an appropriate prefix. Here are some examples:
# TODO(riker): Damage report! # NOTE(riker): Well, that's certainly good to know. # PERF(riker): Travel time to the nearest starbase? # APPSEC(riker): In all trust, there is the possibility for betrayal.
Commit messages should be formatted using AngularJS conventions (one-liners are OK for now but bodies and footers may be required as the project matures).
When catching exceptions, name the variable
ex
.Use whitespace to separate logical blocks of code and to improve readability.
Do not use single-character variable names except for trivial indexes when looping, or in mathematical expressions implementing well-known formulae.
Heavily document code that is especially complex or clever!
When in doubt, optimize for readability.