{"id":22574864,"url":"https://github.com/thoth-station/package-extract","last_synced_at":"2025-09-07T06:11:18.756Z","repository":{"id":29994378,"uuid":"117243068","full_name":"thoth-station/package-extract","owner":"thoth-station","description":"Manipulation with package dependencies in containers and install logs","archived":false,"fork":false,"pushed_at":"2023-06-20T07:22:47.000Z","size":16106,"stargazers_count":1,"open_issues_count":3,"forks_count":11,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-10T16:31:56.210Z","etag":null,"topics":["artificial-intelligence","hacktoberfest","thoth"],"latest_commit_sha":null,"homepage":"https://thoth-station.github.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoth-station.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-01-12T13:16:12.000Z","updated_at":"2022-09-26T11:43:48.000Z","dependencies_parsed_at":"2025-04-10T16:11:19.471Z","dependency_job_id":"30af250a-0efa-442e-85d6-9a63a3398c69","html_url":"https://github.com/thoth-station/package-extract","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/thoth-station/package-extract","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-station%2Fpackage-extract","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-station%2Fpackage-extract/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-station%2Fpackage-extract/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-station%2Fpackage-extract/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoth-station","download_url":"https://codeload.github.com/thoth-station/package-extract/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-station%2Fpackage-extract/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274002383,"owners_count":25205424,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["artificial-intelligence","hacktoberfest","thoth"],"created_at":"2024-12-08T03:08:13.326Z","updated_at":"2025-09-07T06:11:18.714Z","avatar_url":"https://github.com/thoth-station.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Thoth Package Extract\n---------------------\n\n.. image:: https://img.shields.io/github/v/tag/thoth-station/package-extract?style=plastic\n  :target: https://github.com/thoth-station/package-extract/tags\n  :alt: GitHub tag (latest by date)\n\n.. image:: https://quay.io/repository/thoth-station/package-extract/status\n  :target: https://quay.io/repository/thoth-station/package-extract?tab=tags\n  :alt: Quay - Build\n\nA tool to extract installed packages from container images.\n\nExtracting dependencies directly from an image\n==============================================\n\nTool thoth-package-extract allows you to extract dependencies from an image directly by inspecting its content. As there is directly inspected the content of image, the output is accurate compared to the pure build log parsing.\n\nTo gather information about python packages installed, there is a need to execute python scripts of installed packages given the Python packaging design. In some cases this can be dangerous as there could be executed potentially malicious parts of code (see `this typo squashing \u003chttp://www.nbu.gov.sk/skcsirt-sa-20170909-pypi/\u003e`_ as an example).\n\n\nInstallation\n============\n\nUse prepared Dockerfile:\n\n.. code-block:: console\n\n  git clone https://github.com/thoth-station/package-extract\n  cd package-extract\n  docker build . -t package-extract\n\n\nExample of parsing install logs\n===============================\n\nAn example of parsing installed packages during:\n\n.. code-block:: console\n\n  $ pip3 install --user flask | docker run -i package-extract extract-buildlog -i -\n\n  {\n    \"metadata\": {\n      \"analyzer\": \"thoth-package-extract\",\n      \"analyzer_version\": \"1.0.0\",\n      \"arguments\": {\n        \"extract-buildlog\": {\n          \"input_file\": \"\u003c_io.TextIOWrapper name='\u003cstdin\u003e' mode='r' encoding='UTF-8'\u003e\",\n          \"no_pretty\": false,\n          \"output\": null\n        },\n        \"thoth-package-extract\": {\n          \"no_color\": false,\n          \"verbose\": false\n        }\n      },\n      \"datetime\": \"2018-06-18T15:53:23.129270\",\n      \"distribution\": {\n        \"codename\": \"Twenty Seven\",\n        \"id\": \"fedora\",\n        \"like\": \"\",\n        \"version\": \"27\",\n        \"version_parts\": {\n          \"build_number\": \"\",\n          \"major\": \"27\",\n          \"minor\": \"\"\n        }\n      },\n      \"hostname\": \"268f19027ea4\",\n      \"python\": {\n        \"api_version\": 1013,\n        \"implementation_name\": \"cpython\",\n        \"major\": 3,\n        \"micro\": 5,\n        \"minor\": 6,\n        \"releaselevel\": \"final\",\n        \"serial\": 0\n      }\n    },\n    \"result\": [\n      {\n        \"handler\": \"yum\",\n        \"result\": []\n      },\n      {\n        \"handler\": \"pip3\",\n        \"result\": [\n          {\n            \"already_satisfied\": \"/usr/lib/python3.6/site-packages/click-6.6-py3.6.egg\",\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"click\",\n            \"version_installed\": null,\n            \"version_specified\": \"\u003e=5.1\"\n          },\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl\",\n              \"size\": \"126kB\"\n            },\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"Jinja2\",\n            \"version_installed\": \"2.10\",\n            \"version_specified\": \"\u003e=2.10\"\n          },\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl\",\n              \"size\": \"322kB\"\n            },\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"Werkzeug\",\n            \"version_installed\": \"0.14.1\",\n            \"version_specified\": \"\u003e=0.14\"\n          },\n          {\n            \"already_satisfied\": \"/home/fpokorny/.local/lib/python3.6/site-packages\",\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"itsdangerous\",\n            \"version_installed\": null,\n            \"version_specified\": \"\u003e=0.24\"\n          },\n          {\n            \"already_satisfied\": \"/home/fpokorny/.local/lib/python3.6/site-packages\",\n            \"from\": [\n              {\n                \"package\": \"Jinja2\",\n                \"version_specified\": \"\u003e=2.10\"\n              },\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"MarkupSafe\",\n            \"version_installed\": null,\n            \"version_specified\": \"\u003e=0.23\"\n          }\n        ]\n      }\n    ]\n  }\n\nOr you can also use this tool to extract information about packages that were installed during docker build:\n\n.. code-block:: console\n\n  $ docker build . -f Dockerfile.test --no-cache | docker run -i package-extract extract-buildlog -i -\n  {\n    \"metadata\": {\n      \"analyzer\": \"thoth-package-extract\",\n      \"analyzer_version\": \"1.0.0\",\n      \"arguments\": {\n        \"extract-buildlog\": {\n          \"input_file\": \"\u003c_io.TextIOWrapper name='\u003cstdin\u003e' mode='r' encoding='UTF-8'\u003e\",\n          \"no_pretty\": false,\n          \"output\": null\n        },\n        \"thoth-package-extract\": {\n          \"no_color\": false,\n          \"verbose\": false\n        }\n      },\n      \"datetime\": \"2018-06-18T18:08:47.259811\",\n      \"distribution\": {\n        \"codename\": \"Twenty Seven\",\n        \"id\": \"fedora\",\n        \"like\": \"\",\n        \"version\": \"27\",\n        \"version_parts\": {\n          \"build_number\": \"\",\n          \"major\": \"27\",\n          \"minor\": \"\"\n        }\n      },\n      \"hostname\": \"b8c6f33cf757\",\n      \"python\": {\n        \"api_version\": 1013,\n        \"implementation_name\": \"cpython\",\n        \"major\": 3,\n        \"micro\": 5,\n        \"minor\": 6,\n        \"releaselevel\": \"final\",\n        \"serial\": 0\n      }\n    },\n    \"result\": [\n      {\n        \"handler\": \"yum\",\n        \"result\": [\n          {\n            \"arch\": \"noarch\",\n            \"dependency\": false,\n            \"epoch\": null,\n            \"name\": \"ca-certificates\",\n            \"repository\": \"updates\",\n            \"size\": \"392k\",\n            \"upgrading\": true,\n            \"version\": \"2018.2.24-1.0.fc28\"\n          },\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": false,\n            \"epoch\": null,\n            \"name\": \"coreutils-single\",\n            \"repository\": \"updates\",\n            \"size\": \"623k\",\n            \"upgrading\": true,\n            \"version\": \"8.29-7.fc28\"\n          },\n          {\n            \"arch\": \"noarch\",\n            \"dependency\": false,\n            \"epoch\": null,\n            \"name\": \"crypto-policies\",\n            \"repository\": \"updates\",\n            \"size\": \"40k\",\n            \"upgrading\": true,\n            \"version\": \"20180425-5.git6ad4018.fc28\"\n          },\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": false,\n            \"epoch\": null,\n            \"name\": \"cryptsetup-libs\",\n            \"repository\": \"updates\",\n            \"size\": \"291k\",\n            \"upgrading\": true,\n            \"version\": \"2.0.3-4.fc28\"\n          },\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": false,\n            \"epoch\": null,\n            \"name\": \"curl\",\n            \"repository\": \"updates\",\n            \"size\": \"343k\",\n            \"upgrading\": true,\n            \"version\": \"7.59.0-4.fc28\"\n          },\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": false,\n            \"epoch\": null,\n            \"name\": \"cyrus-sasl-lib\",\n            \"repository\": \"updates\",\n            \"size\": \"114k\",\n            \"upgrading\": true,\n            \"version\": \"2.1.27-0.2rc7.fc28\"\n          },\n  ...\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": false,\n            \"epoch\": 2,\n            \"name\": \"vim-enhanced\",\n            \"repository\": \"updates\",\n            \"size\": \"1.4M\",\n            \"upgrading\": false,\n            \"version\": \"8.1.042-1.fc28\"\n          },\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": true,\n            \"epoch\": null,\n            \"name\": \"gpm-libs\",\n            \"repository\": \"fedora\",\n            \"size\": \"38k\",\n            \"upgrading\": false,\n            \"version\": \"1.20.7-15.fc28\"\n          },\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": true,\n            \"epoch\": 2,\n            \"name\": \"vim-common\",\n            \"repository\": \"updates\",\n            \"size\": \"6.4M\",\n            \"upgrading\": false,\n            \"version\": \"8.1.042-1.fc28\"\n          },\n          {\n            \"arch\": \"noarch\",\n            \"dependency\": true,\n            \"epoch\": 2,\n            \"name\": \"vim-filesystem\",\n            \"repository\": \"updates\",\n            \"size\": \"47k\",\n            \"upgrading\": false,\n            \"version\": \"8.1.042-1.fc28\"\n          },\n          {\n            \"arch\": \"x86_64\",\n            \"dependency\": true,\n            \"epoch\": null,\n            \"name\": \"which\",\n            \"repository\": \"fedora\",\n            \"size\": \"47k\",\n            \"upgrading\": false,\n            \"version\": \"2.21-8.fc28\"\n          }\n        ]\n      },\n      {\n        \"handler\": \"pip3\",\n        \"result\": [\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl\",\n              \"size\": \"91kB\"\n            },\n            \"from\": null,\n            \"package\": \"flask\",\n            \"version_installed\": \"1.0.2\",\n            \"version_specified\": null\n          },\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl\",\n              \"size\": \"126kB\"\n            },\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"Jinja2\",\n            \"version_installed\": \"2.10\",\n            \"version_specified\": \"\u003e=2.10\"\n          },\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl\",\n              \"size\": \"322kB\"\n            },\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"Werkzeug\",\n            \"version_installed\": \"0.14.1\",\n            \"version_specified\": \"\u003e=0.14\"\n          },\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz\",\n              \"size\": \"46kB\"\n            },\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"itsdangerous\",\n            \"version_installed\": \"0.24\",\n            \"version_specified\": \"\u003e=0.24\"\n          },\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl\",\n              \"size\": \"71kB\"\n            },\n            \"from\": [\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"click\",\n            \"version_installed\": \"6.7\",\n            \"version_specified\": \"\u003e=5.1\"\n          },\n          {\n            \"already_satisfied\": null,\n            \"artifact\": {\n              \"name\": \"https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz\",\n              \"size\": null\n            },\n            \"from\": [\n              {\n                \"package\": \"Jinja2\",\n                \"version_specified\": \"\u003e=2.10\"\n              },\n              {\n                \"package\": \"flask\",\n                \"version_specified\": null\n              }\n            ],\n            \"package\": \"MarkupSafe\",\n            \"version_installed\": \"1.0\",\n            \"version_specified\": \"\u003e=0.23\"\n          }\n        ]\n      }\n    ]\n  }\n\n  $ cat Dockerfile.test\n  FROM fedora:28\n  RUN dnf install python3-pip \u0026\u0026 pip3 install flask \u0026\u0026 dnf update -y \u0026\u0026 dnf install -y vim\n\n\nExample of extracting installed packages inside an image\n========================================================\n\nTo extract packages present on the resulting image run:\n\n.. code-block:: console\n\n  $ docker run -i package-extract -v extract-image -i fedora:27\n  2018-06-18 19:06:46,611 [1] DEBUG    thoth.package_extract.image: Downloading image 'fedora:27'\n  2018-06-18 19:06:46,611 [1] DEBUG    thoth.analyzer.command: Running command 'skopeo copy docker://fedora:27 dir://tmp/tmp9jmeuw__'\n  2018-06-18 19:06:51,669 [1] DEBUG    thoth.package_extract.image: skopeo stdout: Getting image source signatures\n  Copying blob sha256:2176639d844bbe1386912e1d9952cebdb8249923a16691025cf693963f8aec53\n\n   0 B / 77.54 MB\n   3.60 MB / 77.54 MB\n   9.65 MB / 77.54 MB\n   16.34 MB / 77.54 MB\n   22.86 MB / 77.54 MB\n   29.22 MB / 77.54 MB\n   35.59 MB / 77.54 MB\n   41.26 MB / 77.54 MB\n   47.86 MB / 77.54 MB\n   54.40 MB / 77.54 MB\n   61.01 MB / 77.54 MB\n   66.34 MB / 77.54 MB\n   72.99 MB / 77.54 MB\n   77.54 MB / 77.54 MB\n   77.54 MB / 77.54 MB  2s\n  Copying config sha256:9110ae7f579f35ee0c3938696f23fe0f5fbe641738ea52eb83c2df7e9995fa17\n\n   0 B / 2.29 KB\n   2.29 KB / 2.29 KB  0s\n  Writing manifest to image destination\n  Storing signatures\n\n  2018-06-18 19:06:51,671 [1] DEBUG    thoth.package_extract.image: Layers found: [{'mediaType': 'application/vnd.docker.image.rootfs.diff.tar.gzip', 'size': 81308994, 'digest': 'sha256:2176639d844bbe1386912e1d9952cebdb8249923a16691025cf693963f8aec53'}]\n  2018-06-18 19:06:51,671 [1] DEBUG    thoth.package_extract.image: Extracting layer '2176639d844bbe1386912e1d9952cebdb8249923a16691025cf693963f8aec53'\n  2018-06-18 19:06:55,776 [1] DEBUG    thoth.analyzer.command: Running command \"rpm -qa --root '/tmp/tmp9jmeuw__/rootfs'\"\n  2018-06-18 19:06:55,874 [1] DEBUG    thoth.analyzer.command: Running command \"repoquery --deplist --installed --installroot '/tmp/tmp9jmeuw__/rootfs'\"\n  {\n  \"metadata\": {\n    \"analyzer\": \"thoth-package-extract\",\n    \"analyzer_version\": \"1.0.0\",\n    \"arguments\": {\n      \"extract-image\": {\n        \"image\": \"fedora:27\",\n        \"no_pretty\": false,\n        \"no_tls_verify\": false,\n        \"output\": null,\n        \"registry_credentials\": null,\n        \"timeout\": null\n      },\n      \"thoth-package-extract\": {\n        \"no_color\": false,\n        \"verbose\": false\n      }\n    },\n    \"datetime\": \"2018-06-18T19:05:33.205504\",\n    \"distribution\": {\n      \"codename\": \"Twenty Seven\",\n      \"id\": \"fedora\",\n      \"like\": \"\",\n      \"version\": \"27\",\n      \"version_parts\": {\n        \"build_number\": \"\",\n        \"major\": \"27\",\n        \"minor\": \"\"\n      }\n    },\n    \"hostname\": \"bfd10ad99fd4\",\n    \"python\": {\n      \"api_version\": 1013,\n      \"implementation_name\": \"cpython\",\n      \"major\": 3,\n      \"micro\": 5,\n      \"minor\": 6,\n      \"releaselevel\": \"final\",\n      \"serial\": 0\n    }\n  },\n  \"result\": {\n    \"layers\": [\n      \"2176639d844bbe1386912e1d9952cebdb8249923a16691025cf693963f8aec53\"\n    ],\n      {\n        \"digests\": {\n          \"manifest\": \"638db309ccb9ca512fc1c7c9ac207028038b8d5c\"\n        },\n        \"ecosystem\": \"Python-Dist\",\n        \"path\": \"/usr/lib/python3.6/site-packages/pip-9.0.1.dist-info/metadata.json\",\n        \"result\": {\n          \"classifiers\": [\n            \"Development Status :: 5 - Production/Stable\",\n            \"Intended Audience :: Developers\",\n            \"License :: OSI Approved :: MIT License\",\n            \"Topic :: Software Development :: Build Tools\",\n            \"Programming Language :: Python :: 2\",\n            \"Programming Language :: Python :: 2.6\",\n            \"Programming Language :: Python :: 2.7\",\n            \"Programming Language :: Python :: 3\",\n            \"Programming Language :: Python :: 3.3\",\n            \"Programming Language :: Python :: 3.4\",\n            \"Programming Language :: Python :: 3.5\",\n            \"Programming Language :: Python :: Implementation :: PyPy\"\n          ],\n    \"rpm\": [\n      \"xkeyboard-config-2.22-1.fc27.noarch\",\n      \"emacs-filesystem-25.3-3.fc27.noarch\",\n      \"fedora-repos-27-2.noarch\",\n      \"setup-2.10.10-1.fc27.noarch\",\n      \"basesystem-11-4.fc27.noarch\",\n      \"libreport-filesystem-2.9.3-2.fc27.x86_64\",\n      \"tzdata-2018c-1.fc27.noarch\",\n      \"glibc-langpack-en-2.26-26.fc27.x86_64\",\n      \"ncurses-libs-6.0-13.20170722.fc27.x86_64\",\n      \"libsepol-2.7-2.fc27.x86_64\",\n      \"libselinux-2.7-3.fc27.x86_64\",\n      \"info-6.4-6.fc27.x86_64\",\n      \"bzip2-libs-1.0.6-24.fc27.x86_64\",\n      \"expat-2.2.5-1.fc27.x86_64\",\n      \"nspr-4.18.0-1.fc27.x86_64\",\n      \"elfutils-libelf-0.170-1.fc27.x86_64\",\n      \"libgcrypt-1.8.2-1.fc27.x86_64\",\n      \"libxml2-2.9.7-1.fc27.x86_64\",\n      \"gmp-6.1.2-6.fc27.x86_64\",\n      \"libzstd-1.3.3-1.fc27.x86_64\",\n      \"chkconfig-1.10-3.fc27.x86_64\",\n      \"libcom_err-1.43.5-2.fc27.x86_64\",\n      \"libattr-2.4.47-21.fc27.x86_64\",\n      \"sed-4.4-4.fc27.x86_64\",\n      \"libunistring-0.9.7-3.fc27.x86_64\",\n      \"lz4-libs-1.8.0-1.fc27.x86_64\",\n      \"libcap-ng-0.7.8-5.fc27.x86_64\",\n      \"nss-softokn-freebl-3.35.0-1.0.fc27.x86_64\",\n      \"nss-softokn-3.35.0-1.0.fc27.x86_64\",\n      \"keyutils-libs-1.5.10-3.fc27.x86_64\",\n      \"grep-3.1-3.fc27.x86_64\",\n      \"dbus-libs-1.12.0-1.fc27.x86_64\",\n      \"p11-kit-trust-0.23.9-2.fc27.x86_64\",\n      \"libusbx-1.0.21-4.fc27.x86_64\",\n      \"libpsl-0.18.0-1.fc27.x86_64\",\n      \"mpfr-3.1.6-1.fc27.x86_64\",\n      \"gdbm-1.13-6.fc27.x86_64\",\n      \"libdb-utils-5.3.28-27.fc27.x86_64\",\n      \"kmod-libs-25-1.fc27.x86_64\",\n      \"coreutils-common-8.27-20.fc27.x86_64\",\n      \"elfutils-default-yama-scope-0.170-1.fc27.noarch\",\n      \"ncurses-6.0-13.20170722.fc27.x86_64\",\n      \"coreutils-8.27-20.fc27.x86_64\",\n      \"python3-pip-9.0.1-14.fc27.noarch\",\n      \"python3-3.6.4-8.fc27.x86_64\",\n      \"libblkid-2.30.2-1.fc27.x86_64\",\n      \"libmount-2.30.2-1.fc27.x86_64\",\n      \"dbus-glib-0.108-4.fc27.x86_64\",\n      \"libutempter-1.1.6-11.fc27.x86_64\",\n      \"python3-libcomps-0.1.8-6.fc27.x86_64\",\n      \"python3-iniparse-0.4-26.fc27.noarch\",\n      \"gzip-1.8-4.fc27.x86_64\",\n      \"libpwquality-1.4.0-3.fc27.x86_64\",\n      \"nss-pem-1.0.3-6.fc27.x86_64\",\n      \"nss-sysinit-3.35.0-1.1.fc27.x86_64\",\n      \"libarchive-3.3.1-3.fc27.x86_64\",\n      \"trousers-lib-0.3.13-9.fc27.x86_64\",\n      \"libsss_nss_idmap-1.16.0-6.fc27.x86_64\",\n      \"libsigsegv-2.11-3.fc27.x86_64\",\n      \"krb5-libs-1.15.2-7.fc27.x86_64\",\n      \"openldap-2.4.45-4.fc27.x86_64\",\n      \"qrencode-libs-3.4.4-3.fc27.x86_64\",\n      \"gnupg2-2.2.5-1.fc27.x86_64\",\n      \"python3-gpg-1.9.0-6.fc27.x86_64\",\n      \"util-linux-2.30.2-1.fc27.x86_64\",\n      \"iptables-libs-1.6.1-4.fc27.x86_64\",\n      \"device-mapper-libs-1.02.144-1.fc27.x86_64\",\n      \"systemd-pam-234-10.git5f8984e.fc27.x86_64\",\n      \"dbus-1.12.0-1.fc27.x86_64\",\n      \"libcurl-7.55.1-9.fc27.x86_64\",\n      \"python3-librepo-1.8.0-1.fc27.x86_64\",\n      \"rpm-plugin-selinux-4.14.1-1.fc27.x86_64\",\n      \"rpm-4.14.1-1.fc27.x86_64\",\n      \"libdnf-0.11.1-1.fc27.x86_64\",\n      \"deltarpm-3.6-24.fc27.x86_64\",\n      \"python3-rpm-4.14.1-1.fc27.x86_64\",\n      \"dnf-2.7.5-2.fc27.noarch\",\n      \"rpm-plugin-systemd-inhibit-4.14.1-1.fc27.x86_64\",\n      \"gnupg2-smime-2.2.5-1.fc27.x86_64\",\n      \"nss-tools-3.35.0-1.1.fc27.x86_64\",\n      \"pinentry-0.9.7-4.fc27.x86_64\",\n      \"shared-mime-info-1.9-1.fc27.x86_64\",\n      \"tar-1.29-7.fc27.x86_64\",\n      \"libxkbcommon-0.7.1-5.fc27.x86_64\",\n      \"rootfiles-8.1-21.fc27.noarch\",\n      \"libgcc-7.3.1-5.fc27.x86_64\",\n      \"publicsuffix-list-dafsa-20180223-1.fc27.noarch\",\n      \"fedora-gpg-keys-27-2.noarch\",\n      \"fedora-release-27-1.noarch\",\n      \"filesystem-3.3-3.fc27.x86_64\",\n      \"ncurses-base-6.0-13.20170722.fc27.noarch\",\n      \"dnf-conf-2.7.5-2.fc27.noarch\",\n      \"glibc-common-2.26-26.fc27.x86_64\",\n      \"glibc-2.26-26.fc27.x86_64\",\n      \"bash-4.4.19-1.fc27.x86_64\",\n      \"pcre2-10.31-1.fc27.x86_64\",\n      \"zlib-1.2.11-4.fc27.x86_64\",\n      \"xz-libs-5.2.3-4.fc27.x86_64\",\n      \"libgpg-error-1.27-3.fc27.x86_64\",\n      \"libdb-5.3.28-27.fc27.x86_64\",\n      \"nss-util-3.35.0-1.0.fc27.x86_64\",\n      \"libcap-2.25-7.fc27.x86_64\",\n      \"popt-1.16-12.fc27.x86_64\",\n      \"readline-7.0-7.fc27.x86_64\",\n      \"libuuid-2.30.2-1.fc27.x86_64\",\n      \"lua-libs-5.3.4-7.fc27.x86_64\",\n      \"libassuan-2.5.1-1.fc27.x86_64\",\n      \"libffi-3.1-14.fc27.x86_64\",\n      \"libacl-2.2.52-18.fc27.x86_64\",\n      \"p11-kit-0.23.9-2.fc27.x86_64\",\n      \"libidn2-2.0.4-3.fc27.x86_64\",\n      \"sqlite-libs-3.20.1-1.fc27.x86_64\",\n      \"audit-libs-2.8.2-1.fc27.x86_64\",\n      \"libcrypt-nss-2.26-26.fc27.x86_64\",\n      \"libksba-1.3.5-5.fc27.x86_64\",\n      \"pcre-8.41-5.fc27.x86_64\",\n      \"systemd-libs-234-10.git5f8984e.fc27.x86_64\",\n      \"libtasn1-4.13-1.fc27.x86_64\",\n      \"ca-certificates-2018.2.22-1.0.fc27.noarch\",\n      \"libsemanage-2.7-2.fc27.x86_64\",\n      \"acl-2.2.52-18.fc27.x86_64\",\n      \"nettle-3.4-1.fc27.x86_64\",\n      \"libcomps-0.1.8-6.fc27.x86_64\",\n      \"libmetalink-0.1.3-4.fc27.x86_64\",\n      \"libidn-1.33-4.fc27.x86_64\",\n      \"file-libs-5.31-10.fc27.x86_64\",\n      \"elfutils-libs-0.170-1.fc27.x86_64\",\n      \"openssl-libs-1.1.0g-1.fc27.x86_64\",\n      \"crypto-policies-20170816-2.gite0a4066.fc27.noarch\",\n      \"python3-setuptools-37.0.0-1.fc27.noarch\",\n      \"python3-libs-3.6.4-8.fc27.x86_64\",\n      \"shadow-utils-4.5-4.fc27.x86_64\",\n      \"glib2-2.54.3-2.fc27.x86_64\",\n      \"libsecret-0.18.5-5.fc27.x86_64\",\n      \"libfdisk-2.30.2-1.fc27.x86_64\",\n      \"python3-six-1.11.0-1.fc27.noarch\",\n      \"gnutls-3.5.18-2.fc27.x86_64\",\n      \"cracklib-2.9.6-7.fc27.x86_64\",\n      \"pam-1.3.0-6.fc27.x86_64\",\n      \"nss-3.35.0-1.1.fc27.x86_64\",\n      \"ima-evm-utils-1.1-2.fc27.x86_64\",\n      \"libssh2-1.8.0-5.fc27.x86_64\",\n      \"libsss_idmap-1.16.0-6.fc27.x86_64\",\n      \"libverto-0.2.6-11.fc27.x86_64\",\n      \"gawk-4.1.4-8.fc27.x86_64\",\n      \"cyrus-sasl-lib-2.1.26-34.fc27.x86_64\",\n      \"libseccomp-2.3.3-1.fc27.x86_64\",\n      \"npth-1.5-3.fc27.x86_64\",\n      \"gpgme-1.9.0-6.fc27.x86_64\",\n      \"libsmartcols-2.30.2-1.fc27.x86_64\",\n      \"libpcap-1.8.1-6.fc27.x86_64\",\n      \"device-mapper-1.02.144-1.fc27.x86_64\",\n      \"cryptsetup-libs-1.7.5-3.fc27.x86_64\",\n      \"systemd-234-10.git5f8984e.fc27.x86_64\",\n      \"libnghttp2-1.25.0-1.fc27.x86_64\",\n      \"librepo-1.8.0-1.fc27.x86_64\",\n      \"curl-7.55.1-9.fc27.x86_64\",\n      \"rpm-libs-4.14.1-1.fc27.x86_64\",\n      \"libsolv-0.6.33-1.fc27.x86_64\",\n      \"python3-hawkey-0.11.1-1.fc27.x86_64\",\n      \"rpm-build-libs-4.14.1-1.fc27.x86_64\",\n      \"python3-dnf-2.7.5-2.fc27.noarch\",\n      \"dnf-yum-2.7.5-2.fc27.noarch\",\n      \"trousers-0.3.13-9.fc27.x86_64\",\n      \"sssd-client-1.16.0-6.fc27.x86_64\",\n      \"cracklib-dicts-2.9.6-7.fc27.x86_64\",\n      \"python3-dbus-1.2.4-8.fc27.x86_64\",\n      \"vim-minimal-8.0.1553-1.fc27.x86_64\",\n      \"diffutils-3.6-3.fc27.x86_64\",\n      \"langpacks-en-1.0-10.fc27.noarch\",\n      \"gpg-pubkey-f5282ee4-58ac92a3\"\n    ],\n    \"rpm-dependencies\": [\n      {\n        \"arch\": \"x86_64\",\n        \"dependencies\": [\n          \"libacl = 2.2.52-18.fc27\",\n          \"libacl.so.1()(64bit)\",\n          \"libacl.so.1(ACL_1.0)(64bit)\",\n          \"libattr.so.1()(64bit)\",\n          \"libc.so.6()(64bit)\",\n          \"libc.so.6(GLIBC_2.14)(64bit)\",\n          \"libc.so.6(GLIBC_2.2.5)(64bit)\",\n          \"libc.so.6(GLIBC_2.3.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.4)(64bit)\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\",\n          \"rtld(GNU_HASH)\"\n        ],\n        \"epoch\": null,\n        \"name\": \"acl\",\n        \"package_identifier\": \"acl-2.2.52-18.fc27.x86_64\",\n        \"release\": \"18.fc27\",\n        \"src\": false,\n        \"version\": \"2.2.52\"\n      },\n      {\n        \"arch\": \"x86_64\",\n        \"dependencies\": [\n          \"/sbin/ldconfig\",\n          \"/sbin/ldconfig\",\n          \"config(audit-libs) = 2.8.2-1.fc27\",\n          \"libaudit.so.1()(64bit)\",\n          \"libc.so.6()(64bit)\",\n          \"libc.so.6(GLIBC_2.14)(64bit)\",\n          \"libc.so.6(GLIBC_2.2.5)(64bit)\",\n          \"libc.so.6(GLIBC_2.3)(64bit)\",\n          \"libc.so.6(GLIBC_2.3.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.8)(64bit)\",\n          \"libcap-ng.so.0()(64bit)\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\",\n          \"rtld(GNU_HASH)\"\n        ],\n        \"epoch\": null,\n        \"name\": \"audit-libs\",\n        \"package_identifier\": \"audit-libs-2.8.2-1.fc27.x86_64\",\n        \"release\": \"1.fc27\",\n        \"src\": false,\n        \"version\": \"2.8.2\"\n      },\n      {\n        \"arch\": \"noarch\",\n        \"dependencies\": [\n          \"filesystem\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\",\n          \"setup\"\n        ],\n        \"epoch\": null,\n        \"name\": \"basesystem\",\n        \"package_identifier\": \"basesystem-11-4.fc27.noarch\",\n        \"release\": \"4.fc27\",\n        \"src\": false,\n        \"version\": \"11\"\n      },\n      {\n        \"arch\": \"x86_64\",\n        \"dependencies\": [\n          \"/bin/sh\",\n          \"config(bash) = 4.4.19-1.fc27\",\n          \"filesystem \u003e= 3\",\n          \"libc.so.6()(64bit)\",\n          \"libc.so.6(GLIBC_2.11)(64bit)\",\n          \"libc.so.6(GLIBC_2.14)(64bit)\",\n          \"libc.so.6(GLIBC_2.15)(64bit)\",\n          \"libc.so.6(GLIBC_2.2.5)(64bit)\",\n          \"libc.so.6(GLIBC_2.3)(64bit)\",\n          \"libc.so.6(GLIBC_2.3.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.8)(64bit)\",\n          \"libdl.so.2()(64bit)\",\n          \"libdl.so.2(GLIBC_2.2.5)(64bit)\",\n          \"libtinfo.so.6()(64bit)\",\n          \"rpmlib(BuiltinLuaScripts) \u003c= 4.2.2-1\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\",\n          \"rtld(GNU_HASH)\"\n        ],\n        \"epoch\": null,\n        \"name\": \"bash\",\n        \"package_identifier\": \"bash-4.4.19-1.fc27.x86_64\",\n        \"release\": \"1.fc27\",\n        \"src\": false,\n        \"version\": \"4.4.19\"\n      },\n      {\n        \"arch\": \"x86_64\",\n        \"dependencies\": [\n          \"/sbin/ldconfig\",\n          \"/sbin/ldconfig\",\n          \"libc.so.6()(64bit)\",\n          \"libc.so.6(GLIBC_2.2.5)(64bit)\",\n          \"libc.so.6(GLIBC_2.3)(64bit)\",\n          \"libc.so.6(GLIBC_2.3.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.4)(64bit)\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\",\n          \"rtld(GNU_HASH)\"\n        ],\n        \"epoch\": null,\n        \"name\": \"bzip2-libs\",\n        \"package_identifier\": \"bzip2-libs-1.0.6-24.fc27.x86_64\",\n        \"release\": \"24.fc27\",\n        \"src\": false,\n        \"version\": \"1.0.6\"\n      },\n      {\n        \"arch\": \"noarch\",\n        \"dependencies\": [\n          \"/bin/sh\",\n          \"/bin/sh\",\n          \"/bin/sh\",\n          \"config(ca-certificates) = 2018.2.22-1.0.fc27\",\n          \"p11-kit \u003e= 0.23.4\",\n          \"p11-kit-trust \u003e= 0.23.4\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\"\n        ],\n        \"epoch\": null,\n        \"name\": \"ca-certificates\",\n        \"package_identifier\": \"ca-certificates-2018.2.22-1.0.fc27.noarch\",\n        \"release\": \"1.0.fc27\",\n        \"src\": false,\n        \"version\": \"2018.2.22\"\n      },\n      {\n        \"arch\": \"x86_64\",\n        \"dependencies\": [\n          \"libc.so.6()(64bit)\",\n          \"libc.so.6(GLIBC_2.14)(64bit)\",\n          \"libc.so.6(GLIBC_2.2.5)(64bit)\",\n          \"libc.so.6(GLIBC_2.3)(64bit)\",\n          \"libc.so.6(GLIBC_2.3.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.8)(64bit)\",\n          \"libpopt.so.0()(64bit)\",\n          \"libpopt.so.0(LIBPOPT_0)(64bit)\",\n          \"libselinux.so.1()(64bit)\",\n          \"libsepol.so.1()(64bit)\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\",\n          \"rtld(GNU_HASH)\"\n        ],\n        \"epoch\": null,\n        \"name\": \"chkconfig\",\n        \"package_identifier\": \"chkconfig-1.10-3.fc27.x86_64\",\n        \"release\": \"3.fc27\",\n        \"src\": false,\n        \"version\": \"1.10\"\n      },\n      {\n        \"arch\": \"x86_64\",\n        \"dependencies\": [\n          \"coreutils-common = 8.27-20.fc27\",\n          \"libacl.so.1()(64bit)\",\n          \"libacl.so.1(ACL_1.0)(64bit)\",\n          \"libattr.so.1()(64bit)\",\n          \"libattr.so.1(ATTR_1.1)(64bit)\",\n          \"libc.so.6()(64bit)\",\n          \"libc.so.6(GLIBC_2.10)(64bit)\",\n          \"libc.so.6(GLIBC_2.14)(64bit)\",\n          \"libc.so.6(GLIBC_2.15)(64bit)\",\n          \"libc.so.6(GLIBC_2.17)(64bit)\",\n          \"libc.so.6(GLIBC_2.2.5)(64bit)\",\n          \"libc.so.6(GLIBC_2.3)(64bit)\",\n          \"libc.so.6(GLIBC_2.3.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.4)(64bit)\",\n          \"libc.so.6(GLIBC_2.6)(64bit)\",\n          \"libc.so.6(GLIBC_2.7)(64bit)\",\n          \"libcap.so.2()(64bit)\",\n          \"libcrypto.so.1.1()(64bit)\",\n          \"libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)\",\n          \"libgmp.so.10()(64bit)\",\n          \"libpthread.so.0()(64bit)\",\n          \"libpthread.so.0(GLIBC_2.2.5)(64bit)\",\n          \"libpthread.so.0(GLIBC_2.3.2)(64bit)\",\n          \"librt.so.1()(64bit)\",\n          \"librt.so.1(GLIBC_2.3.3)(64bit)\",\n          \"libselinux.so.1()(64bit)\",\n          \"ncurses\",\n          \"rpmlib(CompressedFileNames) \u003c= 3.0.4-1\",\n          \"rpmlib(FileDigests) \u003c= 4.6.0-1\",\n          \"rpmlib(PayloadFilesHavePrefix) \u003c= 4.0-1\",\n          \"rpmlib(PayloadIsXz) \u003c= 5.2-1\",\n          \"rtld(GNU_HASH)\"\n        ],\n        \"epoch\": null,\n        \"name\": \"coreutils\",\n        \"package_identifier\": \"coreutils-8.27-20.fc27.x86_64\",\n        \"release\": \"20.fc27\",\n        \"src\": false,\n        \"version\": \"8.27\"\n      },\n\n      ...\n  }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthoth-station%2Fpackage-extract","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthoth-station%2Fpackage-extract","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthoth-station%2Fpackage-extract/lists"}