.. image:: http://www.repostatus.org/badges/latest/active.svg
:target: http://www.repostatus.org/#active
:alt: Project Status: Active — The project has reached a stable, usable
state and is being actively developed.
.. image:: https://github.com/jwodder/wheel-inspect/workflows/Test/badge.svg?branch=master
:target: https://github.com/jwodder/wheel-inspect/actions?workflow=Test
:alt: CI Status
.. image:: https://codecov.io/gh/jwodder/wheel-inspect/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jwodder/wheel-inspect
.. image:: https://img.shields.io/pypi/pyversions/wheel-inspect.svg
:target: https://pypi.org/project/wheel-inspect/
.. image:: https://img.shields.io/github/license/jwodder/wheel-inspect.svg
:target: https://opensource.org/licenses/MIT
:alt: MIT License
`GitHub <https://github.com/jwodder/wheel-inspect>`_
| `PyPI <https://pypi.org/project/wheel-inspect/>`_
| `Issues <https://github.com/jwodder/wheel-inspect/issues>`_
| `Changelog <https://github.com/jwodder/wheel-inspect/blob/master/CHANGELOG.md>`_
``wheel-inspect`` examines Python wheel files & ``*.dist-info`` directories and
outputs various information about their contents as JSON-serializable objects.
It can be invoked in Python code as::
from wheel_inspect import inspect_wheel
output = inspect_wheel(path_to_wheel_file)
or from the command line with the ``wheel2json`` command.
Installation
============
``wheel-inspect`` requires Python 3.6 or higher. Just use `pip
<https://pip.pypa.io>`_ for Python 3 (You have pip, right?) to install
``wheel-inspect`` and its dependencies::
python3 -m pip install wheel-inspect
Example
=======
::
$ wheel2json wheel_inspect-1.0.0.dev1-py3-none-any.whl
{
"abi": [
"none"
],
"arch": [
"any"
],
"buildver": null,
"derived": {
"dependencies": [
"distlib",
"headerparser",
"packaging",
"readme-renderer",
"setuptools"
],
"description_in_body": true,
"description_in_headers": false,
"keyword_separator": ",",
"keywords": [
"packages",
"pypi",
"wheel"
],
"modules": [
"wheel_inspect",
"wheel_inspect.__main__",
"wheel_inspect.inspect",
"wheel_inspect.metadata",
"wheel_inspect.schema",
"wheel_inspect.util",
"wheel_inspect.wheel_info"
],
"readme_renders": true
},
"dist_info": {
"entry_points": {
"console_scripts": {
"wheel2json": {
"attr": "main",
"extras": [],
"module": "wheel_inspect.__main__"
}
}
},
"metadata": {
"author": "John Thorvald Wodder II",
"author_email": "wheel-inspect@varonathe.org",
"classifier": [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"License :: OSI Approved :: MIT License",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Software Distribution"
],
"description": {
"length": 1538
},
"home_page": "https://github.com/jwodder/wheel-inspect",
"keywords": "packages,pypi,wheel",
"license": "MIT",
"metadata_version": "2.1",
"name": "wheel-inspect",
"platform": [],
"requires_dist": [
{
"extras": [],
"marker": null,
"name": "distlib",
"specifier": "~=0.2.7",
"url": null
},
{
"extras": [],
"marker": null,
"name": "headerparser",
"specifier": "~=0.2.0",
"url": null
},
{
"extras": [],
"marker": null,
"name": "packaging",
"specifier": ">=17.1",
"url": null
},
{
"extras": [],
"marker": null,
"name": "readme-renderer",
"specifier": "~=21.0",
"url": null
},
{
"extras": [],
"marker": null,
"name": "setuptools",
"specifier": ">=36",
"url": null
}
],
"requires_python": "~=3.5",
"summary": "Extract information from wheels",
"version": "1.0.0.dev1"
},
"record": [
{
"digests": {
"sha256": "EL9q_wQOJRlJL3LkKscASTrhXgXgVLfeugZz66MFeV8"
},
"path": "wheel_inspect/__init__.py",
"size": 440
},
{
"digests": {
"sha256": "3_DrJ4Tr-ie5TCQtmmTnS82eHTMmVDY1mOeSP_hJ_Ho"
},
"path": "wheel_inspect/__main__.py",
"size": 247
},
{
"digests": {
"sha256": "LCgjTkHaGxyzSKeY_pEDSWQFNQi7PRby6lh6H0OSVAQ"
},
"path": "wheel_inspect/inspect.py",
"size": 4816
},
{
"digests": {
"sha256": "3u83eQ0RBdR-AEOxqsPyMkc663G2Un9Hd6tqhO2eu6k"
},
"path": "wheel_inspect/metadata.py",
"size": 1946
},
{
"digests": {
"sha256": "8VOeroNaM34lIqdjnCiaCwtNEVwi_wFDTtYaL7dEXDQ"
},
"path": "wheel_inspect/schema.py",
"size": 12158
},
{
"digests": {
"sha256": "iaxC3qenCrPMRjrqdTwj1Hfy-OPo-y-WVLaPWEDeSFs"
},
"path": "wheel_inspect/util.py",
"size": 1352
},
{
"digests": {
"sha256": "wNTKsMw_TVe3RbIpj8tjwRE0Q_rUeoRUF66KKpqBp2c"
},
"path": "wheel_inspect/wheel_info.py",
"size": 1010
},
{
"digests": {
"sha256": "-X7Ry_-tNPLAGkZasQc2KOBW_Ohnx52rgDZfo8cxw10"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/LICENSE",
"size": 1095
},
{
"digests": {
"sha256": "SbhMBq15toKwrurqS0Xmt--MPsWRvKTjtx9ya4tTed8"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/METADATA",
"size": 2692
},
{
"digests": {
"sha256": "-ZFxwj8mZJPIVcZGLrsQ8UGRcxVAOExzPLVBGR7u7bE"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/WHEEL",
"size": 92
},
{
"digests": {
"sha256": "fqJPsljFaWRzPdYMreNAf0zg8GSQE0Tgh8_XOzL85lo"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/entry_points.txt",
"size": 60
},
{
"digests": {
"sha256": "Cz2n0fdOaOfDcl0g6x4t_DEWzWZYYRcFASrgxW0v_WE"
},
"path": "wheel_inspect-1.0.0.dev1.dist-info/top_level.txt",
"size": 14
},
{
"digests": {},
"path": "wheel_inspect-1.0.0.dev1.dist-info/RECORD",
"size": null
}
],
"top_level": [
"wheel_inspect"
],
"wheel": {
"generator": "bdist_wheel (0.32.1)",
"root_is_purelib": true,
"tag": [
"py3-none-any"
],
"wheel_version": "1.0"
}
},
"file": {
"digests": {
"md5": "fc6dcdac9f850435e41167f48e3862f4",
"sha256": "69733fa29a205ecfee322961defd15dc42880873869db6a742edf26d6d6d4832"
},
"size": 10208
},
"filename": "wheel_inspect-1.0.0.dev1-py3-none-any.whl",
"project": "wheel_inspect",
"pyver": [
"py3"
],
"valid": true,
"version": "1.0.0.dev1"
}
API
===
``wheel_inspect.DIST_INFO_SCHEMA``
A `JSON Schema <http://json-schema.org>`_ for the structure returned by
``inspect_dist_info_dir()``. It is the same as ``WHEEL_SCHEMA``, but
without the ``"filename"``, ``"project"``, ``"version"``, ``"buildver"``,
``"pyver"``, ``"abi"``, ``"arch"``, and ``"file"`` keys.
``wheel_inspect.WHEEL_SCHEMA``
A `JSON Schema <http://json-schema.org>`_ for the structure returned by
``inspect_wheel()``. This value was previously exported under the name
"``SCHEMA``"; the old name continues to be available for backwards
compatibility, but it will go away in the future and should not be used in
new code.
``wheel_inspect.inspect_dist_info_dir(dirpath)``
Treat ``dirpath`` as a ``*.dist-info`` directory and inspect just it & its
contents. The structure of the return value is described by
``DIST_INFO_SCHEMA``.
``wheel_inspect.inspect_wheel(path)``
Inspect the wheel file at the given ``path``. The structure of the return
value is described by ``WHEEL_SCHEMA``.
Previous versions of ``wheel-inspect`` provided a ``parse_wheel_filename()``
function. As of version 1.5.0, that feature has been split off into its own
package, `wheel-filename <https://github.com/jwodder/wheel-filename>`_.
``wheel-inspect`` continues to re-export this function in order to maintain API
compatibility with earlier versions, but this will change in the future. Code
that imports ``parse_wheel_filename()`` from ``wheel-inspect`` should be
updated to use ``wheel-filename`` instead.
Command
=======
::
wheel2json [<path> ...]
``wheel-inspect`` provides a ``wheel2json`` command (also accessible as
``python -m wheel_inspect``) that can be used to inspect wheels and
``*.dist-info`` directories from the command line. Each path passed to the
command is inspected separately (treated as a ``*.dist-info`` directory if it
is a directory, treated as a wheel file otherwise), and the resulting data is
output as a pretty-printed JSON object. (Note that this results in a stream of
JSON objects with no separation when multiple paths are given.)
Raw data
{
"_id": null,
"home_page": "https://github.com/jwodder/wheel-inspect",
"name": "wheel-inspect",
"maintainer": "",
"docs_url": null,
"requires_python": "~=3.6",
"maintainer_email": "",
"keywords": "*.dist-info,dist-info,package metadata,packages,pep427,wheel",
"author": "John Thorvald Wodder II",
"author_email": "wheel-inspect@varonathe.org",
"download_url": "https://files.pythonhosted.org/packages/ea/15/828aac1533961f40de460124e271548f83c10eeb786db09239b238ea8298/wheel-inspect-1.7.1.tar.gz",
"platform": null,
"description": ".. image:: http://www.repostatus.org/badges/latest/active.svg\n :target: http://www.repostatus.org/#active\n :alt: Project Status: Active \u2014 The project has reached a stable, usable\n state and is being actively developed.\n\n.. image:: https://github.com/jwodder/wheel-inspect/workflows/Test/badge.svg?branch=master\n :target: https://github.com/jwodder/wheel-inspect/actions?workflow=Test\n :alt: CI Status\n\n.. image:: https://codecov.io/gh/jwodder/wheel-inspect/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/jwodder/wheel-inspect\n\n.. image:: https://img.shields.io/pypi/pyversions/wheel-inspect.svg\n :target: https://pypi.org/project/wheel-inspect/\n\n.. image:: https://img.shields.io/github/license/jwodder/wheel-inspect.svg\n :target: https://opensource.org/licenses/MIT\n :alt: MIT License\n\n`GitHub <https://github.com/jwodder/wheel-inspect>`_\n| `PyPI <https://pypi.org/project/wheel-inspect/>`_\n| `Issues <https://github.com/jwodder/wheel-inspect/issues>`_\n| `Changelog <https://github.com/jwodder/wheel-inspect/blob/master/CHANGELOG.md>`_\n\n``wheel-inspect`` examines Python wheel files & ``*.dist-info`` directories and\noutputs various information about their contents as JSON-serializable objects.\nIt can be invoked in Python code as::\n\n from wheel_inspect import inspect_wheel\n\n output = inspect_wheel(path_to_wheel_file)\n\nor from the command line with the ``wheel2json`` command.\n\n\nInstallation\n============\n``wheel-inspect`` requires Python 3.6 or higher. Just use `pip\n<https://pip.pypa.io>`_ for Python 3 (You have pip, right?) to install\n``wheel-inspect`` and its dependencies::\n\n python3 -m pip install wheel-inspect\n\n\nExample\n=======\n\n::\n\n $ wheel2json wheel_inspect-1.0.0.dev1-py3-none-any.whl\n {\n \"abi\": [\n \"none\"\n ],\n \"arch\": [\n \"any\"\n ],\n \"buildver\": null,\n \"derived\": {\n \"dependencies\": [\n \"distlib\",\n \"headerparser\",\n \"packaging\",\n \"readme-renderer\",\n \"setuptools\"\n ],\n \"description_in_body\": true,\n \"description_in_headers\": false,\n \"keyword_separator\": \",\",\n \"keywords\": [\n \"packages\",\n \"pypi\",\n \"wheel\"\n ],\n \"modules\": [\n \"wheel_inspect\",\n \"wheel_inspect.__main__\",\n \"wheel_inspect.inspect\",\n \"wheel_inspect.metadata\",\n \"wheel_inspect.schema\",\n \"wheel_inspect.util\",\n \"wheel_inspect.wheel_info\"\n ],\n \"readme_renders\": true\n },\n \"dist_info\": {\n \"entry_points\": {\n \"console_scripts\": {\n \"wheel2json\": {\n \"attr\": \"main\",\n \"extras\": [],\n \"module\": \"wheel_inspect.__main__\"\n }\n }\n },\n \"metadata\": {\n \"author\": \"John Thorvald Wodder II\",\n \"author_email\": \"wheel-inspect@varonathe.org\",\n \"classifier\": [\n \"Development Status :: 3 - Alpha\",\n \"Programming Language :: Python :: 3 :: Only\",\n \"Programming Language :: Python :: 3\",\n \"Programming Language :: Python :: 3.5\",\n \"Programming Language :: Python :: 3.6\",\n \"Programming Language :: Python :: 3.7\",\n \"Programming Language :: Python :: Implementation :: CPython\",\n \"Programming Language :: Python :: Implementation :: PyPy\",\n \"License :: OSI Approved :: MIT License\",\n \"Intended Audience :: Developers\",\n \"Topic :: Software Development :: Libraries :: Python Modules\",\n \"Topic :: System :: Software Distribution\"\n ],\n \"description\": {\n \"length\": 1538\n },\n \"home_page\": \"https://github.com/jwodder/wheel-inspect\",\n \"keywords\": \"packages,pypi,wheel\",\n \"license\": \"MIT\",\n \"metadata_version\": \"2.1\",\n \"name\": \"wheel-inspect\",\n \"platform\": [],\n \"requires_dist\": [\n {\n \"extras\": [],\n \"marker\": null,\n \"name\": \"distlib\",\n \"specifier\": \"~=0.2.7\",\n \"url\": null\n },\n {\n \"extras\": [],\n \"marker\": null,\n \"name\": \"headerparser\",\n \"specifier\": \"~=0.2.0\",\n \"url\": null\n },\n {\n \"extras\": [],\n \"marker\": null,\n \"name\": \"packaging\",\n \"specifier\": \">=17.1\",\n \"url\": null\n },\n {\n \"extras\": [],\n \"marker\": null,\n \"name\": \"readme-renderer\",\n \"specifier\": \"~=21.0\",\n \"url\": null\n },\n {\n \"extras\": [],\n \"marker\": null,\n \"name\": \"setuptools\",\n \"specifier\": \">=36\",\n \"url\": null\n }\n ],\n \"requires_python\": \"~=3.5\",\n \"summary\": \"Extract information from wheels\",\n \"version\": \"1.0.0.dev1\"\n },\n \"record\": [\n {\n \"digests\": {\n \"sha256\": \"EL9q_wQOJRlJL3LkKscASTrhXgXgVLfeugZz66MFeV8\"\n },\n \"path\": \"wheel_inspect/__init__.py\",\n \"size\": 440\n },\n {\n \"digests\": {\n \"sha256\": \"3_DrJ4Tr-ie5TCQtmmTnS82eHTMmVDY1mOeSP_hJ_Ho\"\n },\n \"path\": \"wheel_inspect/__main__.py\",\n \"size\": 247\n },\n {\n \"digests\": {\n \"sha256\": \"LCgjTkHaGxyzSKeY_pEDSWQFNQi7PRby6lh6H0OSVAQ\"\n },\n \"path\": \"wheel_inspect/inspect.py\",\n \"size\": 4816\n },\n {\n \"digests\": {\n \"sha256\": \"3u83eQ0RBdR-AEOxqsPyMkc663G2Un9Hd6tqhO2eu6k\"\n },\n \"path\": \"wheel_inspect/metadata.py\",\n \"size\": 1946\n },\n {\n \"digests\": {\n \"sha256\": \"8VOeroNaM34lIqdjnCiaCwtNEVwi_wFDTtYaL7dEXDQ\"\n },\n \"path\": \"wheel_inspect/schema.py\",\n \"size\": 12158\n },\n {\n \"digests\": {\n \"sha256\": \"iaxC3qenCrPMRjrqdTwj1Hfy-OPo-y-WVLaPWEDeSFs\"\n },\n \"path\": \"wheel_inspect/util.py\",\n \"size\": 1352\n },\n {\n \"digests\": {\n \"sha256\": \"wNTKsMw_TVe3RbIpj8tjwRE0Q_rUeoRUF66KKpqBp2c\"\n },\n \"path\": \"wheel_inspect/wheel_info.py\",\n \"size\": 1010\n },\n {\n \"digests\": {\n \"sha256\": \"-X7Ry_-tNPLAGkZasQc2KOBW_Ohnx52rgDZfo8cxw10\"\n },\n \"path\": \"wheel_inspect-1.0.0.dev1.dist-info/LICENSE\",\n \"size\": 1095\n },\n {\n \"digests\": {\n \"sha256\": \"SbhMBq15toKwrurqS0Xmt--MPsWRvKTjtx9ya4tTed8\"\n },\n \"path\": \"wheel_inspect-1.0.0.dev1.dist-info/METADATA\",\n \"size\": 2692\n },\n {\n \"digests\": {\n \"sha256\": \"-ZFxwj8mZJPIVcZGLrsQ8UGRcxVAOExzPLVBGR7u7bE\"\n },\n \"path\": \"wheel_inspect-1.0.0.dev1.dist-info/WHEEL\",\n \"size\": 92\n },\n {\n \"digests\": {\n \"sha256\": \"fqJPsljFaWRzPdYMreNAf0zg8GSQE0Tgh8_XOzL85lo\"\n },\n \"path\": \"wheel_inspect-1.0.0.dev1.dist-info/entry_points.txt\",\n \"size\": 60\n },\n {\n \"digests\": {\n \"sha256\": \"Cz2n0fdOaOfDcl0g6x4t_DEWzWZYYRcFASrgxW0v_WE\"\n },\n \"path\": \"wheel_inspect-1.0.0.dev1.dist-info/top_level.txt\",\n \"size\": 14\n },\n {\n \"digests\": {},\n \"path\": \"wheel_inspect-1.0.0.dev1.dist-info/RECORD\",\n \"size\": null\n }\n ],\n \"top_level\": [\n \"wheel_inspect\"\n ],\n \"wheel\": {\n \"generator\": \"bdist_wheel (0.32.1)\",\n \"root_is_purelib\": true,\n \"tag\": [\n \"py3-none-any\"\n ],\n \"wheel_version\": \"1.0\"\n }\n },\n \"file\": {\n \"digests\": {\n \"md5\": \"fc6dcdac9f850435e41167f48e3862f4\",\n \"sha256\": \"69733fa29a205ecfee322961defd15dc42880873869db6a742edf26d6d6d4832\"\n },\n \"size\": 10208\n },\n \"filename\": \"wheel_inspect-1.0.0.dev1-py3-none-any.whl\",\n \"project\": \"wheel_inspect\",\n \"pyver\": [\n \"py3\"\n ],\n \"valid\": true,\n \"version\": \"1.0.0.dev1\"\n }\n\n\nAPI\n===\n\n``wheel_inspect.DIST_INFO_SCHEMA``\n A `JSON Schema <http://json-schema.org>`_ for the structure returned by\n ``inspect_dist_info_dir()``. It is the same as ``WHEEL_SCHEMA``, but\n without the ``\"filename\"``, ``\"project\"``, ``\"version\"``, ``\"buildver\"``,\n ``\"pyver\"``, ``\"abi\"``, ``\"arch\"``, and ``\"file\"`` keys.\n\n``wheel_inspect.WHEEL_SCHEMA``\n A `JSON Schema <http://json-schema.org>`_ for the structure returned by\n ``inspect_wheel()``. This value was previously exported under the name\n \"``SCHEMA``\"; the old name continues to be available for backwards\n compatibility, but it will go away in the future and should not be used in\n new code.\n\n``wheel_inspect.inspect_dist_info_dir(dirpath)``\n Treat ``dirpath`` as a ``*.dist-info`` directory and inspect just it & its\n contents. The structure of the return value is described by\n ``DIST_INFO_SCHEMA``.\n\n``wheel_inspect.inspect_wheel(path)``\n Inspect the wheel file at the given ``path``. The structure of the return\n value is described by ``WHEEL_SCHEMA``.\n\nPrevious versions of ``wheel-inspect`` provided a ``parse_wheel_filename()``\nfunction. As of version 1.5.0, that feature has been split off into its own\npackage, `wheel-filename <https://github.com/jwodder/wheel-filename>`_.\n``wheel-inspect`` continues to re-export this function in order to maintain API\ncompatibility with earlier versions, but this will change in the future. Code\nthat imports ``parse_wheel_filename()`` from ``wheel-inspect`` should be\nupdated to use ``wheel-filename`` instead.\n\n\nCommand\n=======\n\n::\n\n wheel2json [<path> ...]\n\n``wheel-inspect`` provides a ``wheel2json`` command (also accessible as\n``python -m wheel_inspect``) that can be used to inspect wheels and\n``*.dist-info`` directories from the command line. Each path passed to the\ncommand is inspected separately (treated as a ``*.dist-info`` directory if it\nis a directory, treated as a wheel file otherwise), and the resulting data is\noutput as a pretty-printed JSON object. (Note that this results in a stream of\nJSON objects with no separation when multiple paths are given.)\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Extract information from wheels",
"version": "1.7.1",
"project_urls": {
"Bug Tracker": "https://github.com/jwodder/wheel-inspect/issues",
"Homepage": "https://github.com/jwodder/wheel-inspect",
"Source Code": "https://github.com/jwodder/wheel-inspect"
},
"split_keywords": [
"*.dist-info",
"dist-info",
"package metadata",
"packages",
"pep427",
"wheel"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "eeac42d840f8e8bd03252f88f15f67a1713e21c4d37120a1387d451628646815",
"md5": "973b3ca22f79d06e8400d1091793f19e",
"sha256": "5a7191d33402bd2e7173d8ffa521d7da4f111a6837d71dde44d272438368d507"
},
"downloads": -1,
"filename": "wheel_inspect-1.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "973b3ca22f79d06e8400d1091793f19e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "~=3.6",
"size": 20254,
"upload_time": "2022-04-08T13:27:46",
"upload_time_iso_8601": "2022-04-08T13:27:46.286525Z",
"url": "https://files.pythonhosted.org/packages/ee/ac/42d840f8e8bd03252f88f15f67a1713e21c4d37120a1387d451628646815/wheel_inspect-1.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea15828aac1533961f40de460124e271548f83c10eeb786db09239b238ea8298",
"md5": "39da5dfb02aaa15b738fe6fbd285bcdf",
"sha256": "469df948ea059ad0cd33cf5f033c554a8b4c20641745701f402e71a7694ec828"
},
"downloads": -1,
"filename": "wheel-inspect-1.7.1.tar.gz",
"has_sig": false,
"md5_digest": "39da5dfb02aaa15b738fe6fbd285bcdf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "~=3.6",
"size": 1278103,
"upload_time": "2022-04-08T13:27:49",
"upload_time_iso_8601": "2022-04-08T13:27:49.064376Z",
"url": "https://files.pythonhosted.org/packages/ea/15/828aac1533961f40de460124e271548f83c10eeb786db09239b238ea8298/wheel-inspect-1.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-04-08 13:27:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jwodder",
"github_project": "wheel-inspect",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "wheel-inspect"
}