summaryrefslogtreecommitdiff
path: root/docs/source/plugin-development/index.rst
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-06-25 09:51:15 -0500
committerIan Cordasco <graffatcolmingov@gmail.com>2016-06-25 09:51:15 -0500
commit5c8d767626a31560494996cd02ec5d654734aab2 (patch)
treedd3fb8a4644413b776d789b636c11cfcb9083f0f /docs/source/plugin-development/index.rst
parent14ce512b9a62c1f4652eebc0706f7fe674a423b4 (diff)
downloadflake8-5c8d767626a31560494996cd02ec5d654734aab2.tar.gz
Rename dev subdirectory to plugin-development
This should make the contents clearer
Diffstat (limited to 'docs/source/plugin-development/index.rst')
-rw-r--r--docs/source/plugin-development/index.rst56
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/source/plugin-development/index.rst b/docs/source/plugin-development/index.rst
new file mode 100644
index 0000000..c3efb1d
--- /dev/null
+++ b/docs/source/plugin-development/index.rst
@@ -0,0 +1,56 @@
+============================
+ Writing Plugins for Flake8
+============================
+
+Since |Flake8| 2.0, the |Flake8| tool has allowed for extensions and custom
+plugins. In |Flake8| 3.0, we're expanding that ability to customize and
+extend **and** we're attempting to thoroughly document it. Some of the
+documentation in this section may reference third-party documentation to
+reduce duplication and to point you, the developer, towards the authoritative
+documentation for those pieces.
+
+Getting Started
+===============
+
+To get started writing a |Flake8| :term:`plugin` you first need:
+
+- An idea for a plugin
+
+- An available package name on PyPI
+
+- One or more versions of Python installed
+
+- A text editor or IDE of some kind
+
+- An idea of what *kind* of plugin you want to build:
+
+ * Formatter
+
+ * Check
+
+Once you've gathered these things, you can get started.
+
+All plugins for |Flake8| must be registered via `entry points`_. In this
+section we cover:
+
+- How to register your plugin so |Flake8| can find it
+
+- How to make |Flake8| provide your check plugin with information (via
+ command-line flags, function/class parameters, etc.)
+
+- How to make a formatter plugin
+
+- How to write your check plugin so that it works with |Flake8| 2.x and 3.x
+
+.. toctree::
+ :caption: Plugin Developer Documentation
+ :maxdepth: 2
+
+ registering-plugins
+ plugin-parameters
+ formatters
+ cross-compatibility
+
+
+.. _entry points:
+ https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points