bernardomg.version-extractor 1.1.0
Extracts the version from a Python file
License: MIT

=================
Version extractor
=================

A tool for extracting the version of a Python file.

.. image:: https://badge.fury.io/py/bernardomg.version-extractor.svg
    :target: https://pypi.python.org/pypi/bernardomg.version-extractor
    :alt: Version extractor Pypi package page

.. image:: https://img.shields.io/badge/docs-release-blue.svg
    :target: http://docs.bernardomg.com/python-version-extractor
    :alt: Version extractor latest documentation Status
.. image:: https://img.shields.io/badge/docs-develop-blue.svg
    :target: http://docs.bernardomg.com/development/python-version-extractor
    :alt: Version extractor development documentation Status

Features
--------

- Extract the value from a version field inside any Python file

Documentation
-------------

Documentation sources are included with the project, and used to generate the
documentation sites:

- The `latest docs`_ are always generated for the latest release, kept in the 'master' branch
- The `development docs`_ are generated from the latest code in the 'develop' branch

You can also create the documentation from the source files, kept in the 'docs'
folder, with the help of `Sphinx`_. For this use the makefile, or the make.bat
file, contained on that folder.

Prerequisites
~~~~~~~~~~~~~

The project has been tested in the following versions of the interpreter:

- Python 3.4
- Python 3.5
- Python 3.6
- Pypy 3

All other dependencies are indicated on the requirements.txt file.

These can be installed with:

``$ pip install --upgrade -r requirements.txt``

Installing
~~~~~~~~~~

The project is offered as a `Pypi package`_, and using pip is the preferred way
to install it. For this use the following command;

``$ pip install bernardomg.version-extractor``

If needed, manual installation is possible:

``$ python setup.py install``

Usage
-----

Just import and use the function::

    from version_extractor import extract_version

    version = extract_version('tests/resources/__init__.py')

Or use a preconfigured function::

    from version_extractor import extract_version_init

    version = extract_version_init('tests/resources')

This is useful when setting up a setup.py file::

    setup(
        ...
        version=extract_version_init(_source_package),
        ...
    )

Testing
-------

The tests included with the project can be run with:

``$ python setup.py test``

This will delegate the execution to tox.

It is possible to run just one of the test profiles, in this case the py36 profile:

``$ python setup.py test -p "py36"``

Collaborate
-----------

Any kind of help with the project will be well received, and there are two main ways to give such help:

- Reporting errors and asking for extensions through the issues management
- or forking the repository and extending the project

Issues management
~~~~~~~~~~~~~~~~~

Issues are managed at the GitHub `project issues tracker`_, where any Github
user may report bugs or ask for new features.

Getting the code
~~~~~~~~~~~~~~~~

If you wish to fork or modify the code, visit the `GitHub project page`_, where
the latest versions are always kept. Check the 'master' branch for the latest
release, and the 'develop' for the current, and stable, development version.

License
-------

The project has been released under the `MIT License`_.

.. _GitHub project page: https://github.com/Bernardo-MG/python-version-extractor
.. _latest docs: http://docs.bernardomg.com/python-version-extractor
.. _development docs: http://docs.bernardomg.com/development/python-version-extractor
.. _Pypi package: https://pypi.python.org/pypi/bernardomg.version-extractor
.. _MIT License: http://www.opensource.org/licenses/mit-license.php
.. _project issues tracker: https://github.com/Bernardo-MG/python-version-extractor/issues
.. _Sphinx: http://sphinx-doc.org/