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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5a646137a86c059316e9d24cac4061f809a3169b1cbb08005f6caa99ec51d7d |
|
MD5 | d92610333892a5d57897090f06aa94ee |
|
BLAKE2b-256 | 1e365b2baed9e2f056366532f719ac34bb874c4947d300794bfd433d25fb3b8b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfdca4067148c5c80af835feae9ca71491ebcccab99bbd58f8b73673e7a226cc |
|
MD5 | e9d1498eb79b02faf5fa3cebeb2b68d9 |
|
BLAKE2b-256 | c99f898a0f0d319da34fe911ee01aa140ada277d401b04914eedd108ca27be9f |