https://github.com/ynput/ayon-cpp-api
An API Wrapper for Ayon server written in cpp
https://github.com/ynput/ayon-cpp-api
Last synced: 2 months ago
JSON representation
An API Wrapper for Ayon server written in cpp
- Host: GitHub
- URL: https://github.com/ynput/ayon-cpp-api
- Owner: ynput
- Created: 2024-01-25T10:32:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-03-30T08:59:50.000Z (2 months ago)
- Last Synced: 2026-04-13T07:49:48.166Z (2 months ago)
- Language: C
- Size: 58 MB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AYON CPP API
An API Wrapper for [AYON server](https://ayon.ynput.io/) written in cpp
> [!NOTE]\
> we use [git-Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to pull in external dependencys so you might want to use
> these commands
> `git clone --recurse-submodules git@github.com:ynput/ayon-cpp-api.git` to
> clone the repo with all its submodules.
> `git submodule update --init --recursive` to initialize the [Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) when you change the branch
> [!NOTE]\
> we use tags in our [.gitmodules](https://git-scm.com/docs/gitmodules) in order to give a better overview towards the used [Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) used in this repo.
> you might need those commands if you change [Submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) tags.
>
> ```sh
> git submodule sync
> git submodule update --remote
> ```
## Requirements:
- C++ Compiler
- Cmake
- Python
- pip
## Tested Platforms:
- Alma Linux9
- win 11
## Include via Cmake
```cmake
add_subdirectory("ayon-cpp-api")
include_directories("ayon-cpp-api")
target_link_libraries(Your-App AyonCppApi)
```
## Build Steps
The build setup recently moved from a .sh/.bat file into python in order to
allow for easy Usage. The python setup also includes optional tests.
The python setup exposes functions to the CLI, and it can be run with every
python executable. But you will need pip for the Automatic package Installation.
Set up the build Env
```sh
{python} AyonBuild.py setup # Sets up the Venv and artifact's folder
```
Run one off the following build Setups
```sh
{python} AyonBuild.py runStageGRP CleanBuild # Only build the Api
{python} AyonBuild.py runStageGRP CleanBuildAndDocs # Build the Api and generate the Docs
```
## Usage / Config
## Using environment variables to Control the API
The `AyonLogger` can be controlled with these environment variables:
| variable | value |
| ------------------------- | -------------------------------------- |
| `AYONLOGGERLOGLVL` | `INFO` `ERROR` `WARN` `CRITICAL` `OFF` |
| `AYONLOGGERFILELOGGING` | `OFF` / `ON` |
| `AYONLOGGERFILEPOS` | `/path/to or ./relative/path` |
| `AYON_LOGGIN_LOGGIN_KEYS` | `AyonApi/AyonApiDebugEnvVars/` |
The `AyonCppApi` needs these Env Variables to function (They will typically be
supplied by your Ayon Launch Env)
| variable | value |
| ------------------- | -------------------------------------------------------- |
| `AYON_API_KEY` | `ApiKey / BearerToken for your Ayon server` |
| `AYON_SERVER_URL` | `http / https addres off your Ayon server` |
| `AYON_SITE_ID` | `the side Id that Ayon launcher asinged to your machine` |
| `AYON_PROJECT_NAME` | `the Project name you want to work agains` |
## Usage (Dev)
you can find even more Docs in the connected DoxyGen Site.
You can Generate yourself an instance via the auto_docs.py in the Docs/src fouler (This will use Python to host a simple http server on port 8009 for displaying)
or Check out the newest Release on the [Docs Page](https://ynput.github.io/ayon-cpp-api/)