Skip to main content

Project-based archive and trash manager for VFX pipelines

Project description

Archivator

A project-based storage and trash management tool designed for VFX pipelines.

Archivator provides a structured way to manage multiple projects, each with its own storage and dedicated trash system — enabling safe deletion, recovery, and future automation of cleanup workflows.


Overview

Archivator acts as a centralized storage manager where each project is defined by:

  • A Project Root (active working directory)
  • A Trash Directory (safe deletion zone)

Instead of permanently deleting files, tools can move them to a project-specific trash folder, allowing recovery and controlled cleanup.


Features

  • Manage multiple projects
  • Per-project trash directories
  • Add, edit, and remove projects
  • Search projects by name
  • Custom project thumbnails
  • Open project or trash in file explorer
  • Empty trash safely per project
  • Basic CLI support (work in progress)

Screenshots

Project Browser

image

Project Settings

archivator_2

Example Integration

Archivator is designed to integrate with production tools.

A reference implementation is available via the Prism plugin:

👉 https://github.com/ClaireBenes/PrismPlugin-TrashManager

This plugin demonstrates how Archivator can be used as a backend to:

  • Redirect file deletion to a safe trash system
  • Restore deleted files
  • Provide direct access to project trash from within a DCC pipeline

Data & Architecture

Archivator relies on a lightweight, filesystem-based approach for managing data and state.

Persistence

The system maintains a persistent state through two main mechanisms:

  • Project Registry (JSON)
    A central configuration file stores all registered projects, including their root paths, trash directories, and metadata.

  • Per-File Metadata (.archivator.json)
    When files are moved to trash, associated metadata files are created to store:

    • Original file path
    • Deletion date
    • Grouping information (for related files)

This approach keeps the system simple, transparent, and easy to inspect or modify without requiring a database.


Execution Model

Archivator currently operates in an on-demand mode:

  • Actions such as move to trash and restore are executed immediately
  • No background processing or job queue is implemented yet

This design keeps the tool lightweight while allowing future extension toward more advanced workflows.


Configuration Granularity (Planned)

Configuration is currently defined at the project level, but the system is designed to support more granular rules in the future.

Planned extensions include:

  • Rules based on file types (e.g. .exr, .ma, .abc)
  • Context-aware behavior (e.g. render vs compositing outputs)
  • Department-specific configurations

Example use case:

  • Limit the number of stored versions for heavy render outputs (EXR)
  • Keep more history for lighter or critical files

Future Architecture

Archivator is currently a local application, but a client/server architecture is being considered for future development.

This would enable:

  • Centralized file analysis and cleanup
  • Background processing (scheduler-based tasks)
  • Better permission and access management
  • Integration via APIs (e.g. REST) with external tools such as Prism

This evolution would allow Archivator to scale from a local tool to a more production-ready pipeline service.


Roadmap

Planned improvements include:

Packaging

  • Distribute Archivator as a pip-installable package
  • Remove need for local path dependencies in integrations

Automated Cleanup System

  • Detect unused or unreferenced files
  • Move candidates to trash safely
  • Configurable rules:
    • Target directories
    • Time-based thresholds
    • Dependency validation

Pipeline Intelligence

  • Non-destructive cleanup workflows
  • Smarter file analysis to prevent breaking projects

Technical Details

  • Python 3.11
  • PySide6 (Qt-based UI)
  • Windows (currently supported platform)

Installation (Current)

Archivator is not yet packaged.

Clone the repository and run locally:

git clone https://github.com/ClaireBenes/Archivator

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

archivator-0.1.2.tar.gz (36.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

archivator-0.1.2-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file archivator-0.1.2.tar.gz.

File metadata

  • Download URL: archivator-0.1.2.tar.gz
  • Upload date:
  • Size: 36.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for archivator-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8f20f2ea2abb34eb7a83737dc2ce95b20c21fc6757e9f2871b2aaa6dfd362afb
MD5 753e24bff1017786fb302834c66110bc
BLAKE2b-256 fe5555fdfec9ce5ec2dae8934ba23be6e82b079e842b9b549c229e57e095d791

See more details on using hashes here.

File details

Details for the file archivator-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: archivator-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 42.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for archivator-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3aee846a3bc90a09490eef144eb0e8b679cdd4bbf53f9aa5ebc8e4e59cab3f18
MD5 2fb2aff3f96dbb2a0945ccde935242bb
BLAKE2b-256 ed2354ce46bc9ebfd8ee3904bbc99e0936b45c5989e2c4cddd05e9be31b57f00

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page