{"id":43522250,"url":"https://github.com/stefanbc/plexorcist","last_synced_at":"2026-02-03T14:34:38.476Z","repository":{"id":153807319,"uuid":"629977462","full_name":"stefanbc/plexorcist","owner":"stefanbc","description":"The Plexorcist banishes your binge-watching ghosts and unclutters your watched videos graveyard, bringing order and harmony to your Plex experience!","archived":false,"fork":false,"pushed_at":"2026-01-13T08:57:49.000Z","size":140,"stargazers_count":9,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T10:59:54.499Z","etag":null,"topics":["plex","plex-api","plex-clean","plex-library","plex-media-server","plex-server","plexmediaserver","python-script"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefanbc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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},"funding":{"ko_fi":"stefanbc"}},"created_at":"2023-04-19T12:14:38.000Z","updated_at":"2026-01-13T08:57:53.000Z","dependencies_parsed_at":"2024-02-27T09:54:36.992Z","dependency_job_id":null,"html_url":"https://github.com/stefanbc/plexorcist","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/stefanbc/plexorcist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanbc%2Fplexorcist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanbc%2Fplexorcist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanbc%2Fplexorcist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanbc%2Fplexorcist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefanbc","download_url":"https://codeload.github.com/stefanbc/plexorcist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanbc%2Fplexorcist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29047566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"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":["plex","plex-api","plex-clean","plex-library","plex-media-server","plex-server","plexmediaserver","python-script"],"created_at":"2026-02-03T14:34:37.567Z","updated_at":"2026-02-03T14:34:38.443Z","avatar_url":"https://github.com/stefanbc.png","language":"Python","readme":"[![Pylint](https://github.com/stefanbc/plexorcist/actions/workflows/pylint.yml/badge.svg)](https://github.com/stefanbc/plexorcist/actions/workflows/pylint.yml) [![Tests](https://github.com/stefanbc/plexorcist/actions/workflows/testing.yml/badge.svg)](https://github.com/stefanbc/plexorcist/actions/workflows/testing.yml) [![CodeQL](https://github.com/stefanbc/plexorcist/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/stefanbc/plexorcist/actions/workflows/github-code-scanning/codeql) [![Maintainability](https://qlty.sh/gh/stefanbc/projects/plexorcist/maintainability.svg)](https://qlty.sh/gh/stefanbc/projects/plexorcist) [![Code Coverage](https://qlty.sh/gh/stefanbc/projects/plexorcist/coverage.svg)](https://qlty.sh/gh/stefanbc/projects/plexorcist) [![codecov](https://codecov.io/gh/stefanbc/plexorcist/branch/main/graph/badge.svg?token=V78UV6TNSM)](https://codecov.io/gh/stefanbc/plexorcist) [![Known Vulnerabilities](https://snyk.io/test/github/stefanbc/plexorcist/badge.svg)](https://snyk.io/test/github/stefanbc/plexorcist)\n\n# Plexorcist\n\nThe Plexorcist banishes your binge-watching ghosts and unclutters your watched videos graveyard, bringing order and harmony to your Plex experience!\n\nIn other words it's a small Python script that cleans up any number of Plex Media Server libraries of all watched videos. Automatically delete watched episodes or movies, to clear up space on your Plex Media Server.\n\n## Disclaimer\n\nThis script should only be executed on a Plex Media Server that you have authorized access to, and only if you are certain that you want to perform a clean-up on specific libraries. It is important to note that the author of this script cannot be held accountable for any unintended loss of data. It is advised that you exercise great caution and prudence before utilizing this script.\n\n## Features\n\n- Suppport for multiple libraries (Movies and TV Shows only)\n- Movies and TV Shows whitelist\n- Remove only videos older than\n- Configurable via [config file](https://github.com/stefanbc/plexorcist/wiki/Configuration)\n- I18N (via config file) - [feeling fancy?](https://github.com/stefanbc/plexorcist/wiki/I18N-King-James-Version)\n- Logging\n  - Automatic creation and cleanup when file gets too big (1 MB)\n  - Logs the timestamp for all actions\n  - Logs the name of the Movie or TV Show (including episode title)\n  - Logs the space reclaimed after deletion\n  - Requests error handling\n- Pushbullet integration (via API key)\n- IFTTT integration (via webhook)\n- CSV report file (timestamp, number of deleted videos, GB reclaimed)\n\n## Installation\n\n### Recommended\n\nRun this command in your terminal\n\n```bash\nwget -qO - https://raw.githubusercontent.com/stefanbc/plexorcist/main/plexorcist.sh | bash\n```\n\n### Manually\n\nClone Plexorcist\n\n```bash\ngit clone https://github.com/stefanbc/plexorcist.git\n```\n\nOpen Plexorcist\n\n```bash\ncd plexorcist\n```\n\nInstall the dependencies\n\n```bash\npip install -r requirements.txt\n```\n\nGive permissions to Plexorcist\n\n```bash\nchmod +x plexorcist.py\n```\n\nBefore running Plexorcist for the first time please read the [Documentation](#documentation).\n\n## Documentation\n\n[Documentation](https://github.com/stefanbc/plexorcist/wiki)\n\n## Contributing\n\nContributions are always welcome!\n\nSee [CONTRIBUTING.md](https://github.com/stefanbc/plexorcist/blob/main/CONTRIBUTING.md) for ways to get started.\n\nPlease adhere to this project's [code of conduct](https://github.com/stefanbc/plexorcist/blob/main/CODE_OF_CONDUCT.md).\n\n## Contributors\n\n[\u003cimg src=\"https://github.com/stefanbc.png\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003ca href=\"https://github.com/stefanbc\"\u003estefanbc\u003c/a\u003e\u003c/sub\u003e](https://github.com/stefanbc/plexorcist)\n\n## License\n\n[Apache License 2.0](https://github.com/stefanbc/plexorcist/blob/main/LICENSE)\n","funding_links":["https://ko-fi.com/stefanbc"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanbc%2Fplexorcist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanbc%2Fplexorcist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanbc%2Fplexorcist/lists"}