flake8-rst-docstrings


Nameflake8-rst-docstrings JSON
Version 0.3.0 PyPI version JSON
download
home_page
SummaryPython docstring reStructuredText (RST) validator for flake8
upload_time2022-11-16 10:34:01
maintainer
docs_urlNone
authorPeter J. A. Cock
requires_python>=3.7
licenseMIT
keywords strings formatting style docstrings restructuredtext
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            flake8-rst-docstrings
=====================

.. image:: https://img.shields.io/pypi/v/flake8-rst-docstrings.svg
   :alt: Released on the Python Package Index (PyPI)
   :target: https://pypi.org/project/flake8-rst-docstrings/
.. image:: https://img.shields.io/conda/vn/conda-forge/flake8-rst-docstrings.svg
   :alt: Released on Conda
   :target: https://anaconda.org/conda-forge/flake8-rst-docstrings
.. image:: https://results.pre-commit.ci/badge/github/peterjc/flake8-rst-docstrings/master.svg
   :target: https://results.pre-commit.ci/latest/github/peterjc/flake8-rst-docstrings/master
   :alt: pre-commit.ci status
.. image:: https://img.shields.io/github/workflow/status/peterjc/flake8-rst-docstrings/test?logo=github-actions
   :alt: GitHub workflow status
   :target: https://github.com/peterjc/flake8-rst-docstrings/actions
.. image:: https://img.shields.io/pypi/dm/flake8-rst-docstrings.svg
   :alt: PyPI downloads
   :target: https://pypistats.org/packages/flake8-rst-docstrings
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :alt: Code style: black
   :target: https://github.com/python/black

Introduction
------------

This is an MIT licensed flake8 plugin for validating Python docstrings markup
as reStructuredText (RST) using the Python library ``docutils``. It is
available to install from the `Python Package Index (PyPI)
<https://pypi.org/project/flake8-rst-docstrings/>`_.

This is based heavily off ``pydocstyle`` (which is also MIT licensed), which
has a flake8 plugin called ``flake8-docstrings``, see:

- https://github.com/PyCQA/pydocstyle
- https://github.com/PyCQA/flake8-docstrings

The reStructuredText (RST) validation is done by calling ``docutils`` via
Todd Wolfson's ``restructuredtext-lint`` code:

- http://docutils.sourceforge.net/
- https://github.com/twolfson/restructuredtext-lint

I recommend you *also* install the related `flake8-docstrings
<https://gitlab.com/pycqa/flake8-docstrings>`_ plugin, which brings
the `pydocstyle <https://github.com/pycqa/pydocstyle>`_ checks into flake8.
This checks things like missing docstrings, and other recommendations from
`PEP 257 Docstring Conventions <https://www.python.org/dev/peps/pep-0257/>`_.

You may *also* wish to install the related flake8 plugin `flake8-rst
<https://github.com/kataev/flake8-rst>`_ which can check the Python style
of doctest formatted snippets of Python code within your ``*.rst`` files
or the docstrings within your ``*.py`` files.

Flake8 Validation codes
-----------------------

Early versions of flake8 assumed a single character prefix for the validation
codes, which became problematic with collisions in the plugin ecosystem. Since
v3.0, flake8 has supported longer prefixes therefore this plugin uses ``RST``
as its prefix.

Internally we use ``docutils`` for RST validation, which has this to say in
`PEP258 <https://www.python.org/dev/peps/pep-0258/#error-handling>`_:

* Level-0, "DEBUG": an internal reporting issue. There is no effect on the
  processing. Level-0 system messages are handled separately from the others.
* Level-1, "INFO": a minor issue that can be ignored. There is little or no
  effect on the processing. Typically level-1 system messages are not
  reported.
* Level-2, "WARNING": an issue that should be addressed. If ignored, there may
  be minor problems with the output. Typically level-2 system messages are
  reported but do not halt processing
* Level-3, "ERROR": a major issue that should be addressed. If ignored, the
  output will contain unpredictable errors. Typically level-3 system messages
  are reported but do not halt processing
* Level-4, "SEVERE": a critical error that must be addressed. Typically
  level-4 system messages are turned into exceptions which halt processing.
  If ignored, the output will contain severe errors.

The ``docutils`` "DEBUG" level messages are not reported, and the plugin
currently ignores the "INFO" level messages.

Within each category, the individual messages are mapped to ``flake8`` codes
using one hundred times the level. i.e. Validation codes ``RST4##`` are
severe or critical errors in RST validation, ``RST3##`` are major errors,
``RST2##`` are warnings, and while currently not yet used, ``RST1##`` would
be information only.

Warning codes:

====== =======================================================================
Code   Description
------ -----------------------------------------------------------------------
RST201 Block quote ends without a blank line; unexpected unindent.
RST202 Bullet list ends without a blank line; unexpected unindent.
RST203 Definition list ends without a blank line; unexpected unindent.
RST204 Enumerated list ends without a blank line; unexpected unindent.
RST205 Explicit markup ends without a blank line; unexpected unindent.
RST206 Field list ends without a blank line; unexpected unindent.
RST207 Literal block ends without a blank line; unexpected unindent.
RST208 Option list ends without a blank line; unexpected unindent.
RST210 Inline strong start-string without end-string.
RST211 Blank line required after table.
RST212 Title underline too short.
RST213 Inline emphasis start-string without end-string.
RST214 Inline literal start-string without end-string.
RST215 Inline interpreted text or phrase reference start-string without end-string.
RST216 Multiple roles in interpreted text (both prefix and suffix present; only one allowed).
RST217 Mismatch: both interpreted text role suffix and reference suffix.
RST218 Literal block expected; none found.
RST219 Inline substitution_reference start-string without end-string.
RST299 Previously unseen warning, not yet assigned a unique code.
====== =======================================================================

Major error codes:

====== =======================================================================
Code   Description
------ -----------------------------------------------------------------------
RST301 Unexpected indentation.
RST302 Malformed table.
RST303 Unknown directive type "XXX".
RST304 Unknown interpreted text role "XXX".
RST305 Undefined substitution referenced: "XXX".
RST306 Unknown target name: "XXX".
RST307 Error in "XXX" directive:
RST399 Previously unseen major error, not yet assigned a unique code.
====== =======================================================================

Severe or critial error codes:

====== =======================================================================
Code   Description
------ -----------------------------------------------------------------------
RST401 Unexpected section title.
RST499 Previously unseen severe error, not yet assigned a unique code.
====== =======================================================================

Codes ending ``99``, for example ``RST499``, indicate a previously unseen
validation error for which we have yet to assign a unique validation code
in the associated range, which would be ``RST4##`` in this example. If you see
one of these codes, please report it on our GitHub issue tracker, ideally with
an example we can use for testing.

Codes starting ``RST9##`` indicate there was a problem parsing the Python
file in order to extract the docstrings, or in processing the contents.

====== =======================================================================
Code   Description (and notes)
------ -----------------------------------------------------------------------
RST900 Failed to load file
RST901 Failed to parse file (*No longer used*)
RST902 Failed to parse __all__ entry (*No longer used*)
RST903 Failed to lint docstring
====== =======================================================================


Installation and usage
----------------------

Python 3.7 or later now required. Earlier versions did support Python 2.7, use
v0.0.14 if required.

We recommend installing the plugin using pip, which handles the dependencies::

    $ pip install flake8-rst-docstrings

Alternatively, if you are using the Anaconda packaging system, the following
command will install the plugin with its dependencies::

    $ conda install -c conda-forge flake8-rst-docstrings

Developers may install the plugin from the git repository with optional
dependencies::

    $ pip install -e .[develop]

The new validator should be automatically included when using ``flake8`` which
may now report additional validation codes starting with ``RST`` (as defined
above). For example::

    $ flake8 example.py

You can request only the ``RST`` codes be shown using::

    $ flake8 --select RST example.py

Similarly you might add particular RST validation codes to your flake8
configuration file's select or ignore list.

Note in addition to the ``RST`` prefix alone you can use partial codes
like ``RST2`` meaning ``RST200``, ``RST201``, ... and so on.

Normally flake8 violations are to a specific line *and* column. Unfortuntatley,
docutils only gives us a line number, and occasionally this only points to the
start of a paragraph - not the exact line with an issue.


Configuration
-------------

We assume you are familiar with `flake8 configuration
<http://flake8.pycqa.org/en/latest/user/configuration.html>`_.

If you are using Sphinx or other extensions to reStructuredText, you will
want to define any additional directives or roles you are using to avoid
false positive ``RST303``, ``RST304`` and ``RST305`` violations. You may also
need to ignore ``RST307`` if using Sphinx directives with arguments.

You can set these at the command line if you wish::

    $ flake8 --rst-roles class,func,ref --rst-directives envvar,exception ...

We recommend recording these settings in your ``flake8`` configuration,
for example in your ``.flake8``, ``setup.cfg``, or ``tox.ini`` file, e.g.::

    [flake8]
    rst-roles =
        class,
        func,
        ref,
    rst-directives =
        envvar,
        exception,
    rst-substitutions =
        version,
    extend-ignore =
        RST307,
        # ...

Note that flake8 allows splitting the comma separated lists over multiple
lines, and allows including of hash comment lines.

If you are using the `Google Python Style
<https://google.github.io/styleguide/pyguide.html#s3.8-comments-and-docstrings>`_
you will sometimes get unwanted warnings from this plugin - particularly in the
argument descriptions - as it does not use strict RST. We therefore currently
suggest ignoring some of the violation codes::

    [flake8]
    extend-ignore =
        # Google Python style is not RST until after processed by Napoleon
        # See https://github.com/peterjc/flake8-rst-docstrings/issues/17
        RST201,RST203,RST301,


Version History
---------------

======= ========== ===========================================================
Version Released   Changes
------- ---------- -----------------------------------------------------------
v0.3.0  2022-11-16 - Replaced ``setup.py`` with ``pyproject.toml``.
v0.2.7  2022-07-15 - Fix where function signature occurred in docstring body.
v0.2.6  2022-06-07 - Configuration option to define additional substitutions
                     (e.g. from Sphinx) for ``RST305`` (contribution from
                     `Andreas Thum <https://github.com/andthum>`_).
                   - Requires Python 3.7 or later.
v0.2.5  2021-12-10 - Ignore function signature lines at start of docstrings.
v0.2.4  2021-12-09 - Fixed rare line number problem under Python 3.7 or older.
                   - Updated test framework to use ``pytest``.
                   - Requires Python 3.6 or later.
v0.2.3  2021-05-03 - Fixed line number assert in one-line docstring-only file.
v0.2.2  2021-04-30 - Fixed line number problem under Python 3.8 or later.
                   - Corrected off-by-one line number in module docstrings.
v0.2.1  2021-04-23 - Minor internal style change.
v0.2.0  2021-04-23 - Use AST from flake8, not re-parsing with pydocstyle.
                   - Drops ``RST901`` (internal problem with parser).
                   - Drops ``RST902`` (checking any ``__all__`` entry).
v0.1.2  2021-04-16 - Dropped unused logging module import.
                   - Extended test coverage.
v0.1.1  2021-04-15 - Explicit ``pygments`` dependency for any code blocks.
v0.1.0  2021-04-15 - Import the parser from ``pydocstyle`` directly.
                   - Requires Python 3 (drops support for Python 2).
v0.0.14 2020-09-22 - Adds ``RST307`` for error in directive (eg invalid args).
v0.0.13 2019-12-26 - Adds ``RST218`` and ``RST219``.
v0.0.12 2019-11-18 - Adds ``RST213`` to ``RST217``.
v0.0.11 2019-08-07 - Configuration options to define additional directives and
                     roles (e.g. from Sphinx) for ``RST303`` and ``RST304``.
v0.0.10 2019-06-17 - Fixed flake8 "builtins" parameter warning (contribution
                     from `Ruben Opdebeeck <https://github.com/ROpdebee>`_).
v0.0.9  2019-04-22 - Checks positive and negative examples in test framework.
                   - Adds ``RST212``, ``RST305`` and ``RST306`` (contribution
                     from `Brian Skinn <https://github.com/bskinn>`_).
v0.0.8  2017-10-09 - Adds ``RST303`` and ``RST304`` for unknown directives and
                     interpreted text role as used in Sphinx-Needs extension.
v0.0.7  2017-08-25 - Remove triple-quotes before linting, was causing false
                     positives reporting RST entries ending without a blank
                     line at end of docstrings (bug fix for issue #1).
v0.0.6  2017-08-18 - Support PEP263 style encodings following a hashbang line
                     (bug fix for issue #2).
v0.0.5  2017-06-19 - Support PEP263 style encoding declaration under Python 2.
                   - Introduced ``RST900`` when fail to open the file.
v0.0.4  2017-06-19 - Catch docstring linting failures, report as ``RST903``.
v0.0.3  2017-06-16 - Ensure plugin code and RST files themselves validate.
                   - Removed unused import of ``six`` module.
                   - Basic continuous integration checks with TravisCI.
v0.0.2  2017-06-16 - Explicitly depend on flake8 v3.0.0 or later.
                   - Improved documentation.
v0.0.1  2017-06-16 - Initial public release.
======= ========== ===========================================================


Developers
----------

This plugin is on GitHub at https://github.com/peterjc/flake8-rst-docstrings

To make a new release once tested locally and on TravisCI::

    $ git tag vX.Y.Z
    $ python -m build
    $ git push origin master --tags
    $ twine upload dist/flake8?rst?docstrings-X.Y.Z*

The PyPI upload should trigger an automated pull request updating the
`flake8-rst-docstrings conda-forge recipe
<https://github.com/conda-forge/flake8-rst-docstrings-feedstock/blob/master/recipe/meta.yaml>`_.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "flake8-rst-docstrings",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "\"Peter J. A. Cock\" <p.j.a.cock@googlemail.com>",
    "keywords": "strings,formatting,style,docstrings,reStructuredText",
    "author": "Peter J. A. Cock",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/b2/e5/013d5858b69b4ba38ff259d55bd8d107009f212f296be0824b7c4a27d7ed/flake8-rst-docstrings-0.3.0.tar.gz",
    "platform": null,
    "description": "flake8-rst-docstrings\n=====================\n\n.. image:: https://img.shields.io/pypi/v/flake8-rst-docstrings.svg\n   :alt: Released on the Python Package Index (PyPI)\n   :target: https://pypi.org/project/flake8-rst-docstrings/\n.. image:: https://img.shields.io/conda/vn/conda-forge/flake8-rst-docstrings.svg\n   :alt: Released on Conda\n   :target: https://anaconda.org/conda-forge/flake8-rst-docstrings\n.. image:: https://results.pre-commit.ci/badge/github/peterjc/flake8-rst-docstrings/master.svg\n   :target: https://results.pre-commit.ci/latest/github/peterjc/flake8-rst-docstrings/master\n   :alt: pre-commit.ci status\n.. image:: https://img.shields.io/github/workflow/status/peterjc/flake8-rst-docstrings/test?logo=github-actions\n   :alt: GitHub workflow status\n   :target: https://github.com/peterjc/flake8-rst-docstrings/actions\n.. image:: https://img.shields.io/pypi/dm/flake8-rst-docstrings.svg\n   :alt: PyPI downloads\n   :target: https://pypistats.org/packages/flake8-rst-docstrings\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :alt: Code style: black\n   :target: https://github.com/python/black\n\nIntroduction\n------------\n\nThis is an MIT licensed flake8 plugin for validating Python docstrings markup\nas reStructuredText (RST) using the Python library ``docutils``. It is\navailable to install from the `Python Package Index (PyPI)\n<https://pypi.org/project/flake8-rst-docstrings/>`_.\n\nThis is based heavily off ``pydocstyle`` (which is also MIT licensed), which\nhas a flake8 plugin called ``flake8-docstrings``, see:\n\n- https://github.com/PyCQA/pydocstyle\n- https://github.com/PyCQA/flake8-docstrings\n\nThe reStructuredText (RST) validation is done by calling ``docutils`` via\nTodd Wolfson's ``restructuredtext-lint`` code:\n\n- http://docutils.sourceforge.net/\n- https://github.com/twolfson/restructuredtext-lint\n\nI recommend you *also* install the related `flake8-docstrings\n<https://gitlab.com/pycqa/flake8-docstrings>`_ plugin, which brings\nthe `pydocstyle <https://github.com/pycqa/pydocstyle>`_ checks into flake8.\nThis checks things like missing docstrings, and other recommendations from\n`PEP 257 Docstring Conventions <https://www.python.org/dev/peps/pep-0257/>`_.\n\nYou may *also* wish to install the related flake8 plugin `flake8-rst\n<https://github.com/kataev/flake8-rst>`_ which can check the Python style\nof doctest formatted snippets of Python code within your ``*.rst`` files\nor the docstrings within your ``*.py`` files.\n\nFlake8 Validation codes\n-----------------------\n\nEarly versions of flake8 assumed a single character prefix for the validation\ncodes, which became problematic with collisions in the plugin ecosystem. Since\nv3.0, flake8 has supported longer prefixes therefore this plugin uses ``RST``\nas its prefix.\n\nInternally we use ``docutils`` for RST validation, which has this to say in\n`PEP258 <https://www.python.org/dev/peps/pep-0258/#error-handling>`_:\n\n* Level-0, \"DEBUG\": an internal reporting issue. There is no effect on the\n  processing. Level-0 system messages are handled separately from the others.\n* Level-1, \"INFO\": a minor issue that can be ignored. There is little or no\n  effect on the processing. Typically level-1 system messages are not\n  reported.\n* Level-2, \"WARNING\": an issue that should be addressed. If ignored, there may\n  be minor problems with the output. Typically level-2 system messages are\n  reported but do not halt processing\n* Level-3, \"ERROR\": a major issue that should be addressed. If ignored, the\n  output will contain unpredictable errors. Typically level-3 system messages\n  are reported but do not halt processing\n* Level-4, \"SEVERE\": a critical error that must be addressed. Typically\n  level-4 system messages are turned into exceptions which halt processing.\n  If ignored, the output will contain severe errors.\n\nThe ``docutils`` \"DEBUG\" level messages are not reported, and the plugin\ncurrently ignores the \"INFO\" level messages.\n\nWithin each category, the individual messages are mapped to ``flake8`` codes\nusing one hundred times the level. i.e. Validation codes ``RST4##`` are\nsevere or critical errors in RST validation, ``RST3##`` are major errors,\n``RST2##`` are warnings, and while currently not yet used, ``RST1##`` would\nbe information only.\n\nWarning codes:\n\n====== =======================================================================\nCode   Description\n------ -----------------------------------------------------------------------\nRST201 Block quote ends without a blank line; unexpected unindent.\nRST202 Bullet list ends without a blank line; unexpected unindent.\nRST203 Definition list ends without a blank line; unexpected unindent.\nRST204 Enumerated list ends without a blank line; unexpected unindent.\nRST205 Explicit markup ends without a blank line; unexpected unindent.\nRST206 Field list ends without a blank line; unexpected unindent.\nRST207 Literal block ends without a blank line; unexpected unindent.\nRST208 Option list ends without a blank line; unexpected unindent.\nRST210 Inline strong start-string without end-string.\nRST211 Blank line required after table.\nRST212 Title underline too short.\nRST213 Inline emphasis start-string without end-string.\nRST214 Inline literal start-string without end-string.\nRST215 Inline interpreted text or phrase reference start-string without end-string.\nRST216 Multiple roles in interpreted text (both prefix and suffix present; only one allowed).\nRST217 Mismatch: both interpreted text role suffix and reference suffix.\nRST218 Literal block expected; none found.\nRST219 Inline substitution_reference start-string without end-string.\nRST299 Previously unseen warning, not yet assigned a unique code.\n====== =======================================================================\n\nMajor error codes:\n\n====== =======================================================================\nCode   Description\n------ -----------------------------------------------------------------------\nRST301 Unexpected indentation.\nRST302 Malformed table.\nRST303 Unknown directive type \"XXX\".\nRST304 Unknown interpreted text role \"XXX\".\nRST305 Undefined substitution referenced: \"XXX\".\nRST306 Unknown target name: \"XXX\".\nRST307 Error in \"XXX\" directive:\nRST399 Previously unseen major error, not yet assigned a unique code.\n====== =======================================================================\n\nSevere or critial error codes:\n\n====== =======================================================================\nCode   Description\n------ -----------------------------------------------------------------------\nRST401 Unexpected section title.\nRST499 Previously unseen severe error, not yet assigned a unique code.\n====== =======================================================================\n\nCodes ending ``99``, for example ``RST499``, indicate a previously unseen\nvalidation error for which we have yet to assign a unique validation code\nin the associated range, which would be ``RST4##`` in this example. If you see\none of these codes, please report it on our GitHub issue tracker, ideally with\nan example we can use for testing.\n\nCodes starting ``RST9##`` indicate there was a problem parsing the Python\nfile in order to extract the docstrings, or in processing the contents.\n\n====== =======================================================================\nCode   Description (and notes)\n------ -----------------------------------------------------------------------\nRST900 Failed to load file\nRST901 Failed to parse file (*No longer used*)\nRST902 Failed to parse __all__ entry (*No longer used*)\nRST903 Failed to lint docstring\n====== =======================================================================\n\n\nInstallation and usage\n----------------------\n\nPython 3.7 or later now required. Earlier versions did support Python 2.7, use\nv0.0.14 if required.\n\nWe recommend installing the plugin using pip, which handles the dependencies::\n\n    $ pip install flake8-rst-docstrings\n\nAlternatively, if you are using the Anaconda packaging system, the following\ncommand will install the plugin with its dependencies::\n\n    $ conda install -c conda-forge flake8-rst-docstrings\n\nDevelopers may install the plugin from the git repository with optional\ndependencies::\n\n    $ pip install -e .[develop]\n\nThe new validator should be automatically included when using ``flake8`` which\nmay now report additional validation codes starting with ``RST`` (as defined\nabove). For example::\n\n    $ flake8 example.py\n\nYou can request only the ``RST`` codes be shown using::\n\n    $ flake8 --select RST example.py\n\nSimilarly you might add particular RST validation codes to your flake8\nconfiguration file's select or ignore list.\n\nNote in addition to the ``RST`` prefix alone you can use partial codes\nlike ``RST2`` meaning ``RST200``, ``RST201``, ... and so on.\n\nNormally flake8 violations are to a specific line *and* column. Unfortuntatley,\ndocutils only gives us a line number, and occasionally this only points to the\nstart of a paragraph - not the exact line with an issue.\n\n\nConfiguration\n-------------\n\nWe assume you are familiar with `flake8 configuration\n<http://flake8.pycqa.org/en/latest/user/configuration.html>`_.\n\nIf you are using Sphinx or other extensions to reStructuredText, you will\nwant to define any additional directives or roles you are using to avoid\nfalse positive ``RST303``, ``RST304`` and ``RST305`` violations. You may also\nneed to ignore ``RST307`` if using Sphinx directives with arguments.\n\nYou can set these at the command line if you wish::\n\n    $ flake8 --rst-roles class,func,ref --rst-directives envvar,exception ...\n\nWe recommend recording these settings in your ``flake8`` configuration,\nfor example in your ``.flake8``, ``setup.cfg``, or ``tox.ini`` file, e.g.::\n\n    [flake8]\n    rst-roles =\n        class,\n        func,\n        ref,\n    rst-directives =\n        envvar,\n        exception,\n    rst-substitutions =\n        version,\n    extend-ignore =\n        RST307,\n        # ...\n\nNote that flake8 allows splitting the comma separated lists over multiple\nlines, and allows including of hash comment lines.\n\nIf you are using the `Google Python Style\n<https://google.github.io/styleguide/pyguide.html#s3.8-comments-and-docstrings>`_\nyou will sometimes get unwanted warnings from this plugin - particularly in the\nargument descriptions - as it does not use strict RST. We therefore currently\nsuggest ignoring some of the violation codes::\n\n    [flake8]\n    extend-ignore =\n        # Google Python style is not RST until after processed by Napoleon\n        # See https://github.com/peterjc/flake8-rst-docstrings/issues/17\n        RST201,RST203,RST301,\n\n\nVersion History\n---------------\n\n======= ========== ===========================================================\nVersion Released   Changes\n------- ---------- -----------------------------------------------------------\nv0.3.0  2022-11-16 - Replaced ``setup.py`` with ``pyproject.toml``.\nv0.2.7  2022-07-15 - Fix where function signature occurred in docstring body.\nv0.2.6  2022-06-07 - Configuration option to define additional substitutions\n                     (e.g. from Sphinx) for ``RST305`` (contribution from\n                     `Andreas Thum <https://github.com/andthum>`_).\n                   - Requires Python 3.7 or later.\nv0.2.5  2021-12-10 - Ignore function signature lines at start of docstrings.\nv0.2.4  2021-12-09 - Fixed rare line number problem under Python 3.7 or older.\n                   - Updated test framework to use ``pytest``.\n                   - Requires Python 3.6 or later.\nv0.2.3  2021-05-03 - Fixed line number assert in one-line docstring-only file.\nv0.2.2  2021-04-30 - Fixed line number problem under Python 3.8 or later.\n                   - Corrected off-by-one line number in module docstrings.\nv0.2.1  2021-04-23 - Minor internal style change.\nv0.2.0  2021-04-23 - Use AST from flake8, not re-parsing with pydocstyle.\n                   - Drops ``RST901`` (internal problem with parser).\n                   - Drops ``RST902`` (checking any ``__all__`` entry).\nv0.1.2  2021-04-16 - Dropped unused logging module import.\n                   - Extended test coverage.\nv0.1.1  2021-04-15 - Explicit ``pygments`` dependency for any code blocks.\nv0.1.0  2021-04-15 - Import the parser from ``pydocstyle`` directly.\n                   - Requires Python 3 (drops support for Python 2).\nv0.0.14 2020-09-22 - Adds ``RST307`` for error in directive (eg invalid args).\nv0.0.13 2019-12-26 - Adds ``RST218`` and ``RST219``.\nv0.0.12 2019-11-18 - Adds ``RST213`` to ``RST217``.\nv0.0.11 2019-08-07 - Configuration options to define additional directives and\n                     roles (e.g. from Sphinx) for ``RST303`` and ``RST304``.\nv0.0.10 2019-06-17 - Fixed flake8 \"builtins\" parameter warning (contribution\n                     from `Ruben Opdebeeck <https://github.com/ROpdebee>`_).\nv0.0.9  2019-04-22 - Checks positive and negative examples in test framework.\n                   - Adds ``RST212``, ``RST305`` and ``RST306`` (contribution\n                     from `Brian Skinn <https://github.com/bskinn>`_).\nv0.0.8  2017-10-09 - Adds ``RST303`` and ``RST304`` for unknown directives and\n                     interpreted text role as used in Sphinx-Needs extension.\nv0.0.7  2017-08-25 - Remove triple-quotes before linting, was causing false\n                     positives reporting RST entries ending without a blank\n                     line at end of docstrings (bug fix for issue #1).\nv0.0.6  2017-08-18 - Support PEP263 style encodings following a hashbang line\n                     (bug fix for issue #2).\nv0.0.5  2017-06-19 - Support PEP263 style encoding declaration under Python 2.\n                   - Introduced ``RST900`` when fail to open the file.\nv0.0.4  2017-06-19 - Catch docstring linting failures, report as ``RST903``.\nv0.0.3  2017-06-16 - Ensure plugin code and RST files themselves validate.\n                   - Removed unused import of ``six`` module.\n                   - Basic continuous integration checks with TravisCI.\nv0.0.2  2017-06-16 - Explicitly depend on flake8 v3.0.0 or later.\n                   - Improved documentation.\nv0.0.1  2017-06-16 - Initial public release.\n======= ========== ===========================================================\n\n\nDevelopers\n----------\n\nThis plugin is on GitHub at https://github.com/peterjc/flake8-rst-docstrings\n\nTo make a new release once tested locally and on TravisCI::\n\n    $ git tag vX.Y.Z\n    $ python -m build\n    $ git push origin master --tags\n    $ twine upload dist/flake8?rst?docstrings-X.Y.Z*\n\nThe PyPI upload should trigger an automated pull request updating the\n`flake8-rst-docstrings conda-forge recipe\n<https://github.com/conda-forge/flake8-rst-docstrings-feedstock/blob/master/recipe/meta.yaml>`_.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python docstring reStructuredText (RST) validator for flake8",
    "version": "0.3.0",
    "split_keywords": [
        "strings",
        "formatting",
        "style",
        "docstrings",
        "restructuredtext"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12bf0e6933d78d172df672325622bf1b7f8364f4a6515da9e89398227c19d02e",
                "md5": "5c8988eafe3912179247146c65634fe4",
                "sha256": "f8c3c6892ff402292651c31983a38da082480ad3ba253743de52989bdc84ca1c"
            },
            "downloads": -1,
            "filename": "flake8_rst_docstrings-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5c8988eafe3912179247146c65634fe4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 10892,
            "upload_time": "2022-11-16T10:33:59",
            "upload_time_iso_8601": "2022-11-16T10:33:59.940879Z",
            "url": "https://files.pythonhosted.org/packages/12/bf/0e6933d78d172df672325622bf1b7f8364f4a6515da9e89398227c19d02e/flake8_rst_docstrings-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b2e5013d5858b69b4ba38ff259d55bd8d107009f212f296be0824b7c4a27d7ed",
                "md5": "df6e4bd5f1b242e7c87d8aac6fef6e43",
                "sha256": "d1ce22b4bd37b73cd86b8d980e946ef198cfcc18ed82fedb674ceaa2f8d1afa4"
            },
            "downloads": -1,
            "filename": "flake8-rst-docstrings-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "df6e4bd5f1b242e7c87d8aac6fef6e43",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 19865,
            "upload_time": "2022-11-16T10:34:01",
            "upload_time_iso_8601": "2022-11-16T10:34:01.469521Z",
            "url": "https://files.pythonhosted.org/packages/b2/e5/013d5858b69b4ba38ff259d55bd8d107009f212f296be0824b7c4a27d7ed/flake8-rst-docstrings-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-11-16 10:34:01",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "flake8-rst-docstrings"
}
        
Elapsed time: 0.65934s