Modular & Extensible Gen AI backend!
Project description
Exiv
Exiv is a fast, lightweight, and highly extensible AI backend engine designed for running, patching, and serving generative models and orchestrating workflows efficiently. Please check the docs for detailed guides, API references, and examples.
[!IMPORTANT] Exiv is currently in early beta. It's evolving fast—if you want to help shape the direction or contribute, check out the Contribution Guide.
If you want a GUI to interact with Exiv, check it out here.
✨ Feature Summary
🐍 Pure Python: Have complete control to modify any part of the framework. No complex compilation steps or opaque C++ bindings getting in your way.
🔪 Cutting Edge Models: Built to support state-of-the-art open-source GenAI models with optimized inference.
🪶 Low VRAM support: Exiv intelligently manages your VRAM and system memory, offloading models dynamically so you only use what you need, maximizing performance even on constrained hardware.
🔌 Plug & Play Extensions: Easily extend the engine's core capabilities by writing custom plugins. All features can be exposed via the JSON API server or embedded directly into your Python scripts.
🚀 Modular & Extensible: Core architecture is broken into conditionings and hooks, making it incredibly simple to build, debug, and extend.
☁️ Server & Workflow Ready: Ships with a built-in API server to easily host models and orchestrate complex generative workflows/logic.
🎨 Your Apps, Your Way: Seamlessly combine custom backend logic with your custom UIs to build exactly the generative tools you want.
🛠️ Installation
For a full guide and platform-specific requirements, please refer to the Installation Documentation.
Option A: Clone from Source (Recommended for hacking and dev)
If you want to modify the source code, build extensions, or contribute to Exiv:
git clone git@github.com:piyushK52/Exiv.git
cd Exiv
# Create and activate a virtual environment
python3 -m venv venv
source venv/bin/activate # Linux / macOS
# venv\Scripts\activate # Windows (Command Prompt)
# Install dependencies (including dev tools)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -e .[dev]
Option B: Install via PIP (Recommended for feature integration)
If you just want to use the stable version as a Python package and don't need to tinker with the codebase. In-built apps are not available in this mode.
pip install exiv
🚀 Quick Start
The fastest way to verify your installation and see Exiv in action is to run the simple text-to-video application. Note that this will require 20GB+ of model weights to be downloaded and is not available in the package mode.
# Run the simple T2V app with a custom prompt
python apps/simple_t2v.py --prompt "Cinematic shot of a Golden Retriever sprinting through a sunny park, 8k, motion blur."
Once the generation is complete, the path to the output video will be printed in your terminal.
❓ FAQs
Q: Why Exiv?
A: It's a modular and extensible engine written in pure Python, best for devs to build on top of or integrate into their own apps. The App building feature provides complete control to anyone to build their own apps on top of Exiv. Vibe coded UIs are supported as well. The design philosophy makes it extremely easy to understand the codebase and add new functionalities - everything is either a conditioning or a hook!
Q: How is this different from Diffusers?
A: While Diffusers is an incredibly robust and battle-tested library, it can feel opaque. Exiv is built for pure extensibility and a clean "whitebox" developer experience. Diffusers spreads its core logic across multiple massive libraries, whereas Exiv keeps everything—from memory offloading to zero-init logic—centralized in one lean codebase so you never have to go hunting to understand how things work. Instead of rigid monolithic pipelines and messy ad-hoc patching, Exiv uses granular hooks and a dedicated extension registry, giving you plug-and-play, surgical control over every step of the generation process.
Q: How is this different from ComfyUI?
A: Exiv is written in pure Python, meaning you construct, debug, and execute your logic using standard Python code rather than a node-based visual interface. This gives developers standard programmatic tools and testing capabilities that visual interfaces often abstract away. (Going forward there will be significant feature additions that will make the differentiation even more apparent).
Q: What's the roadmap?
A: Primary focus is to continuously integrate the latest models, but more importantly, we are dedicated to building opinionated research methods and cutting-edge inference optimizations natively into the engine.
Q: Why contribute to Exiv?
A: Since Exiv is still in its early stages, it's incredibly easy to grasp the core concepts of the codebase and make meaningful contributions right away. Because the project has a strong research focus, implementing novel methods or experimental optimizations here is a fantastic way to learn. Furthermore, your PRs are highly likely to be merged—I am very responsive, actively maintaining the project, and always excited to welcome new contributors!
🙌 Acknowledgements
A huge thank you to the open-source projects and developers whose incredible work laid the foundation for the AI image/video generation space. Exiv draws inspiration (and occasionally some math/logic adaptations) from:
And a special thanks to the broader OSS AI community for continuously pushing the boundaries of what is possible.
📜 License
This project is licensed under the GNU General Public License v3.0 (GPLv3).
What this means:
- Open Source Derivatives: Any modifications or derivative works based on this project must also be distributed under the GPLv3 license and made open source.
- Attribution and Credit: You must preserve all original copyright notices. Derivative works and distributions must prominently reference and give credit to Exiv.
For the full license text, please see the LICENSE file in the root of this repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exiv-0.2.tar.gz.
File metadata
- Download URL: exiv-0.2.tar.gz
- Upload date:
- Size: 157.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef60b8325f1ccb92ccccf97389254955968fefa607516b243dd5d5b506e5fb4c
|
|
| MD5 |
9d26d327907b28d9e92b39b65b5d9053
|
|
| BLAKE2b-256 |
71921f934a1dc0d0a00e29916b6949cc51c91833339f82d98014b800c3de1aac
|
File details
Details for the file exiv-0.2-py3-none-any.whl.
File metadata
- Download URL: exiv-0.2-py3-none-any.whl
- Upload date:
- Size: 182.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29dc3c62bddb479f93cdd2fe3ae4401e69769cfbc319761507dd27643ebf96b0
|
|
| MD5 |
e108d51a9bcdc104d9bd1c01b11b7bd1
|
|
| BLAKE2b-256 |
9ee59d051320aba86d0c1c23ddad8a5f06264f55358e2f1a004a19c1dc50615c
|