{"id":15037878,"url":"https://github.com/unmanic/unmanic","last_synced_at":"2025-05-14T10:12:10.953Z","repository":{"id":37384642,"uuid":"164245672","full_name":"Unmanic/unmanic","owner":"Unmanic","description":"Unmanic - Library Optimiser","archived":false,"fork":false,"pushed_at":"2025-03-19T20:05:08.000Z","size":36479,"stargazers_count":1764,"open_issues_count":184,"forks_count":89,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-05T00:01:34.598Z","etag":null,"topics":["hacktoberfest"],"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/Unmanic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"docs/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},"funding":{"github":"Josh5","patreon":"Josh5","open_collective":null,"ko_fi":"josh5coffee","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-01-05T19:40:36.000Z","updated_at":"2025-04-04T22:38:06.000Z","dependencies_parsed_at":"2023-02-09T02:01:10.593Z","dependency_job_id":"482ddc40-2525-4265-b72e-b2d2a6e03602","html_url":"https://github.com/Unmanic/unmanic","commit_stats":null,"previous_names":["josh5/unmanic"],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unmanic%2Funmanic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unmanic%2Funmanic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unmanic%2Funmanic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unmanic%2Funmanic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Unmanic","download_url":"https://codeload.github.com/Unmanic/unmanic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248509963,"owners_count":21116125,"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","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":["hacktoberfest"],"created_at":"2024-09-24T20:36:11.087Z","updated_at":"2025-04-12T02:54:49.838Z","avatar_url":"https://github.com/Unmanic.png","language":"Python","funding_links":["https://github.com/sponsors/Josh5","https://patreon.com/Josh5","https://ko-fi.com/josh5coffee","https://ko-fi.com/I2I21F8E1'"],"categories":[],"sub_categories":[],"readme":"Unmanic - Library Optimiser  \n===========================\n\n![UNMANIC - Library Optimiser](https://github.com/unmanic/unmanic/raw/master/logo.png)\n\n\u003ca href='https://ko-fi.com/I2I21F8E1' target='_blank'\u003e\u003cimg height='26' style='border:0px;height:26px;' src='https://cdn.ko-fi.com/cdn/kofi1.png?v=2' border='0' alt='Buy Me a Coffee at ko-fi.com' /\u003e\u003c/a\u003e\n\n[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/unmanic/unmanic?color=009dc7\u0026label=latest%20release\u0026logo=github\u0026logoColor=%23403d3d\u0026style=flat-square)](https://github.com/unmanic/unmanic/releases)\n[![GitHub issues](https://img.shields.io/github/issues-raw/unmanic/unmanic?color=009dc7\u0026logo=github\u0026logoColor=%23403d3d\u0026style=flat-square)](https://github.com/unmanic/unmanic/issues?q=is%3Aopen+is%3Aissue)\n[![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/unmanic/unmanic?color=009dc7\u0026logo=github\u0026logoColor=%23403d3d\u0026style=flat-square)](https://github.com/unmanic/unmanic/issues?q=is%3Aissue+is%3Aclosed)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr-raw/unmanic/unmanic?color=009dc7\u0026logo=github\u0026logoColor=%23403d3d\u0026style=flat-square)](https://github.com/unmanic/unmanic/pulls?q=is%3Aopen+is%3Apr)\n[![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed-raw/unmanic/unmanic?color=009dc7\u0026logo=github\u0026logoColor=%23403d3d\u0026style=flat-square)](https://github.com/unmanic/unmanic/pulls?q=is%3Apr+is%3Aclosed)\n\n[![Docker Stars](https://img.shields.io/docker/stars/josh5/unmanic?color=009dc7\u0026logo=docker\u0026logoColor=%23403d3d\u0026style=for-the-badge)](https://hub.docker.com/r/josh5/unmanic)\n[![Docker Pulls](https://img.shields.io/docker/pulls/josh5/unmanic?color=009dc7\u0026logo=docker\u0026logoColor=%23403d3d\u0026style=for-the-badge)](https://hub.docker.com/r/josh5/unmanic)\n[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/josh5/unmanic/latest?color=009dc7\u0026label=docker%20image%20size\u0026logo=docker\u0026logoColor=%23403d3d\u0026style=for-the-badge)](https://hub.docker.com/r/josh5/unmanic)\n\n\n\n\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/Unmanic/unmanic/python_lint_and_run_unit_tests.yml?branch=master\u0026style=flat-square\u0026logo=github\u0026logoColor=403d3d\u0026label=Unit%20Tests)](https://github.com/Unmanic/unmanic/actions/workflows/python_lint_and_run_unit_tests.yml?query=branch%3Amaster)\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/Unmanic/unmanic/integration_test_and_build_all_packages_ci.yml?branch=master\u0026style=flat-square\u0026logo=github\u0026logoColor=403d3d\u0026label=Package%20Build)](https://github.com/Unmanic/unmanic/actions/workflows/integration_test_and_build_all_packages_ci.yml?query=branch%3Amaster)\n\n[![GitHub license](https://img.shields.io/github/license/unmanic/unmanic?color=009dc7\u0026style=flat-square)]()\n---\n\nUnmanic is a simple tool for optimising your file library. You can use it to convert your files into a single, uniform format, manage file movements based on timestamps, or execute custom commands against a file based on its file size.\n\nSimply configure Unmanic pointing it at your library and let it automatically manage that library for you.\n\nUnmanic provides you with the following main functions:\n\n- A scheduler built in to scan your whole library for files that do not conform to your configured file presets. Files found requiring processing are then queued.\n- A file/directory monitor. When a file is modified, or a new file is added in your library, Unmanic is able to again test that against your configured file presets. Like the first function, if this file requires processing, it is added to a queue for processing.\n- A handler to manage running multiple file manipulation tasks at a time.\n- A Web UI to easily configure, manage and monitor the progress of your library optimisation.\n\nYou choose how you want your library to be.\n\nSome examples of how you may use Unmanic:\n\n- Transcode video or audio files into a uniform format using FFmpeg.\n- Identify (and remove if desired) commercials in DVR recordings shortly after they have completed being recorded.\n- Move files from one location to another after a configured period of time.\n- Automatically execute FileBot rename files in your library as they are added.\n- Compress files older than a specified age.\n- Run any custom command against files matching a certain extension or above a configured file size.\n\n### Table Of Contents\n\n[Dependencies](#dependencies)\n\n[Screen-shots](#screen-shots)\n  * [Dashboard](#dashboard)\n  * [File metrics](#file-metrics)\n  * [Installed plugins](#installed-plugins)\n\n[Install and Run](#install-and-run)\n\n[License and Contribution](#license-and-contribution)\n\n\n## Dependencies\n\n - Python 3.x ([Install](https://www.python.org/downloads/))\n - To install requirements run 'python3 -m pip install -r requirements.txt' from the project root\n\nSince Unmanic can be used for running any commands, you will need to ensure that the required dependencies for those commands are also installed on your system.\n\n## Screen-shots\n\n#### Dashboard:\n![Screen-shot - Dashboard](./docs/images/unmanic-dashboard-processing-anime.png)\n#### File metrics:\n![Screen-shot - Desktop](./docs/images/unmanic-file-size-data-panel-anime.png)\n#### Installed plugins:\n![Screen-shot - Desktop](./docs/images/unmanic-list-installed-plugins.png)\n\n## Install and Run\n\nFor up-to-date installation instructions, follow the [Unmanic documentation](https://docs.unmanic.app/docs/).\n\nTo run from source:\n\n1) Install the Python dependencies listed above then run:\n2) Run:\n    ```\n    # Ensure the submodules are checked out\n    git submodule update --init --recursive\n    \n    # Build and install the project into your home directory\n    python3 ./setup.py install --user\n    \n    # Run Unmanic\n    unmanic\n    ```\n3) Open your web browser and navigate to http://localhost:8888/\n\n## License and Contribution\n\nThis projected is licensed under th GPL version 3. \n\nCopyright (C) Josh Sunnex - All Rights Reserved\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n \nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nThis project contains libraries imported from external authors.\nPlease refer to the source of these libraries for more information on their respective licenses.\n\nSee [CONTRIBUTING.md](docs/CONTRIBUTING.md) to learn how to contribute to Unmanic.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funmanic%2Funmanic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funmanic%2Funmanic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funmanic%2Funmanic/lists"}