{"id":20670534,"url":"https://github.com/metron-project/mokkari","last_synced_at":"2026-04-25T20:03:23.295Z","repository":{"id":37035986,"uuid":"367763923","full_name":"Metron-Project/mokkari","owner":"Metron-Project","description":"Python wrapper for Metron API ","archived":false,"fork":false,"pushed_at":"2026-04-25T18:50:51.000Z","size":3450,"stargazers_count":15,"open_issues_count":3,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-25T19:24:28.130Z","etag":null,"topics":["comic","comicbook","comics","python","rest-api"],"latest_commit_sha":null,"homepage":"","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/Metron-Project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-05-16T01:47:14.000Z","updated_at":"2026-04-25T18:48:28.000Z","dependencies_parsed_at":"2026-03-23T20:02:34.693Z","dependency_job_id":null,"html_url":"https://github.com/Metron-Project/mokkari","commit_stats":{"total_commits":316,"total_committers":1,"mean_commits":316.0,"dds":0.0,"last_synced_commit":"cd5a6a40cd7c2a0083fb01de74305c1fb5f6b23f"},"previous_names":["bpepple/mokkari"],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/Metron-Project/mokkari","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metron-Project%2Fmokkari","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metron-Project%2Fmokkari/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metron-Project%2Fmokkari/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metron-Project%2Fmokkari/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Metron-Project","download_url":"https://codeload.github.com/Metron-Project/mokkari/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metron-Project%2Fmokkari/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32274987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["comic","comicbook","comics","python","rest-api"],"created_at":"2024-11-16T20:21:27.399Z","updated_at":"2026-04-25T20:03:23.291Z","avatar_url":"https://github.com/Metron-Project.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mokkari\n\n[![PyPI - Version](https://img.shields.io/pypi/v/mokkari.svg)](https://pypi.org/project/mokkari/)\n[![PyPI - Python](https://img.shields.io/pypi/pyversions/mokkari.svg)](https://pypi.org/project/mokkari/)\n[![Ruff](https://img.shields.io/badge/Linter-Ruff-informational)](https://github.com/charliermarsh/ruff)\n[![Pre-Commit](https://img.shields.io/badge/Pre--Commit-Enabled-informational?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n\nA python wrapper for the [Metron Comic Book Database](https://metron.cloud) API.\n\n## Installation\n\n```bash\npip install mokkari\n```\n\n## Example Usage\n\n```python\nimport mokkari\n\n# Your own config file to keep your credentials secret\nfrom config import username, password\n\nm = mokkari.api(username, password)\n\n# Get all Marvel comics for the week of 2021-06-07\nthis_week = m.issues_list({\"store_date_range_after\": \"2021-06-07\", \"store_date_range_before\": \"2021-06-13\", \"publisher_name\": \"marvel\"})\n\n# Print the results\nfor i in this_week:\n    print(f\"{i.id} {i.issue_name}\")\n\n# Retrieve the detail for an individual issue\n    asm_68 = m.issue(31660)\n\n# Print the issue Description\nprint(asm_68.desc)\n```\n\n## Rate Limiting\n\nThe API has rate limits of 20 requests per minute and 5,000 requests per day.\nMokkari automatically enforces these limits locally to prevent unnecessary API\ncalls. When a rate limit is exceeded, a `RateLimitError` is raised.\n\n### Handling Rate Limits\n\nThe `RateLimitError` includes a `retry_after` attribute that tells you exactly\nhow many seconds to wait before making another request:\n\n```python\nimport mokkari\nfrom mokkari.exceptions import RateLimitError\nimport time\n\nm = mokkari.api(username, password)\n\ntry:\n    issue = m.issue(31660)\nexcept RateLimitError as e:\n    # Display user-friendly message\n    print(f\"Rate limited: {e}\")\n\n    # Programmatically wait for the exact time needed\n    print(f\"Waiting {e.retry_after} seconds...\")\n    time.sleep(e.retry_after)\n\n    # Retry the request\n    issue = m.issue(31660)\n```\n\n## Documentation\n\n[Read the project documentation](https://mokkari.readthedocs.io/en/stable/?badge=latest)\n\n## Bugs/Requests\n\nPlease use the\n[GitHub issue tracker](https://github.com/Metron-Project/mokkari/issues) to\nsubmit bugs or request features.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetron-project%2Fmokkari","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetron-project%2Fmokkari","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetron-project%2Fmokkari/lists"}