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.

PyPI


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:

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

Distribution

  • Improve PyPI metadata and documentation
  • Add release automation

Technical Details

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

Installation

Archivator is available on PyPI:

pip install 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.4.tar.gz (36.8 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.4-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: archivator-0.1.4.tar.gz
  • Upload date:
  • Size: 36.8 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.4.tar.gz
Algorithm Hash digest
SHA256 e57efe2dc6434d4fa567e47fe4b616521daae10464526fc5bf22b5670ab52815
MD5 61a11a526d77ff55d0eb5d13295d97bc
BLAKE2b-256 67fc63be6d7791bb9ed200c6d08d339ba369b26f797c6a0d5da724583ab89a65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: archivator-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 42.9 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 469306e2f1d0b8039a6babc908f246d3f59dcce41f2601a2366e041092a0d1a9
MD5 b7e388002214956ed94804fd5edb5002
BLAKE2b-256 7e37e8f6c2879ab5928ab56ecae036c079aea9b545dad955e15cd16cdedcc846

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