Skip to main content

Manage changelog files.

Project description

=================================================================
pychangelog
=================================================================

.. # POST TITLE
.. # BEGIN BADGES

|pypi-version-badge| |license-badge| |pypi-downloads-badge|

.. |pypi-version-badge| image:: http://img.shields.io/pypi/v/pychangelog.svg
:alt: [latest version on pypi]
:target: https://pypi.python.org/pypi/pychangelog

.. |pypi-downloads-badge| image:: http://img.shields.io/pypi/dm/pychangelog.svg
:alt: [downloads on pypi]
:target: https://pypi.python.org/pypi/pychangelog

.. |license-badge| image:: http://img.shields.io/badge/license-GPLv3+-brightgreen.svg
:alt: [GPLv3+]
:target: https://www.gnu.org/licenses/gpl.html


.. # END BADGES


**pychangelog** is a python package which provides some simple utilities for parsing
and testing change logs, based on a simple standard format which is not really
documented anywhere. But you can look at the changelog for this project to get an
idea (in CHANGES.txt in the root of the source distribution).


.. contents:: **Page Contents**
:local:
:depth: 2
:backlinks: top

tl;dr
---------------

What?
~~~~~~~~~~~~~~

Parses changelogs.

Install?
~~~~~~~~~~~~~

.. code:: bash

$ pip install pychangelog

Or, from source:

.. code:: bash

$ python setup.py install


Examples?
~~~~~~~~~~~~~~~~~~

Example changelog (in 'CHANGES.txt')::

Pre Rel 4
[M] Remove the doo_little function.
[n] Add optional argument to frobnicate.
[p] More bug fixes.

Rel 3 - v1.1.0.0 - 2013-05-20
[p] Bug fix in doo_little()
[n] Added the frobnicate function in order to frob objects
more easily.
[s] Fixed up docs on doo_little.
[p] Bug fix in some private functions

Rel 2 - v1.0.0.1 - 2013-05-18
[s] Documentation improvements.

Rel 1 - v1.0.0.0 - 2013-05-15
* Initial public release.
* Provides the doo_little() function, and little else.


.. code:: python

>>> import pychangelog
>>> with open('CHANGES.txt', 'r') as f:
... changelog = pychangelog.parse_plain_text(f)
...
>>> changelog
<pychangelog.ChangeLog object at 0x01F71A30>
>>> len(changelog)
4
>>> for release in changelog:
... print repr(release)
...
<ReleaseInfo r1-1.0.0.0 (05/15/13)>
<ReleaseInfo r2-1.0.0.1 (05/18/13)>
<ReleaseInfo r3-1.1.0.0 (05/20/13)>
<ReleaseInfo r4*>
>>> r3 = changelog[2]
>>> r3
<ReleaseInfo r3-1.1.0.0 (05/20/13)>
>>> r3.release_num
3
>>> r3.version
(1, 1, 0, 0)
>>> r3.year
2013
>>> r3.date
datetime.date(2013, 5, 20)
>>> len(r3)
4
>>> for change in r3:
... print change
...
[p] Bug fix in doo_little()
[n] Added the frobnicate function in order to frob objectsmore easily.
[s] Fixed up docs on doo_little.
[p] Bug fix in some private functions
>>> p = r3.patch
>>> len(p)
2
>>> for patch_change in p:
... print patch_change
...
[p] Bug fix in doo_little()
[p] Bug fix in some private functions
>>> r3.append('[p] Another change I forgot to mention.')
>>> len(p)
3
>>> len(r3)
5
>>> for patch_change in p:
... print patch_change
...
[p] Bug fix in doo_little()
[p] Bug fix in some private functions
[p] Another change I forgot to mention.
>>>

Dependencies?
~~~~~~~~~~~~~~~~

pychangelog is developed against `python <https://www.python.org/>`_ version 2.7.

pychangelog also requires the `docit <https://pypi.python.org/pypi/docit>`_
package for its internals. If you install with :program:`pip`, this will be handled
automatically.

Some of the utilities in `pychangelog.tests` are optionally enhanced by the nose_
python package, but this is not strictly required. You can install nose with:

.. code:: bash

$ pip install nose

To build the sphinx docs from source (as is), you'll need the `sphinx_rtd_theme`_:

.. code:: bash

$ pip install sphinx_rtd_theme

Docs?
~~~~~~~~

* `Read The Docs (.org) <http://pychangelog.readthedocs.org/>`_
* `Python Hosted (.org) <http://pythonhosted.org/pychangelog/>`_


Misc.
---------------


Contact Information
~~~~~~~~~~~~~~~~~~~~~~~~

This project is currently hosted on `bitbucket <https://bitbucket.org>`_,
at `https://bitbucket.org/bmearns/pychangelog <https://bitbucket.org/bmearns/pychangelog/>`_.
The primary author is Brian Mearns, whom you can contact through bitbucket at
`https://bitbucket.org/bmearns <https://bitbucket.org/bmearns>`_.


Copyright and License
~~~~~~~~~~~~~~~~~~~~~~~~~~

\ ``pychangelog``\ is \ *free software*\ : you can redistribute it and/or modify
it under the terms of the \ **GNU General Public License**\ as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.



\ ``pychangelog``\ is distributed in the hope that it will be useful,
but \ **without any warranty**\ ; without even the implied warranty of
\ *merchantability*\ or \ *fitness for a particular purpose*\ . See the
GNU General Public License for more details.



A copy of the GNU General Public License is available in the
\ ``pychangelog``\ distribution under the file LICENSE.txt. If you did not
receive a copy of this file, see
`http://www.gnu.org/licenses/ <http://www.gnu.org/licenses/>`_.

.. _sphinx_rtd_theme: https://github.com/snide/sphinx_rtd_theme

Project details


Download files

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

Source Distributions

pychangelog-1.1.0.0-r2.zip (42.4 kB view details)

Uploaded Source

pychangelog-1.1.0.0-r2.tar.gz (35.8 kB view details)

Uploaded Source

pychangelog-1.1.0.0-r2.tar.bz2 (31.9 kB view details)

Uploaded Source

Built Distributions

pychangelog-1.1.0.0_r2-py2.7.egg (26.9 kB view details)

Uploaded Source

pychangelog-1.1.0.0-r2.win32.exe (209.6 kB view details)

Uploaded Source

File details

Details for the file pychangelog-1.1.0.0-r2.zip.

File metadata

File hashes

Hashes for pychangelog-1.1.0.0-r2.zip
Algorithm Hash digest
SHA256 e03aee61fe5223dd33720f871dccd0c44f654a1b5323569509109b3aad31e542
MD5 99ffefefd10e540210d1116b012afc45
BLAKE2b-256 4ced5c5c14247acf504f0a0573a93c5a1cbaf7755cf117b1addd95c43513c523

See more details on using hashes here.

File details

Details for the file pychangelog-1.1.0.0-r2.tar.gz.

File metadata

File hashes

Hashes for pychangelog-1.1.0.0-r2.tar.gz
Algorithm Hash digest
SHA256 fffaf1eecf43e27a001ed6cff7048a070ab407ffd2af4c801e4480bf32f4dc99
MD5 0916d6d0f126919ef878262d56a97ff6
BLAKE2b-256 8d47469f0dc0943a247a304b864e2a8c48a81d413050d6e1034a77c1d5d7ec02

See more details on using hashes here.

File details

Details for the file pychangelog-1.1.0.0-r2.tar.bz2.

File metadata

File hashes

Hashes for pychangelog-1.1.0.0-r2.tar.bz2
Algorithm Hash digest
SHA256 520f680d1aa53e3ac4e83bcb2fb9dc8d9d0cd98304f538225bbb97a568a145b0
MD5 81f9ceb0b61ab0860377c2283427b776
BLAKE2b-256 c2a7dd7de7a409b949df7cd3744bd31ae5579d1e5d743f3979928e9b95a79c8e

See more details on using hashes here.

File details

Details for the file pychangelog-1.1.0.0_r2-py2.7.egg.

File metadata

File hashes

Hashes for pychangelog-1.1.0.0_r2-py2.7.egg
Algorithm Hash digest
SHA256 076c8d495cb95957552f8252dfd6aeee09f2d6262b421c1e23189e0f58e02021
MD5 ba7e2824ce7e66e3968ad46448ad2472
BLAKE2b-256 642c6fae772d43281198a4bdbb8afda850ee172397d573844fef928b4ed4066c

See more details on using hashes here.

File details

Details for the file pychangelog-1.1.0.0-r2.win32.exe.

File metadata

File hashes

Hashes for pychangelog-1.1.0.0-r2.win32.exe
Algorithm Hash digest
SHA256 526297a82aea136be5bc53347821dd9911f9d6829b04657c223b9d6b79488ce4
MD5 09acf07f75688eabe7e62213409ec798
BLAKE2b-256 1fd07f6df23e4cff70c3c209abd2bfaa0eff5dd343bb578251aa094d4404c36d

See more details on using hashes here.

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