MCPcopy Index your code
hub / github.com/Unmanic/unmanic

github.com/Unmanic/unmanic @0.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.4.0 ↗ · + Follow
1,284 symbols 5,152 edges 170 files 696 documented · 54%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Unmanic - Library Optimiser

UNMANIC - Library Optimiser

Buy Me a Coffee at ko-fi.com

GitHub tag (latest by date) GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests

Docker Stars Docker Pulls Docker Image Size (tag)

GitHub Actions Workflow Status GitHub Actions Workflow Status

GitHub license

Unmanic 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.

Simply configure Unmanic pointing it at your library and let it automatically manage that library for you.

Unmanic provides you with the following main functions:

  • 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.
  • 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.
  • A handler to manage running multiple file manipulation tasks at a time.
  • A Web UI to easily configure, manage and monitor the progress of your library optimisation.

You choose how you want your library to be.

Some examples of how you may use Unmanic:

  • Transcode video or audio files into a uniform format using FFmpeg.
  • Identify (and remove if desired) commercials in DVR recordings shortly after they have completed being recorded.
  • Move files from one location to another after a configured period of time.
  • Automatically execute FileBot rename files in your library as they are added.
  • Compress files older than a specified age.
  • Run any custom command against files matching a certain extension or above a configured file size.

Table Of Contents

Dependencies

Screen-shots * Dashboard * File metrics * Installed plugins

Install and Run

License and Contribution

Dependencies

  • Python 3.x (Install)
  • To install requirements run 'python3 -m pip install -r requirements.txt' from the project root

Since 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.

Screen-shots

Dashboard:

Screen-shot - Dashboard

File metrics:

Screen-shot - Desktop

Installed plugins:

Screen-shot - Desktop

Install and Run

For up-to-date installation instructions, follow the Unmanic documentation.

To run from source:

1) Install the Python dependencies listed above then run: 2) Run: ``` # Ensure the submodules are checked out git submodule update --init --recursive

# Build and install the project into your home directory
python3 ./setup.py install --user

# Run Unmanic
unmanic
```

3) Open your web browser and navigate to http://localhost:8888/

License and Contribution

This projected is licensed under the GPL version 3.

Copyright (C) Josh Sunnex - All Rights Reserved

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

This project contains libraries imported from external authors. Please refer to the source of these libraries for more information on their respective licenses.

See CONTRIBUTING.md to learn how to contribute to Unmanic.


Core symbols most depended-on inside this repo

get
called by 521
unmanic/libs/metadata.py
get
called by 294
unmanic/webserver/api_v2/base_api_handler.py
get
called by 229
unmanic/libs/installation_link.py
append
called by 169
unmanic/libs/fileinfo.py
get
called by 168
unmanic/webserver/api_v1/plugins_api.py
set_status
called by 154
unmanic/libs/task.py
write_error
called by 136
unmanic/webserver/api_v2/base_api_handler.py
info
called by 116
unmanic/libs/system.py

Shape

Method 915
Class 242
Function 127

Languages

Python100%

Modules by API surface

unmanic/webserver/api_v2/schema/schemas.py85 symbols
unmanic/libs/installation_link.py54 symbols
unmanic/config.py49 symbols
unmanic/libs/task.py46 symbols
unmanic/libs/logs.py46 symbols
unmanic/libs/plugins.py41 symbols
unmanic/libs/foreman.py37 symbols
unmanic/libs/session.py35 symbols
unmanic/libs/library.py33 symbols
unmanic/libs/workers.py31 symbols
unmanic/libs/unplugins/pluginscli.py26 symbols
unmanic/webserver/websocket.py24 symbols

For agents

$ claude mcp add unmanic \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact