Skip to main content

A set of resources and tools to help developers create packages for the Area28 application.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a28-2.1.0.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

a28-2.1.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file a28-2.1.0.tar.gz.

File metadata

  • Download URL: a28-2.1.0.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.1.1 CPython/3.10.7

File hashes

Hashes for a28-2.1.0.tar.gz
Algorithm Hash digest
SHA256 a5a646137a86c059316e9d24cac4061f809a3169b1cbb08005f6caa99ec51d7d
MD5 d92610333892a5d57897090f06aa94ee
BLAKE2b-256 1e365b2baed9e2f056366532f719ac34bb874c4947d300794bfd433d25fb3b8b

See more details on using hashes here.

File details

Details for the file a28-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: a28-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.1.1 CPython/3.10.7

File hashes

Hashes for a28-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bfdca4067148c5c80af835feae9ca71491ebcccab99bbd58f8b73673e7a226cc
MD5 e9d1498eb79b02faf5fa3cebeb2b68d9
BLAKE2b-256 c99f898a0f0d319da34fe911ee01aa140ada277d401b04914eedd108ca27be9f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page