{"id":13813582,"url":"https://github.com/pyupio/changelogs","last_synced_at":"2025-08-19T22:32:20.228Z","repository":{"id":14856020,"uuid":"77224979","full_name":"pyupio/changelogs","owner":"pyupio","description":"A changelog finder and parser for packages available on pypi, npm and rubygems.","archived":false,"fork":false,"pushed_at":"2024-03-12T16:20:34.000Z","size":26426,"stargazers_count":62,"open_issues_count":16,"forks_count":24,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-05-01T09:39:50.833Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pyup.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyupio.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-23T12:46:18.000Z","updated_at":"2024-06-19T20:03:29.746Z","dependencies_parsed_at":"2024-06-19T20:03:29.066Z","dependency_job_id":"138ca55f-b681-45b8-a06b-481f7bf783ae","html_url":"https://github.com/pyupio/changelogs","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyupio%2Fchangelogs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyupio%2Fchangelogs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyupio%2Fchangelogs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyupio%2Fchangelogs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyupio","download_url":"https://codeload.github.com/pyupio/changelogs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230374118,"owners_count":18216041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T04:01:22.117Z","updated_at":"2024-12-19T04:07:04.474Z","avatar_url":"https://github.com/pyupio.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":".. image:: https://img.shields.io/pypi/v/changelogs.svg\n        :target: https://pypi.python.org/pypi/changelogs\n\n.. image:: https://img.shields.io/travis/pyupio/changelogs.svg\n        :target: https://travis-ci.org/pyupio/changelogs\n\n.. image:: https://readthedocs.org/projects/changelogs/badge/?version=latest\n        :target: https://changelogs.readthedocs.io/en/latest/?badge=latest\n        :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/pyupio/changelogs/shield.svg\n     :target: https://pyup.io/repos/github/pyupio/changelogs/\n     :alt: Updates\n\nA changelog finder and parser with command line interface for packages available on pypi, npm, rubygems and launchpad.net. Originally developed for pyup.io_.\n\n.. _pyup.io: https://pyup.io/\n\n\n************\nInstallation\n************\n\nTo install changelogs, run this command in your terminal:\n\n.. code-block:: console\n\n    $ pip install changelogs\n\n*****\nUsage\n*****\n\nTo use changelogs in a Python project::\n\n    import changelogs\n\n    logs = changelogs.get(\"flask\")\n    logs = changelogs.get(\"babel\", vendor=\"npm\")\n    logs = changelogs.get(\"bundler\", vendor=\"npm\")\n\n\nOr, from the command line::\n\n    changelogs flask\n    changelogs babel npm\n    changelogs bundler gem\n\nIf you are on macOS, you can chain the `open` command::\n\n    changelogs babel npm \u003e\u003e babel.log \u0026\u0026 open babel.log\n\n\n*****\nAbout\n*****\n\nWhen trying to get a changelog for a given package, there are a bunch of problems:\n\n- 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.\n- The package index meta data often has no direct link to the git repo. This makes the repo hard to find.\n- There is no changelog standard. Everyone uses a different approach. This makes it hard to parse.\n\nThis project is trying to solve this by:\n\n- first querying the package vendor for package meta data like the homepage or docs URL.\n- if the meta data doesn't contain a valid URL to a repo, visit all available URLs and scrape them to find one.\n- if there is a valid repo URL, visit the repo and look for possible changelogs like `Changes.txt`, `NEWS.md` or `history.rst`.\n- fetch the content and somewhat try to parse it.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyupio%2Fchangelogs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyupio%2Fchangelogs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyupio%2Fchangelogs/lists"}