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.1.tar.gz (36.1 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.1-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: archivator-0.1.1.tar.gz
  • Upload date:
  • Size: 36.1 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.1.tar.gz
Algorithm Hash digest
SHA256 15ee67e1b5c133f0aef6647774eead3db1069da325ba22bc40626f6e19fcaf93
MD5 87ecad3557678a745dedb447ead63b30
BLAKE2b-256 7433d9616da2d4fed8dace30b7276ec43fd14c756986e6c45a1f4599120a917a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: archivator-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 42.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a89aeb8f864b87a952d3daf537923b0fdbbb428aad1a3b2599e103c67f296fb9
MD5 26dd8b4c4a45264dfeb1dd8f4ac911a7
BLAKE2b-256 47f8a14d84f397bf798d84a904cf01a5327a8b179a99ae6ebf221f53b20dce3c

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