C4 - The Cinema Content Creation Cloud
C4 the Cinema Content Creation Cloud is an open source framework for content creation using remote resources.
This repos holds the reference implementation of the C4 framework and source for the command line tools.
Command line tools are built from this repository, see releases for information about the latest builds.
id package is a go implementation of the C4 ID standard. It contains tools for generating and parsing C4 IDs, C4 Digests, and C4 ID Tree structures.
For documentation see the godocs.
To import the package:
C4 ID - Universally Unique and Consistent Identification
C4 ID, is a SMPTE standard for data identification that is a standardized encoding of a SHA512 hash, and a process for deriving a single C4 ID for any set of C4 IDs.
The C4 ID system provides an unambiguous, universally unique id for any file or block of data. Unlike other mechanisms of identification, file paths, URLs, UUID, GUID, etc., C4 IDs are not only universally unique, but also universally consistent. This means that users at different locations and times will independently agree on the C4 ID of any data. This allows for consistent and unambiguous identification of data between parties or isolated systems without prior agreement or communication of any kind.
This 'agreement without communication' is the key to enabling interoperability for globally distributed workflows.
See the README.md in the
id package for more information.
Current release: v0.7.0
Warning this version uses an incorrect character set for C4 IDs v0.6.0
Contributions are welcome. Following are some general guidelines for project organization. If you have questions please open an issue.
master branch holds the current release, older releases can be found by their version number. The
dev branch represents the development branch from which bug and feature branches should be taken. Pull requests that are accepted will be merged against the
dev branch and then pushed to versioned releases as appropriate.
Feature and bug branches should follow the github integrated naming convention. Features should be given the
new tag, and bugs the
bug tag. Here is an example of checking out a feature branch:
> git checkout dev Switched to branch 'dev' Your branch is up-to-date with 'origin/dev'. > git checkout -b new/#99_some_github_issue ...
If a branch for an issue is already listed in this repository then check it out and work from it.
This software is released under the MIT license. See LICENSE for more information.