Add contributors doc
This commit is contained in:
parent
eccea93a6d
commit
bd208a13df
|
@ -0,0 +1,74 @@
|
|||
Contributing
|
||||
============
|
||||
|
||||
The pull requests, bug reports, feature suggestions or even demo use cases contributed by the pyircbot community are all
|
||||
highly appreciated and a valuable asset to the project.
|
||||
|
||||
This document outlines best practices and conditions for contributing changes pyircbot.
|
||||
|
||||
|
||||
Sending a Pull Request
|
||||
----------------------
|
||||
|
||||
The pyircbot project does have a couple rules for pull requests:
|
||||
|
||||
|
||||
Where
|
||||
While pyircbot's main git repository is hosted on a private server, PRs are welcome on the
|
||||
`github mirror <https://github.com/dpedu/pyircbot>`_ of the project.
|
||||
|
||||
|
||||
Linting
|
||||
Pyircbot's codebase is linted with flake8. The configuration arguments for flake8 are: ``--max-line-length 120
|
||||
--ignore E402,E712,E731,E211 --select E,F``. TODO add a flake8 config file to the repo so these args are codified.
|
||||
|
||||
|
||||
Python versions
|
||||
Pyircbot supports the two latest versions of python 3. At present, this is Python 3.6 and 3.7. All changes must be
|
||||
compatible with these versions. Using compatibility modules or checking the version at runtime is discouraged; the
|
||||
code should be written in a fashion that is interoperable.
|
||||
|
||||
|
||||
Dependencies
|
||||
The core of pyircbot - that is, the bot runtime itself and the basic modules needed to operate it - `PingResponder`
|
||||
and `Services` - have no dependencies outside python's standard library of modules. All changes must not change this
|
||||
condition. The use of 3rd party dependencies in pyircbot modules is allowed, provided the versions used do not
|
||||
conflict with modules already in use.
|
||||
|
||||
All 3rd party dependencies must be installable via Pip with no extra setup required (e.g. OS-level packages), with
|
||||
some exceptions:
|
||||
|
||||
- Requiring ``git`` for pip links directly to repositories is permitted.
|
||||
|
||||
- Requiring a C/C++ compiler available on the system as well as python headers which are typically required for
|
||||
libraries with C/C++ or other native language extensions is permitted. However, requiring additional headers or
|
||||
shared libraries is prohibited, unless:
|
||||
|
||||
- Many operating systems provide a ``python3-pip`` or similar package that depends on many other packages that violate
|
||||
the above rules, such as openssl headers or sqlite shared libraries. Pyircbot's preferred platform is Ubuntu Bionic,
|
||||
and any dependencies of such a package are permitted.
|
||||
|
||||
- These rules apply to code dependencies only, and do not apply to external *services* such as MySQL.
|
||||
|
||||
Modules that require setup or dependencies beyond these rules will not be accepted into the core module set. The
|
||||
recommended approach to use such a module is via the ``usermodules`` config directive.
|
||||
|
||||
No set of rules will handle all cases, and discussion or defending a change that violates these rules is encouraged.
|
||||
|
||||
|
||||
Tests
|
||||
Please consider the test suite when submitting changes affecting the core runtime and existing modules. Reduction of
|
||||
coverage is acceptable, but breaking or removing tests is not. Changes submitted with updated or new tests will
|
||||
be fast-tracked.
|
||||
|
||||
|
||||
Contributors to Pyircbot
|
||||
------------------------
|
||||
|
||||
Any change submitted to pyircbot is highly appreciated.
|
||||
|
||||
Our contributors, in no particular order:
|
||||
|
||||
- `@ollien <https://github.com/ollien>`_ ❤️
|
||||
- `@medmr1 <https://github.com/medmr1>`_ ❤️
|
||||
- `@dpedu <https://github.com/dpedu>`_ ❤️
|
|
@ -15,6 +15,7 @@ Contents:
|
|||
module_guide/_module_guide.rst
|
||||
module_guide/_pubsub_mode.rst
|
||||
changelog.rst
|
||||
contributing.rst
|
||||
|
||||
More Information
|
||||
================
|
||||
|
|
Loading…
Reference in New Issue