{"id":22316661,"url":"https://github.com/developerstoolbox/dockerhub-extractor-package","last_synced_at":"2025-07-29T12:30:30.636Z","repository":{"id":242575954,"uuid":"808182666","full_name":"DevelopersToolbox/dockerhub-extractor-package","owner":"DevelopersToolbox","description":"Extract container information for a given user in DockerHub.","archived":false,"fork":false,"pushed_at":"2025-06-23T05:24:41.000Z","size":213,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-23T06:26:58.168Z","etag":null,"topics":["dockerhub","wolfsoftware"],"latest_commit_sha":null,"homepage":"","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/DevelopersToolbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["WolfSoftware","TGWolf"]}},"created_at":"2024-05-30T14:49:41.000Z","updated_at":"2025-06-23T05:23:33.000Z","dependencies_parsed_at":"2024-06-03T21:45:24.958Z","dependency_job_id":"84f214a2-e3d1-4edc-968c-b98798a98fad","html_url":"https://github.com/DevelopersToolbox/dockerhub-extractor-package","commit_stats":null,"previous_names":["developerstoolbox/dockerhub-extractor-package"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/DevelopersToolbox/dockerhub-extractor-package","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopersToolbox%2Fdockerhub-extractor-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopersToolbox%2Fdockerhub-extractor-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopersToolbox%2Fdockerhub-extractor-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopersToolbox%2Fdockerhub-extractor-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevelopersToolbox","download_url":"https://codeload.github.com/DevelopersToolbox/dockerhub-extractor-package/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopersToolbox%2Fdockerhub-extractor-package/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267686334,"owners_count":24127715,"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-07-29T02:00:12.549Z","response_time":2574,"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":["dockerhub","wolfsoftware"],"created_at":"2024-12-03T23:07:23.535Z","updated_at":"2025-07-29T12:30:30.366Z","avatar_url":"https://github.com/DevelopersToolbox.png","language":"Python","readme":"\u003c!-- markdownlint-disable --\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/\"\u003e\n        \u003cimg src=\"https://cdn.wolfsoftware.com/assets/images/github/organisations/developerstoolbox/black-and-white-circle-256.png\" alt=\"DevelopersToolbox logo\" /\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/actions/workflows/cicd.yml\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/DevelopersToolbox/dockerhub-extractor-package/cicd.yml?branch=master\u0026label=build%20status\u0026style=for-the-badge\" alt=\"Github Build Status\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/blob/master/LICENSE.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/DevelopersToolbox/dockerhub-extractor-package?color=blue\u0026label=License\u0026style=for-the-badge\" alt=\"License\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/created-at/DevelopersToolbox/dockerhub-extractor-package?color=blue\u0026label=Created\u0026style=for-the-badge\" alt=\"Created\"\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/v/release/DevelopersToolbox/dockerhub-extractor-package?color=blue\u0026label=Latest%20Release\u0026style=for-the-badge\" alt=\"Release\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/release-date/DevelopersToolbox/dockerhub-extractor-package?color=blue\u0026label=Released\u0026style=for-the-badge\" alt=\"Released\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/commits-since/DevelopersToolbox/dockerhub-extractor-package/latest.svg?color=blue\u0026style=for-the-badge\" alt=\"Commits since release\"\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/blob/master/.github/CODE_OF_CONDUCT.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Code%20of%20Conduct-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/blob/master/.github/CONTRIBUTING.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Contributing-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/blob/master/.github/SECURITY.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Report%20Security%20Concern-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/DevelopersToolbox/dockerhub-extractor-package/issues\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Get%20Support-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n\nDockerHub Extractor is a Python package designed to fetch and process detailed information about repositories hosted on Docker Hub.\nThis package is particularly useful for users who want to retrieve and analyze metadata for repositories maintained by a specific Docker Hub user.\n\n## Features\n\n- Retrieve a list of repositories maintained by a specific Docker Hub user.\n- Fetch detailed metadata for each repository, including information such as tags, stars, pulls, and more.\n- Custom exceptions for handling errors gracefully.\n- Option to set the Docker Hub username after initializing the class.\n\n## Installation\n\nYou can install the package using pip:\n\n```sh\npip install wolfsoftware.dockerhub-extractor\n```\n\n## Usage\n\n### Basic Usage\n\nHere's a basic example of how to use the DockerHub Extractor:\n\n```python\nfrom wolfsoftware.dockerhub_extractor import DockerHubExtractor\n\n# Initialize without username\ndockerhub_extractor = DockerHubExtractor()\n\n# Set username later\ndockerhub_extractor.set_username(\"your_dockerhub_username\")\n\n# Get detailed information for all repositories\ntry:\n    repositories_details = dockerhub_extractor.get_all_repositories_details()\n    print(repositories_details)\nexcept DockerHubExtractorError as e:\n    print(f\"An error occurred: {e.message}\")\n```\n\n### Setting Username During Initialization\n\nYou can also set the username during initialization:\n\n```python\ndockerhub_extractor = DockerHubExtractor(\"your_dockerhub_username\")\n```\n\n### Retrieving User Repositories\n\nYou can retrieve a list of repositories maintained by a specific user:\n\n```python\nrepositories = dockerhub_extractor.get_user_repositories()\nprint(repositories)\n```\n\n### Retrieving Repository Details\n\nTo get detailed information about a specific repository:\n\n```python\nrepository_details = dockerhub_extractor.get_repository_details(\"repository_name\")\nprint(repository_details)\n```\n\n## API Reference\n\n### Classes\n\n#### `DockerHubExtractor`\n\nA class to fetch and process repository details for a given Docker Hub user.\n\n##### `__init__(self, username: str)`\n\n- Initializes the `DockerHubExtractor` with a username.\n- Parameters:\n  - `username` (str): The Docker Hub username.\n- Raises:\n  - `DockerHubExtractorError`: If the username is not provided.\n\n##### `set_username(self, username: str)`\n\n- Sets the Docker Hub username.\n- Parameters:\n  - `username` (str): The Docker Hub username.\n- Raises:\n  - `DockerHubExtractorError`: If the username is not provided.\n\n##### `get_user_repositories(self) -\u003e list`\n\n- Fetches the list of repositories for the given Docker Hub user.\n- Returns:\n  - `list`: A list of dictionaries containing repository names and summaries.\n- Raises:\n  - `DockerHubExtractorError`: If there is an error fetching or parsing the user profile.\n\n##### `get_repository_details(self, repository_name: str) -\u003e dict`\n\n- Fetches detailed information for a specific repository.\n- Parameters:\n  - `repository_name` (str): The name of the repository.\n- Returns:\n  - `dict`: A dictionary containing detailed information about the repository.\n- Raises:\n  - `DockerHubExtractorError`: If there is an error fetching or parsing the repository details.\n\n##### `get_all_repositories_details(self) -\u003e list`\n\n- Fetches detailed information for all repositories of the given Docker Hub user.\n- Returns:\n  - `list`: A list of dictionaries containing detailed information about each repository.\n- Raises:\n  - `DockerHubExtractorError`: If there is an error fetching or processing the repository details.\n\n#### `DockerHubExtractorError`\n\nCustom exception class for `DockerHubExtractor` errors.\n\n\u003cbr /\u003e\n\u003cp align=\"right\"\u003e\u003ca href=\"https://wolfsoftware.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Created%20by%20Wolf%20on%20behalf%20of%20Wolf%20Software-blue?style=for-the-badge\" /\u003e\u003c/a\u003e\u003c/p\u003e\n","funding_links":["https://github.com/sponsors/WolfSoftware","https://github.com/sponsors/TGWolf"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperstoolbox%2Fdockerhub-extractor-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveloperstoolbox%2Fdockerhub-extractor-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloperstoolbox%2Fdockerhub-extractor-package/lists"}