semvec/pypi-packages huggingface dataset:
annotypes 0.21
Annotating type hints and comments with extra metatdata
License: APACHE

AnnoTypes
=========

|build_status| |coverage| |pypi_version|

Adding annotations to Python types while still being compatible with mypy_ and PyCharm_

You can write things like:

.. code:: python

    from annotypes import Anno, WithCallTypes

    with Anno("The exposure time for the camera"):
        AExposure = float
    with Anno("The full path to the text file to write"):
        APath = str

    class Simple(WithCallTypes):
        def __init__(self, exposure, path="/tmp/file.txt"):
            # type: (AExposure, APath) -> None
            self.exposure = exposure
            self.path = path


or the Python3 alternative:

.. code:: python

    from annotypes import Anno, WithCallTypes

    with Anno("The exposure time for the camera"):
        AExposure = float
    with Anno("The full path to the text file to write"):
        APath = str

    class Simple(WithCallTypes):
        def __init__(self, exposure: AExposure, path: APath = "/tmp/file.txt"):
            self.exposure = exposure
            self.path = path


And at runtime see what you should pass to call it and what it will return:

.. code:: pycon

    >>> from annotypes.py2_examples.simple import Simple
    >>> list(Simple.call_types)
    ['exposure', 'path']
    >>> Simple.call_types['exposure']
    Anno(name='AExposure', typ=<type 'float'>, description='The exposure time for the camera')
    >>> Simple.return_type
    Anno(name='Instance', typ=<class 'annotypes.py2_examples.simple.Simple'>, description='Class instance')


For more examples see the `Python 2 examples`_ or `Python 3 examples`_.

Installation
------------
To install the latest release, type::

    pip install annotypes

To install the latest code directly from source, type::

    pip install git+git://github.com/dls-controls/annotypes.git


Changelog
---------

See `CHANGELOG`_

Contributing
------------

See `CONTRIBUTING`_

License
-------
APACHE License. (see `LICENSE`_)

.. |build_status| image:: https://travis-ci.org/dls-controls/annotypes.svg?branch=master
    :target: https://travis-ci.org/dls-controls/annotypes
    :alt: Build Status

.. |coverage| image:: https://codecov.io/gh/dls-controls/annotypes/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/dls-controls/annotypes
    :alt: Test coverage

.. |pypi_version| image:: https://img.shields.io/pypi/v/annotypes.svg
    :target: https://pypi.python.org/pypi/annotypes/
    :alt: Latest PyPI version

.. _mypy:
    http://mypy.readthedocs.io/en/latest/introduction.html

.. _PyCharm:
    https://www.jetbrains.com/help/pycharm/type-hinting-in-pycharm.html

.. _Python 2 examples:
    https://github.com/dls-controls/annotypes/tree/master/annotypes/py2_examples

.. _Python 3 examples:
    https://github.com/dls-controls/annotypes/tree/master/annotypes/py3_examples

.. _CHANGELOG:
    https://github.com/dls-controls/annotypes/blob/master/CHANGELOG.rst

.. _CONTRIBUTING:
    https://github.com/dls-controls/annotypes/blob/master/CONTRIBUTING.rst

.. _LICENSE:
    https://github.com/dls-controls/annotypes/blob/master/LICENSE