$ show Southpaw-TACTIC/TACTIC
TACTIC is an open-source enterprise workflow and digital asset management (DAM) platform, primarily targeting media and entertainment production pipelines. It provides a full-stack web application built on CherryPy/Cheroot, featuring a custom widget framework, a client-server API (XML-RPC/REST), and a database abstraction layer supporting PostgreSQL, MySQL, Oracle, SQLite, and SQL Server. The system manages assets, shots, tasks, pipelines, check-ins, and user permissions, with integrations for DCC tools like Maya, Houdini, and Nuke. The architecture is monolithic, with a Python backend serving a JavaScript-heavy frontend (MooTools-based, with some React components). Key entry points include the web server (CherryPy adapter), the client library (`TacticServerStub`), and command/trigger systems for business logic. The codebase is large and feature-rich but carries significant technical debt: bundled third-party libraries for multiple Python versions (2, 3.6, 3.x), deprecated modules, hardcoded paths, and inconsistent coding styles. Despite active development (recent commits), the drift from modern Python and library ecosystems is high, making long-term maintenance challenging.
The LLM identified 3 files worth highlighting for reuse:
Provides a `Watermark` class for applying text or image watermarks to images with configurable opacity, position, and rotation. Uses PIL/Pillow and is self-contained with no TACTIC-specific dependencies, making it extractable for any Python project needing watermark functionality.
Implements a `DelegateCmd` that dynamically dispatches method calls to a source control backend (Perforce or Subversion) based on JSON arguments. This pattern decouples command execution from SCM implementation and can be reused to build similar delegation layers for other external systems.
Bundled third-party library providing `Scheduler`, `Timer`, `Stopwatch`, and `BackoffDelay` utilities for timing and retry logic. These are well-tested, standalone classes that can be extracted and used in any Python project for scheduling periodic tasks or measuring execution time.