Skip to main content

Utilities to inherit method documentation from parent classes.

Project description

==================
python-doc-inherit
==================
Utilities to inherit method documentation from parent classes.

Badges
------

.. image:: https://img.shields.io/travis/kavdev/python-doc-inherit/master.svg?style=flat-square
:target: https://travis-ci.org/kavdev/python-doc-inherit
.. image:: https://img.shields.io/codecov/c/github/kavdev/python-doc-inherit/master.svg?style=flat-square
:target: http://codecov.io/github/kavdev/python-doc-inherit?branch=master
.. image:: https://img.shields.io/requires/github/kavdev/python-doc-inherit.svg?style=flat-square
:target: https://requires.io/github/kavdev/python-doc-inherit/requirements/?branch=master
.. image:: https://img.shields.io/codacy/75dbe2685efe47c3aa203a53154c9e7e.svg?style=flat-square
:target: https://www.codacy.com/app/kavanaugh-development/python-doc-inherit/dashboard

.. image:: https://img.shields.io/pypi/v/python-doc-inherit.svg?style=flat-square
:target: https://pypi.python.org/pypi/python-doc-inherit
.. image:: https://img.shields.io/pypi/dw/python-doc-inherit.svg?style=flat-square
:target: https://pypi.python.org/pypi/python-doc-inherit

.. image:: https://img.shields.io/github/issues/kavdev/python-doc-inherit.svg?style=flat-square
:target: https://github.com/kavdev/python-doc-inherit/issues
.. image:: https://img.shields.io/github/license/kavdev/python-doc-inherit.svg?style=flat-square
:target: https://github.com/kavdev/python-doc-inherit/blob/master/LICENSE

Installation
------------

Install python-doc-inherit:

.. code-block:: bash

pip install python-doc-inherit

Usage
-----

Simple decorator (will cause other decorators to fail)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: python

from doc_inherit import method_doc_inherit

class Foo(object):

def foo(self):
"""Frobber"""

pass

class Bar(Foo):

@method_doc_inherit
def foo(self):
pass

Now, ``Bar.foo.__doc__ == Bar().foo.__doc__ == Foo.foo.__doc__ == "Frobber"``


Metaclass
~~~~~~~~~

.. code-block:: python

from doc_inherit.metaclasses import DocStringInheritor
from six import add_metaclass # Note: Six is not included in this distribution.

class Animal:
def move_to(self, dest):
"""Move to *dest*"""
pass

@add_metaclass(DocStringInheritor)
class Bird(Animal):
def move_to(self, dest):
pass

Now, ``Animal.move_to.__doc__ == Bird.move_to.__doc__ == "Move to *dest*"``


Running the Tests
------------------

.. code-block:: bash

pip install -r requirements/test.txt
./runtests.py





Changes
=======

0.1.1 (2016-06-18)
----------------------

* small fixes

0.1.0 (2016-06-18)
----------------------

* Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-doc-inherit-0.2.0.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

python_doc_inherit-0.2.0-py2.py3-none-any.whl (5.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page