Skip to main content

📦 ObjektViz

ObjektViz Screenshot

ObjektViz is a visualizer for object-centric process models that enables users to explore and analyze even very complex processes involving multiple interacting objects.

Features

  • 🔍 Interactive Visualization: Explore object-centric process models with intuitive visualizations.
  • 🤝 Multi-Object Support: Analyze processes involving multiple interacting objects seamlessly.
  • ⚙️ Customizable: Every dataset, every process is different. ObjektViz allows you to customize visualizations to fit your data.
  • 🧩 Manage Complexity: Designed to handle very complex processes without overwhelming the user.
  • ▶️ Token Replay: Replay the flow of tokens through the process to understand dynamics and interactions, even for multi-object scenarios.
  • 🔄 Morphing Visualizations: Smoothly transition between different views and representations of the process model to understand various aspects of the data.

Quick Start

ObjektViz has a lot of customization, and is built with the idea that you as a user will compose your own dashboard for the analysis you have at hand. However, to get you started quickly, we provide some example dashboards that you can run and explore.

In the examples we use KuzuDB, which works fine for small examples and the setup is easy. For real-world datasets, you might use Neo4J, but that requires more setup. We have exported and processed some OCEL datasets into EKG and generated aggregated views (i.e. process models) for you to explore in the examples.

Installation using pypi package

  1. Create a new Python environment and install the objektviz package from PyPI:

    pip install objektviz[kuzu, neo4j]
    
  2. Copy the example dashboard script (e.g. 'examples/generic_ocel_viewer.py') and dataset folder.

  3. Run the example dashboard:

    streamlit run generic_ocel_viewer.py
    

Manual installation

  1. Clone the repository:
    git clone git@github.com:mamiksik/ObjektViz.git
    
  2. Navigate to the project directory:
    cd ObjektViz
    
  3. Install the required dependencies (we use uv to manage the Python environment and dependencies):
    uv sync --all-extras
    
  4. Activate the virtual environment (bash shell):
    source .venv/bin/activate
    
  5. Run the example dashboard:
    streamlit run examples/generic_ocel_viewer.py
    

INFO: Using Chrome is strongly recommended. Mozilla Firefox and Safari should also work. (Although Safari does not support token replay.)

INFO: Token Replay for now requires APOC library and is thus not available with KuzuDB

  1. [OPTIONAL] If you are planning on editing the objektviz source code, you can install the objektviz package it in editable mode:
    uv add --editable --dev objektviz
    

Visualizer

Feature spotlight

Morphing and Animation - ObjektViz supports smooth morphing between different process model views. This allows users to transition seamlessly from one perspective to another, this helps to manage complexity and understand different aspects of the process.

Morphing

Shaders - color lightness and thickness of edges play critical role in making a proces s model understandable. ObjektViz supports a variety of shaders that can be applied to nodes and edges to highlight different aspects of the process model or to deal with skewed distributions.

Custom Shaders

Token Replay - understand the dynamics of your process by replaying tokens through the process model. This feature allows you to visualize how different objects interact over time within the process.

Custom Shaders

Import your own OCEL dataset

To import your own OCEL dataset, you need to convert it into EKG format first and then generate aggregated views (i.e., process models) from it. We provide scripts to help you with this process in the examples folder.

  1. Convert OCEL to EKG and infer aggregated views:
    uv run python examples/ocel/kuzudb/process_ocel_to_kuzudb.py path/to/your/ocel.json path/to/save/ekg.kuzu
    
  2. Copy one of the example dashboards (e.g. 'examples/generic_ocel_viewer.py') script and modify it to point to your newly created EKG database. The line to change is where the database is initialized:
    db = kuzu.Database("path/to/save/ekg.kuzu")
    
  3. Run your modified dashboard:
    uv run python -m streamlit run path/to/your/custom_dashboard.py
    

ObjektViz Proclet Metamodel (Work In Progress - Subject to Change)

Proclet Metamodel

Licensing

This project is licensed under the GNU Affero General Public License v3 (AGPL-3.0) for open-source and academic use. If you require ObjektViz for commercial use in closed-source environments under a different license please contact us.

Metadata

Release files for objektviz 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for objektviz 0.3.2
File Size Uploaded
objektviz-0.3.2.tar.gz 66.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for objektviz 0.3.2
File Interpreter ABI Platform
objektviz-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 149.1 kB

Release files / objektviz-0.3.2.tar.gz

Download URL objektviz-0.3.2.tar.gz
Size 66.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b7bede06633b76b15d5e146aa772147ec2d0bc117e3ae20b7c77093106c88cd3
BLAKE2b-256 checksum
How to use checksums
4a497b5078bd4c54a9df01b2d4d43eb594d905abc0d5d55926ed3192ca823720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / objektviz-0.3.2-py3-none-any.whl

Download URL objektviz-0.3.2-py3-none-any.whl
Size 82.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f332563176fab4d44def7028b1599f82d5262609766a3112cfb8f275fc3fba0e
BLAKE2b-256 checksum
How to use checksums
6daef6d4c6b3d0faffda26f24353a69a2088ecbea99cde60a18431e814b2fd52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page