{"id":49223634,"url":"https://github.com/niko-at-chalupa/nikos-rule34-wrapper","last_synced_at":"2026-04-24T05:38:52.216Z","repository":{"id":345295168,"uuid":"1180904103","full_name":"niko-at-chalupa/nikos-rule34-wrapper","owner":"niko-at-chalupa","description":"Python wrapper/downloader for rule34.xxx","archived":false,"fork":false,"pushed_at":"2026-03-18T13:11:42.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-19T03:40:40.639Z","etag":null,"topics":["hentai","hentai-downloader","nsfw","rule34-api","rule34-downloader","rule34api","rule34xxx"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/niko-at-chalupa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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":"2026-03-13T14:35:57.000Z","updated_at":"2026-03-18T13:11:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/niko-at-chalupa/nikos-rule34-wrapper","commit_stats":null,"previous_names":["niko-at-chalupa/nikos-rule34-wrapper"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/niko-at-chalupa/nikos-rule34-wrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niko-at-chalupa%2Fnikos-rule34-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niko-at-chalupa%2Fnikos-rule34-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niko-at-chalupa%2Fnikos-rule34-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niko-at-chalupa%2Fnikos-rule34-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/niko-at-chalupa","download_url":"https://codeload.github.com/niko-at-chalupa/nikos-rule34-wrapper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niko-at-chalupa%2Fnikos-rule34-wrapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32211381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T03:15:14.334Z","status":"ssl_error","status_checked_at":"2026-04-24T03:15:11.608Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["hentai","hentai-downloader","nsfw","rule34-api","rule34-downloader","rule34api","rule34xxx"],"created_at":"2026-04-24T05:38:51.512Z","updated_at":"2026-04-24T05:38:52.208Z","avatar_url":"https://github.com/niko-at-chalupa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Niko's Rule34 Wrapper\n\u003c/div\u003e\n\n\u003e [!WARNING]\n\u003e The service this pulls media from is an NSFW service!!\n\n\u003e [!IMPORTANT]\n\u003e This is still work in progress!! Bugs WILL show up!!\n\nA python wrapper/downloader for rule34.xxx!!\n\n## Features\n\u003e - **CLI Interface** -\n\u003e Command-line tool for searching and listing posts from rule34.xxx with customizable tags and limits.\n\n\u003e - **Unlimited Fetching** -\n\u003e Supports fetching unlimited posts by paginating through API results (bypasses the 1000-post per-request limit).\n\n\u003e - **Pool Support** -\n\u003e Fetch posts from specific pools. I don't know of any other wrappers/downloaders that support pools.\n\n\u003e - **`tag_info` support** -\n\u003e Supports rule34's tag info stuff. This means that tags can be catagorized by their type *(general, artist, character...)*.\n\n## Installation\n\n\u003cdetails\u003e\u003csummary\u003ePrerequisites\u003c/summary\u003e\n\n- Python 3.8 or higher\n- API key and user ID from [api.rule34.xxx](https://api.rule34.xxx/)\n\nOptional for enhanced UI:\n- rich\n\n---\n\u003c/details\u003e\n\n\u003e [!NOTE]\n\u003e This *should* work on Windows. Otherwise, open an issue!\n\n\u003e Installation through PyPi *(if you're also using this as a library)*:\n\u003e ```bash\n\u003e pip install nikos-rule34-wrapper rich # rich is optional\n\u003e ```\n\n\u003e Installation through pipx *(if you're only using this to download posts and stuff)*:\n\u003e ```bash\n\u003e pipx install nikos-rule34-wrapper \u0026\u0026 pipx inject nikos-rule34-wrapper rich # rich is optional\n\u003e ```\n\nTested on:\n- Linux *(Ubuntu)*\n- MacOS *(Tahoe)*\n- Termux *(although some extra setup is done for dependancies)*\n\n## Usage\n\nRun the CLI tool:\n\n```bash\npython -m rule34 --tags \"-ai_generated -scat -3d kasane_teto\" --limit 100 --download --destination /path/to/download/\n```\n...or if you installed with `pipx`, replace `python -m rule34` with just `rule34` *(`rule34 --tags \"-ai_gener...`)*\n\n### Arguments\n- `--tags` *(optional)*: Search tags *(e.g., \"vocaloid\", \"sort:score\", \"-ai_generated\")*. One of --tags, --pool-id, or --favorites-user-id must be specified.\n- `--pool-id` *(optional)*: Pool ID to fetch posts from.\n- `--favorites-user-id` *(optional)*: User ID to fetch favorites from.\n- `--limit` *(optional)*: Number of posts to fetch *(default 200, 0 for unlimited)*.\n- `--download` *(flag)*: Enable downloading of posts.\n- `--destination` *(required if downloading)*: Path to save downloaded files.\n- `--reset-credentials` *(flag)*: Prompt to re-enter API credentials.\n\n### First Run\nOn first use, you'll be prompted for your API key and user ID. These are stored securely and reused in future runs.\n\n### Examples\n\n\u003e [!NOTE]\n\u003e If you installed through `pipx`, remember to replace `python -m rule34` with `rule34`.\n\n\u003e [!IMPORTANT]\n\u003e Some systems use `python3` instead of `python`. Try that if this doesn't work. This doesn't apply to those using `pipx`!\n\n- List posts without downloading:\n  ```bash\n  python -m rule34 --tags \"kasane_teto sort:score\" --limit 50\n  ```\n\n- Download unlimited posts:\n  ```bash\n  python -m rule34 --tags \"kasane_teto\" --limit 0 --download --destination ./downloads # WILL download many files!!! It's okay to terminate with ctrl+C.\n  ```\n\n- Reset credentials:\n  ```bash\n  python -m rule34 --tags \"kasane_teto sort:score\" --reset-credentials --print-posts --taginfo # Will prompt for credentials before listing\n  ```\n\n- Fetch posts from a pool:\n  ```bash\n  python -m rule34 --pool-id 12345 --limit 50 --download --destination ./pool_downloads\n  ```\n\n- Fetch posts from user favorites:\n  ```bash\n  python -m rule34 --favorites-user-id 4525852 --limit 100\n  ```\n\n## API Reference\n\n```python\nfrom rule34 import Client\n\nclient = Client(\"your_api_key\", \"your_user_id\")\nposts = client.list_posts(\"kasane_teto\", limit=100)\nfor post in posts:\n    print(post.file_url)\n```\n\nSee `client.py` for full method details.\n\n## Contributing\nContributions are welcome!!! PLEASE open an issue or submit a pull request!!!\n\n## Planned features\n\u003e - [ ] Httpx instead of requests\n\n\u003e - [ ] Async support\n\n\u003e - [x] PyPi package \n\u003e\n\u003e Published at https://pypi.org/project/nikos-rule34-wrapper/!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniko-at-chalupa%2Fnikos-rule34-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniko-at-chalupa%2Fnikos-rule34-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniko-at-chalupa%2Fnikos-rule34-wrapper/lists"}