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
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
Release history Release notifications | RSS feed
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)
pychangelog-1.1.0.0-r2.tar.gz
(35.8 kB
view details)
pychangelog-1.1.0.0-r2.tar.bz2
(31.9 kB
view details)
Built Distributions
pychangelog-1.1.0.0_r2-py2.7.egg
(26.9 kB
view details)
pychangelog-1.1.0.0-r2.win32.exe
(209.6 kB
view details)
File details
Details for the file pychangelog-1.1.0.0-r2.zip
.
File metadata
- Download URL: pychangelog-1.1.0.0-r2.zip
- Upload date:
- Size: 42.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e03aee61fe5223dd33720f871dccd0c44f654a1b5323569509109b3aad31e542 |
|
MD5 | 99ffefefd10e540210d1116b012afc45 |
|
BLAKE2b-256 | 4ced5c5c14247acf504f0a0573a93c5a1cbaf7755cf117b1addd95c43513c523 |
File details
Details for the file pychangelog-1.1.0.0-r2.tar.gz
.
File metadata
- Download URL: pychangelog-1.1.0.0-r2.tar.gz
- Upload date:
- Size: 35.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fffaf1eecf43e27a001ed6cff7048a070ab407ffd2af4c801e4480bf32f4dc99 |
|
MD5 | 0916d6d0f126919ef878262d56a97ff6 |
|
BLAKE2b-256 | 8d47469f0dc0943a247a304b864e2a8c48a81d413050d6e1034a77c1d5d7ec02 |
File details
Details for the file pychangelog-1.1.0.0-r2.tar.bz2
.
File metadata
- Download URL: pychangelog-1.1.0.0-r2.tar.bz2
- Upload date:
- Size: 31.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 520f680d1aa53e3ac4e83bcb2fb9dc8d9d0cd98304f538225bbb97a568a145b0 |
|
MD5 | 81f9ceb0b61ab0860377c2283427b776 |
|
BLAKE2b-256 | c2a7dd7de7a409b949df7cd3744bd31ae5579d1e5d743f3979928e9b95a79c8e |
File details
Details for the file pychangelog-1.1.0.0_r2-py2.7.egg
.
File metadata
- Download URL: pychangelog-1.1.0.0_r2-py2.7.egg
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 076c8d495cb95957552f8252dfd6aeee09f2d6262b421c1e23189e0f58e02021 |
|
MD5 | ba7e2824ce7e66e3968ad46448ad2472 |
|
BLAKE2b-256 | 642c6fae772d43281198a4bdbb8afda850ee172397d573844fef928b4ed4066c |
File details
Details for the file pychangelog-1.1.0.0-r2.win32.exe
.
File metadata
- Download URL: pychangelog-1.1.0.0-r2.win32.exe
- Upload date:
- Size: 209.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 526297a82aea136be5bc53347821dd9911f9d6829b04657c223b9d6b79488ce4 |
|
MD5 | 09acf07f75688eabe7e62213409ec798 |
|
BLAKE2b-256 | 1fd07f6df23e4cff70c3c209abd2bfaa0eff5dd343bb578251aa094d4404c36d |