{"id":48097001,"url":"https://github.com/blisspixel/unpackr","last_synced_at":"2026-04-04T15:37:09.791Z","repository":{"id":209745693,"uuid":"724307544","full_name":"blisspixel/unpackr","owner":"blisspixel","description":"Unpackr is a local CLI tool that repairs and extracts multipart archives, validates video integrity, organizes output, and cleans up leftovers conservatively. Designed for unattended runs on messy folders with clear logs and a dry-run mode.","archived":false,"fork":false,"pushed_at":"2026-02-14T23:23:04.000Z","size":928,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-14T23:26:18.340Z","etag":null,"topics":[],"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/blisspixel.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":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-27T20:20:52.000Z","updated_at":"2026-02-14T23:23:07.000Z","dependencies_parsed_at":"2023-12-05T00:28:25.100Z","dependency_job_id":null,"html_url":"https://github.com/blisspixel/unpackr","commit_stats":null,"previous_names":["blisspixel/unpackr"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/blisspixel/unpackr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blisspixel%2Funpackr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blisspixel%2Funpackr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blisspixel%2Funpackr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blisspixel%2Funpackr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blisspixel","download_url":"https://codeload.github.com/blisspixel/unpackr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blisspixel%2Funpackr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"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":[],"created_at":"2026-04-04T15:37:08.420Z","updated_at":"2026-04-04T15:37:09.748Z","avatar_url":"https://github.com/blisspixel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unpackr\n\nUnpackr is a Windows automation tool for processing Usenet-style download folders with safety-first, predictable behavior.\n\n## Why Unpackr\n\n- Reduces manual cleanup: verify, extract, validate, move, and clean in one run.\n- Keeps risky operations explicit: fail-closed behavior, preflight checks, and dry-run support.\n- Built for operators: clear exit codes, diagnostics, and CI-tested behavior.\n\n## Requirements\n\n- Windows\n- Python `3.11+`\n- Required: [7-Zip](https://www.7-zip.org/)\n- Recommended: [par2cmdline](https://github.com/Parchive/par2cmdline), [ffmpeg](https://ffmpeg.org/)\n\nMinimum supported versions:\n- `7z`: `22.0+` (required)\n- `par2`: `0.8.1+` (recommended)\n- `ffmpeg`: `4.4+` (recommended)\n\n## Install\n\n```bash\npip install -e .\nunpackr-doctor\n```\n\nRun `unpackr-doctor` before live processing and resolve blocking issues first.\n\n## Quick Start\n\n```bash\n# Preview only (no file changes)\nunpackr \"G:\\Downloads\" \"G:\\Videos\" --dry-run\n\n# Show plan and exit\nunpackr \"G:\\Downloads\" \"G:\\Videos\" --show-plan\n\n# Live run\nunpackr \"G:\\Downloads\" \"G:\\Videos\"\n```\n\nNamed arguments are also supported:\n\n```bash\nunpackr --source \"G:\\Downloads\" --destination \"G:\\Videos\"\n```\n\n## Safety\n\nUnpackr is intended to clean messy download folders and produce clean, validated video outputs.\nIt can perform destructive actions during live runs. Use at your own risk, and run `--dry-run` first.\n\n- Can delete junk, samples, corrupt videos, and empty processed folders.\n- Uses conservative decision rules when state is uncertain.\n- Handles cancellation (`Ctrl+C`) with guarded shutdown behavior.\n\nPolicy details and limits: [docs/SAFETY.md](docs/SAFETY.md)\n\n## Legal And Compliance Notice\n\nOnly use Unpackr on files you are allowed to handle.\n\nYou are responsible for following the laws, licenses, and rules that apply to your setup (including copyright, privacy, and retention requirements).\n\nUnpackr can move and permanently delete files. You are responsible for backups and for reviewing planned actions before live use.\n\nThis project is a technical tool, not legal advice, and is provided \"as is.\" See `LICENSE` for full terms.\n\n## Tooling And Exit Codes\n\n- `unpackr`: processing pipeline\n- `unpackr-doctor`: environment and dependency checks\n- `vhealth`: post-run video health checks\n\nExit semantics:\n- `unpackr-doctor`: `0` ready, `1` blocked\n- `unpackr`: non-zero on validation/setup/processing failures\n- `vhealth`: non-zero on invalid input/runtime errors\n\nDoctor JSON output: [docs/DOCTOR_JSON.md](docs/DOCTOR_JSON.md)\n\n## Documentation\n\nDetailed documentation is in [`docs/`](docs/README.md).\n\n- [Docs Index](docs/README.md)\n- [Roadmap](ROADMAP.md)\n- [Configuration](docs/CONFIGURATION.md)\n- [Safety](docs/SAFETY.md)\n- [CLI Presentation](docs/CLI_PRESENTATION.md)\n- [Troubleshooting](docs/TROUBLESHOOTING.md)\n- [Technical Notes](docs/TECHNICAL.md)\n- [Quality Gates](docs/QUALITY.md)\n- [Build And Install](docs/BUILD.md)\n- [Changelog](docs/CHANGELOG.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblisspixel%2Funpackr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblisspixel%2Funpackr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblisspixel%2Funpackr/lists"}