<commit_before>setuptools_scm
===============

:code:`setuptools_scm` handles managing your python package versions
in scm metadata instead of declaring them as the version argument
or in a scm managed file.

It also handles file finders for the supported scm's.

.. image:: https://travis-ci.org/pypa/setuptools_scm.svg?branch=master
    :target: https://travis-ci.org/pypa/setuptools_scm

Setup.py usage
--------------

To use setuptools_scm just modify your project's setup.py file like this:

1. Add :code:`'setuptools_scm'` to the :code:`setup_requires` parameter
2. Add the :code:`use_scm_version` parameter and set it to ``True``


   E.g.:

   .. code:: python

       from setuptools import setup
       setup(
           ...,
           use_scm_version=True,
           setup_requires=['setuptools_scm'],
           ...,
       )


Programmatic usage
------------------

In oder to use setuptools_scm for sphinx config

.. code:: python

    from setuptools_scm import get_version
    version = get_version()<commit_msg>first attempt at fixing issue #67<commit_after>setuptools_scm
===============

:code:`setuptools_scm` handles managing your python package versions
in scm metadata instead of declaring them as the version argument
or in a scm managed file.

It also handles file finders for the supported scm's.

.. image:: https://travis-ci.org/pypa/setuptools_scm.svg?branch=master
    :target: https://travis-ci.org/pypa/setuptools_scm

Setup.py usage
--------------

To use setuptools_scm just modify your project's setup.py file like this:

1. Add :code:`'setuptools_scm'` to the :code:`setup_requires` parameter
2. Add the :code:`use_scm_version` parameter and set it to ``True``


   E.g.:

   .. code:: python

       from setuptools import setup
       setup(
           ...,
           use_scm_version=True,
           setup_requires=['setuptools_scm'],
           ...,
       )


Programmatic usage
------------------

In oder to use setuptools_scm for sphinx config

.. code:: python

    from setuptools_scm import get_version
    version = get_version()


Notable Plugins
----------------

`setuptools_scm_git_archive<https://pypi.python.org/pypi/setuptools_scm_git_archive>`_
provides partial support for obtaining versions from git archvies
that belong to tagged versions. The only reason for not including
it in setuptools-scm itself is git/github not supporting
sufficient metadata for untagged/followup commits,
which is preventing a consistent UX.
{'fraction_non_alphanumeric': 0.12338709677419354, 'fraction_numerical': 0.0024193548387096775, 'mean_word_length': 3.0341463414634147, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 5, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6379194', 'n_tokens_mistral': 780, 'n_tokens_neox': 743, 'n_words': 238}