Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pyupio/changelogs
A changelog finder and parser for packages available on pypi, npm and rubygems.
https://github.com/pyupio/changelogs
Last synced: 29 days ago
JSON representation
A changelog finder and parser for packages available on pypi, npm and rubygems.
- Host: GitHub
- URL: https://github.com/pyupio/changelogs
- Owner: pyupio
- License: mit
- Created: 2016-12-23T12:46:18.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-03-12T16:20:34.000Z (9 months ago)
- Last Synced: 2024-05-01T09:39:50.833Z (7 months ago)
- Language: Python
- Homepage: https://pyup.io
- Size: 25.2 MB
- Stars: 62
- Watchers: 11
- Forks: 24
- Open Issues: 16
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Authors: AUTHORS.rst
Awesome Lists containing this project
- starred-awesome - changelogs - A changelog finder and parser for packages available on pypi, npm and rubygems. (Python)
README
.. 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: UpdatesA 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 gemIf 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.