Skip to main content

Development Toolkit

The A28 Developer Toolkit provides developers with the tools and documentation necessary to build packages for the Area28 Application and to manage configuration files.

General information

Python version

Area28 follows the VFX Reference Platform which restricts Python to 3.7.x currently.

Installation

The A28 Development Kit is published on PyPI and can be installed from there:

pip install -U a28

We also publish beta releases:

pip install -U --pre a28

If you wish to install A28 for development purposes, refer to the contributors guide.

Documentation

Documentation is available on GitHub.

Get in touch

Report bugs, suggest features or view the source code on GitHub.

Coding structure

Interfaces

  • IPlugin
  • IApiExtension
  • IApplicationExtension
  • IChatExtension
  • IEventExtension
  • IInteractionExtension
  • ILoggerExtension
  • IMetadataExtension
  • IPreferencesExtension
  • IRealtimeExtension
  • IUiExtension
  • IUnitsExtension

Plugins

Plugins are decorators that can be used to manipulate the payload before being processed or before getting returned.

Extensions

Extension are used to add additional functionality to the Area28 application. Extensions are broken up into multiple types, defined within the Interfaces list.

Packaging

Each package has a unique identifier associated with it and is compressed into a .a28 file. Please look at the a28 development kit for details.

Package structure

@{provider}
|-- {package}
    |-- extensions
    |   |-- {extensions[]}.py
    |-- scripts
    |   |-- install.py
    |   |-- postinstall.py
    |   |-- preinstall.py
    |   |-- uninstall.py
    |-- plugin
    |   |-- {application specific plugin}
    |-- plugins
    |   |-- {plugin[]}.py
    |-- bin
    |   |--{executable[]}.py
    |-- package.json

Package.json structure

{
    "name": "@area28/unity-application",
    "version": "0.0.4",
    "description": "Detect is running within Unity3D.",
    "homepage": "https://area28.io",
    "keywords": [
        "area28",
        "chat",
        "lowercase",
        "transform"
    ],
    "repository": {
        "type": "git",
        "url": "git+https://github.com/area28/area28.git",
        "directory": "packages/unity-application"
    },
    "author": "Area28 Technologies",
    "license": "MIT",
    "bugs": {
        "url": "https://github.com/area28/area28/issues"
    },
    "bin": {
        "myapp": "./bin/lowercase.py"
    },
    "os": [
        "darwin",
        "linux"
    ],
    "cpu": [
        "x64",
        "ia32",
        "!mips"
    ],
    "scripts": {
        "preinstall": "scripts/preinstall.py",
        "install": "scripts/install.py",
        "postinstall": "scripts/postinstall.py",
        "uninstall": "scripts/uninstall.py"
    }
}

Performing package actions

Authenticate with A28

  • a28 account authenticate -u my.email@example.com

Initialize a new package

  • a28 package init --scope my-company --name powerful-plugin --type app my/folder

This will generate a package.json and the folder structure in the given folder ('my/folder')

Building a package

  • a28 package build --src @area28/chat-logger --dest dist

This will generate the .a28 package in dist/

Installing a package locally

  • a28 package install --pkg dist/00000000-0000-0000-0000-00000000-0.0.1.a28

Publish a package

  • a28 package publish --pkg dist/00000000-0000-0000-0000-00000000-0.0.1.a28

Release files for a28 2.1.0

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

Source distribution (sdist)

Source distribution for a28 2.1.0
File Size Uploaded
a28-2.1.0.tar.gz 17.0 kB Details

Built distribution (wheel)

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

Total release size: 34.5 kB

Release files / a28-2.1.0.tar.gz

Download URL a28-2.1.0.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a5a646137a86c059316e9d24cac4061f809a3169b1cbb08005f6caa99ec51d7d
BLAKE2b-256 checksum
How to use checksums
1e365b2baed9e2f056366532f719ac34bb874c4947d300794bfd433d25fb3b8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.1.1 CPython/3.10.7

Release files / a28-2.1.0-py3-none-any.whl

Download URL a28-2.1.0-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfdca4067148c5c80af835feae9ca71491ebcccab99bbd58f8b73673e7a226cc
BLAKE2b-256 checksum
How to use checksums
c99f898a0f0d319da34fe911ee01aa140ada277d401b04914eedd108ca27be9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.1.1 CPython/3.10.7

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.4

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

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