Metadata-Version: 2.1
Name: changelogs
Version: 0.15.0
Summary: A changelog finder and parser.
Home-page: https://github.com/pyupio/changelogs
Author: pyup.io
Author-email: support@pyup.io
License: MIT license
Description: .. image:: https://img.shields.io/pypi/v/changelogs.svg
                :target: https://pypi.python.org/pypi/changelogs
        
        .. image:: https://img.shields.io/travis/pyupio/changelogs.svg
                :target: https://travis-ci.org/pyupio/changelogs
        
        .. image:: https://readthedocs.org/projects/changelogs/badge/?version=latest
                :target: https://changelogs.readthedocs.io/en/latest/?badge=latest
                :alt: Documentation Status
        
        .. image:: https://pyup.io/repos/github/pyupio/changelogs/shield.svg
             :target: https://pyup.io/repos/github/pyupio/changelogs/
             :alt: Updates
        
        A changelog finder and parser with command line interface for packages available on pypi, npm, rubygems and launchpad.net. Originally developed for pyup.io_.
        
        .. _pyup.io: https://pyup.io/
        
        
        ************
        Installation
        ************
        
        To install changelogs, run this command in your terminal:
        
        .. code-block:: console
        
            $ pip install changelogs
        
        *****
        Usage
        *****
        
        To use changelogs in a Python project::
        
            import changelogs
        
            logs = changelogs.get("flask")
            logs = changelogs.get("babel", vendor="npm")
            logs = changelogs.get("bundler", vendor="npm")
        
        
        Or, from the command line::
        
            changelogs flask
            changelogs babel npm
            changelogs bundler gem
        
        If you are on macOS, you can chain the `open` command::
        
            changelogs babel npm >> babel.log && open babel.log
        
        
        *****
        About
        *****
        
        When trying to get a changelog for a given package, there are a bunch of problems:
        
        - There is no central place to store a changelog. If a project has a changelog, it's most likely somewhere in the git repo at all kinds of different places. This makes it hard to find.
        - The package index meta data often has no direct link to the git repo. This makes the repo hard to find.
        - There is no changelog standard. Everyone uses a different approach. This makes it hard to parse.
        
        This project is trying to solve this by:
        
        - first querying the package vendor for package meta data like the homepage or docs URL.
        - if the meta data doesn't contain a valid URL to a repo, visit all available URLs and scrape them to find one.
        - if there is a valid repo URL, visit the repo and look for possible changelogs like `Changes.txt`, `NEWS.md` or `history.rst`.
        - fetch the content and somewhat try to parse it.
        
        
        
        
        =======
        History
        =======
        
        0.15.0 (2020-12-27)
        -------------------
        * Removed support for Python 2.7, 3.4 and 3.5
        * Added support for Python 3.9
        * Getting proper changelogs for beautifulsoup4 PyPi package again
        * Getting proper changelogs for synapse PyPi package again
        * Stopped using bumpversion
        * Updated PyPi map.txt to reflect different packages changelogs location changes
        * Fixed bug while processing domain-only URLs (#155)
        
        0.14.0 (2018-01-9)
        -------------------
        * Added a pypi/map.txt file to add custom URLS more easily
        * Added a bunch of custom URLS:
          - pytest-flake8
          - cornice.ext.swagger
          - python-social-core
          - python-social-auth
          - cx-oracle
          - plotnine
          - django-hijack
          - pyinvoke
          - gitpython
          - python-memcached
          - appenlight-client
        
        0.13.0 (2018-01-9)
        -------------------
        * Added a bunch of custom parser:
          - robozilla
          - websocket-client
          - pep8-naming
          - py-trello
          - synapse
          - django-haystack
          - libsass
          - lazy-object-proxy
        
        0.12.0 (2017-05-18)
        -------------------
        * Added a bunch of custom parser:
          - flake8
          - pyyaml
          - six
          - factory-boy
          - jinja2
          - docutils
          - sphinx-rtd-theme
          - whitenoise
          - numpy
          - beautifulsoup4
          - mccabe
          - django-braces
          - alabaster
          - cffi
          - django-coverage-plugin
          - newrelic
          - pandas
          - twine
          - pep8-naming
          - django-storages-redux
          - pbr
        
        
        0.11.0 (2017-05-10)
        -------------------
        
        * The changelog finder now checks repo URLs if they contain the given project name. This should
          make it easier to identify false changelogs.
        * Fixed a couple of internal errors on edge cases.
        * Added custom parsers for:
          - graphene
          - beautifulsoup4
        
        0.10.0 (2017-04-26)
        -------------------
        * Added support for GitHub release pages
        * Added experimental support for git commit log parsing
        
        0.9.0 (2017-04-05)
        ------------------
        
        * Fix issue with custom parsing of packages with different case.
        * Catch errors from launchpad.
        * Add support for changing project name when switching vendors.
        * Add support for finding URLs in the project description.
        * Add support for ex code.google.com projects, now moved to github.
        * Add support for parsing sourceforge repos.
        * Added custom parser:
          - alembic
          - genshi
          - imapclient
          - mako
          - pyinotify
          - python-ldap
          - redis
          - uwsgi
          - pyaudio
        
        0.8.0 (2017-03-29)
        ------------------
        
        * added custom parser:
          - mysqlclient, thanks @alexkiro
        * added custom launchpad backend, thanks to @alexkiro
        
        0.7.0 (2017-03-06)
        ------------------
        
        * added custom parsers
          - cheroot
          - pyparsing
          - gunicorn
          - sqlalchemy
          - djangorestframework
        * tweaked the get_head function
        
        0.6.1 (2017-02-08)
        ------------------
        
        * added flake8 special parser
        
        0.6.0 (2017-02-03)
        ------------------
        
        * tweaked the parser, included tests for openpyxl
        
        0.5.0 (2017-01-23)
        ------------------
        
        * include docs-src as docs candidate
        
        0.4.0 (2017-01-23)
        ------------------
        
        * add better support for NPM packages
        
        0.3.3 (2017-01-05)
        ------------------
        
        * fix packagin error (hopefully)
        
        0.3.2 (2017-01-05)
        ------------------
        
        * use modules for custom imports, for packaging
        
        0.3.1 (2017-01-03)
        ------------------
        
        * the find_changelogs and get_urls functions now also return the repo URLs
        
        0.3.0 (2017-01-03)
        ------------------
        
        * allow to swap in the find_changelogs function
        
        0.2.0 (2016-12-27)
        ------------------
        
        * added support for rubygems
        * added support for npm
        
        0.1.0 (2016-12-19)
        ------------------
        
        * First release on PyPI.
        
Keywords: changelogs
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/x-rst
Provides-Extra: test
Provides-Extra: dev
