All Projects → TheFoundryVisionmongers → OpenAssetIO

TheFoundryVisionmongers / OpenAssetIO

Licence: Apache-2.0 license
An open-source interoperability standard for tools and content management systems used in media production.

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to OpenAssetIO

bookmarks
A PySide2 based file and asset manager for animation and CG productions.
Stars: ✭ 33 (-76.43%)
Mutual labels:  vfx, cg, assetmanager, vfx-pipeline
Pulsar
Open source VFX pipeline tool
Stars: ✭ 20 (-85.71%)
Mutual labels:  vfx, vfx-pipeline
googleDriveVFXServer-pipeline
Transform a Google Drive server into a VFX pipeline ready server
Stars: ✭ 15 (-89.29%)
Mutual labels:  vfx, vfx-pipeline
Unity3DShaders
Simple shaders for Unity3D that I created for games, for a challenge or following tutorials.
Stars: ✭ 17 (-87.86%)
Mutual labels:  vfx, cg
tabtabtab-nuke
A replacement for Nuke's "tab" node creator
Stars: ✭ 32 (-77.14%)
Mutual labels:  vfx
Assimp
The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
Stars: ✭ 7,309 (+5120.71%)
Mutual labels:  asset-pipeline
TACTIC-Handler
PySide based TACTIC client for maya, nuke, 3dsmax, houdini, etc
Stars: ✭ 67 (-52.14%)
Mutual labels:  asset-pipeline
webpack-asset-pipeline
🚀 A missing link for the asset pipeline alternative with Webpack.
Stars: ✭ 31 (-77.86%)
Mutual labels:  asset-pipeline
houdini additional python docs
🐍 Additional documentation of Houdini Python modules
Stars: ✭ 21 (-85%)
Mutual labels:  vfx
esp32 mmd
esp32でmmd
Stars: ✭ 93 (-33.57%)
Mutual labels:  cg
pipeVFX
A Visual Effects pipeline to manage jobs, shots and software assignment, with a simple asset manager. Its extensively integrated with CortexVFX and Gaffer. (and it builds booth, with support for Maya, Houdini and Nuke, if you have then installed!)
Stars: ✭ 47 (-66.43%)
Mutual labels:  vfx
phoenix assets webpack
Asset Pipeline with Webpack on Phoenix
Stars: ✭ 52 (-62.86%)
Mutual labels:  asset-pipeline
socket.io-rails
Rails asset pipeline wrapper for socket.io
Stars: ✭ 57 (-59.29%)
Mutual labels:  asset-pipeline
Blendid
A delicious blend of gulp tasks combined into a configurable asset pipeline and static site builder
Stars: ✭ 5,026 (+3490%)
Mutual labels:  asset-pipeline
SdfVfxSamples
Unity VFX Graph samples with SDF (signed distance field)
Stars: ✭ 681 (+386.43%)
Mutual labels:  vfx
pwdcalc
Take no risk and help your users to choose good passwords!
Stars: ✭ 11 (-92.14%)
Mutual labels:  asset-pipeline
glTF-Blender-IO-materials-variants
Blender3D addon for glTF KHR_materials_variants extension
Stars: ✭ 56 (-60%)
Mutual labels:  cg
Evp3
Volumetric visual effects program used in Unite Shanghai 2019
Stars: ✭ 81 (-42.14%)
Mutual labels:  vfx
Eyeball
Unity VFX Shader Graph sample
Stars: ✭ 62 (-55.71%)
Mutual labels:  vfx
Sprockets-PHP
Sprockets for PHP
Stars: ✭ 50 (-64.29%)
Mutual labels:  asset-pipeline

OpenAssetIO

An open-source interoperability standard for tools and content management systems used in media production.

It aims to reduce the integration effort and maintenance overhead of modern CGI pipelines, and pioneer new, standardized asset-centric workflows in content creation tooling.

Problem statement summary

In modern creative pipelines, data is often managed by an authoritative system (Asset Management System, Digital Asset Manager, MAM, et. al).

It is common for media creation tools to reference this managed data by its present location in a file system.

This not only limits document portability, but strips semantically meaningful information about the identity, purpose or heritage of the data - complicating topics such as loading, version management and distributed computation.

Common workarounds to the restrictions associated with path-based referencing can be fragile and require on-going maintenance as tools and workflows evolve.

What OpenAssetIO provides

OpenAssetIO enables tools to reference managed data by identity (using an "Entity Reference") instead of a file system path.

This allows for any properties of the entity (such as its location or available versions) to be "resolved" on demand, taking into account the current compute environment.

This is achieved through the definition of a common set of interactions between a host of the API (eg: a Digital Content Creation tool or pipeline script) and an Asset Management System (or DAM, MAM, etc.).

This common API surface area hopes to remove the need for common pipeline business logic to be re-implemented against the native API of each tool, and allows the tools themselves to design new workflows that streamline the creation of complex assets.

OpenAssetIO enabled tools and asset management systems can freely communicate with each other, without needing to know any specifics of their respective implementations.

OpenAssetIO is not unique in the ability to resolve identifiers, but it is the first to offer an industry-wide, truly open standard that can be used in any relevant tool or application.

Scope

The API has no inherent functionality. It exists as a bridge - at the boundary between a process that consumes or produces data (the host), and the systems that provide data coordination and version management functionality.

The API covers the following areas:

  • Resolution of asset references (URIs) into a dictionary of data, grouped into one or more "traits" (providing URLs for access, and other asset data).
  • Publishing data for file-based and non-file-based assets.
  • Discovery and registration of related assets.
  • Replacement/augmentation of in-application UI elements such as browsers and other panels/controls.

The API, by design, does not:

  • Define any standardized data structures for the storage or description of assets or asset hierarchies.
  • Dictate any aspect of how an asset management system operates, organizes, locates or manages asset data and versions.

The API builds upon the production-tested Katana Asset API, addressing several common integration challenges and adding support for a wider range of asset types and publishing workflows.

API documentation

The documentation for OpenAssetIO can be found here: https://openassetio.github.io/OpenAssetIO.

Project status

CII Best Practices

Important: The project is currently in early beta stage and is subject to change. Do not deploy the API in production critical situations without careful thought.

We are currently working towards a v1.0.0 release. We are in the process of porting the core API from Python to C/C++.

The code is presented here in its current form to facilitate discussion and early-adopter testing. We actively encourage engagement in the discussion and to give feedback on current Issues and Pull Requests.

We have been making some structural changes whilst migrating to this repository and removing some spurious/legacy concepts. There may well be some rough edges so bear with us whilst we get things ship-shape.

Please see the project board for work in progress, as well as up-coming topics.

TODO list

  • Complete core C/C++ API work
  • Define Traits for post-production in the OpenAssetIO-MediaCreation repository
  • AR2.0 interop investigations
  • Katana Asset API migration guide/shims

Background

Within the Media and Entertainment sector, digital content (such as images, models and editorial data) is usually managed by a central catalog. This catalog is commonly known as an "Asset Management System", and forms a singular source of truth for a project.

OpenAssetIO provides an abstraction layer that generalizes the dialog between a 'host' (eg. a Digital Content Creation application such as Maya® or Nuke) and one of these systems - a 'manager' (eg. ShotGrid, ftrack or other proprietary systems).

This project first began in 2013, taking inspiration from the production tested Katana Asset API to make it more suitable for a wider variety of uses. Modern pipelines are incredibly nuanced. Finding a common framework that brings value in this space is challenging to say the least. Prototypes built during the development of OpenAssetIO over the last few years have demonstrated significant developer and artist value.

We hope the API forms a practical starting point that addresses many real-world use cases, and as an industry, we can evolve the standard over time to support any additional requirements. We are currently investigating the relationship with Ar 2.0, which appears to overlap with a subset of OpenAssetIOs concerns.

Getting started

Installation

The OpenAssetIO codebase is available as a git repository on GitHub

git clone [email protected]:OpenAssetIO/OpenAssetIO

System requirements

Linux is currently the only fully tested platform. Support for other platforms is the subject of ongoing work.

Quick start: Using the ASWF Docker image

The Academy Software Foundation maintains a set of VFX Reference Platform compatible Docker images here.

The CY22 image contains all dependencies currently required for building OpenAssetIO. For example, to build and install the C/C++ component of OpenAssetIO (by default to a dist directory under the build directory) via a container, from the repository root run

docker run -v `pwd`:/src aswf/ci-base:2022.2 bash -c '
  cd /src && \
  cmake -S . -B build && \
  cmake --build build --target openassetio-python-py-install'

Other build methods

For detailed instructions see BUILDING.

Getting involved

Maya®, is a registered trademark of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].