Metadata-Version: 2.4
Name: envoy.dependency.check
Version: 0.2.1
Summary: Dependency checker used in Envoy proxy CI
Home-page: https://github.com/envoyproxy/toolshed/tree/main/py/envoy.dependency.check
Author: Ryan Northey
Author-email: ryan@synca.io
Maintainer: Ryan Northey
Maintainer-email: ryan@synca.io
License: Apache Software License 2.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: abstracts>=0.2.0
Requires-Dist: aio.api.github>=0.3.1
Requires-Dist: aio.core>=0.11.1
Requires-Dist: aio.run.checker>=0.6.1
Requires-Dist: aiohttp>=3.12.14
Requires-Dist: envoy.base.utils>=0.6.3
Requires-Dist: gidgethub>=5.3.0
Requires-Dist: jinja2>=3.1.6
Requires-Dist: multidict>=6.0.2
Requires-Dist: packaging>=23.0
Requires-Dist: yarl>=1.7.2
Provides-Extra: test
Requires-Dist: pytest>=7.4.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.23.3; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-iters>=0.1.0; extra == "test"
Requires-Dist: pytest-patches>=0.1.0; extra == "test"
Provides-Extra: lint
Requires-Dist: flake8>=6.1.0; extra == "lint"
Provides-Extra: types
Requires-Dist: mypy>=1.6.0; extra == "types"
Requires-Dist: mypy-abstracts>=0.1.1; extra == "types"
Provides-Extra: publish
Requires-Dist: wheel>=0.41.0; extra == "publish"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: license
Dynamic: maintainer
Dynamic: maintainer-email
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary


envoy.dependency.check
======================

Dependency checker used in Envoy proxy's CI

Prerequisites
-------------

- Python 3.12+
- GitHub access token via ``GITHUB_TOKEN`` or ``--github_token <path>``
- Dependency metadata JSON (for example Envoy ``repository_locations`` output)

Usage
-----

.. code-block:: console

   $ envoy.dependency.check --repository_locations=/path/to/repository_locations.json

Use ``--fix`` to apply safe issue-management fixes (create missing dependency
issues, close stale/duplicate issues, and create missing GitHub labels).

Checks
------

- ``release_dates``: compare recorded dependency release dates with upstream.
- ``release_issues``: validate dependency-upgrade tracking issues and labels.
- ``releases``: detect newer upstream releases or recent post-pin commits.

Input format
------------

The input JSON maps dependency name to
``envoy.dependency.check.typing.DependencyMetadataDict``-compatible metadata.
Each entry must include ``release_date``, ``version``, ``urls``, and
``sha256``.
