A lightweight developer kit for packaging AI agents into portable APKG files
Project description
Pixell Agent Kit
A lightweight developer kit for packaging AI agents into portable, standardized APKG files.
Installation
Using pipx (Recommended)
pipx install pixell-kit
Using Homebrew
brew install pixell-kit
Using pip
pip install pixell-kit
Quick Start
# Create a new agent project
pixell init my_agent
# Run locally for development
cd my_agent
pixell run-dev
# Build into APKG package
pixell build
# Inspect the package
pixell inspect my_agent-0.1.0.apkg
Configuration
Pixell Kit supports flexible configuration management to avoid entering credentials repeatedly. You can configure API keys and app IDs at multiple levels with the following precedence order:
1. Environment Variables (Highest Priority)
export PIXELL_API_KEY=your-api-key
export PIXELL_APP_ID=your-app-id
export PIXELL_ENVIRONMENT=prod
2. Project-Level Configuration
Create .pixell/config.json in your project directory:
{
"api_key": "your-api-key",
"app_id": "your-default-app-id",
"default_environment": "prod",
"environments": {
"prod": {"app_id": "your-production-app-id"},
"staging": {"app_id": "your-staging-app-id"},
"local": {"app_id": "your-local-app-id"}
}
}
3. Global Configuration
Create ~/.pixell/config.json for user-wide settings:
{
"api_key": "your-api-key",
"app_id": "your-default-app-id"
}
Configuration Commands
# Interactive setup (recommended for first-time users)
pixell config init
# Set individual values
pixell config set --api-key your-api-key
pixell config set --app-id your-app-id
pixell config set --env-app-id prod:your-prod-app-id
pixell config set --env-app-id staging:your-staging-app-id
# Set global configuration (affects all projects)
pixell config set --global --api-key your-api-key
# View current configuration
pixell config show
pixell config show --global
Simplified Deployment
Once configured, you can deploy without specifying credentials every time:
# Deploy to production (uses stored credentials)
pixell deploy --apkg-file my_agent-0.1.0.apkg
# Deploy to staging (uses environment-specific app ID)
pixell deploy --apkg-file my_agent-0.1.0.apkg --env staging
# Deploy to local development
pixell deploy --apkg-file my_agent-0.1.0.apkg --env local
Environment and Secrets
Phase 1: Required .env in APKG
- Every agent package must include a
.envat the project root. - Builds fail if
.envis missing. - The builder always includes
.envin the APKG. - The validator warns on potential secrets and non-portable absolute paths.
Scaffold:
pixell initgenerates a.env.example. Copy to.envand fill values.
Notes:
- Treat
.envas sensitive; it is packaged. Use placeholders for shared artifacts.
Phase 2: Runtime Environment Injection (Dev parity)
- The dev server automatically loads
.envand applies variables to the process environment. - Precedence (dev):
.env> base environment. - Logs show variable keys only, never values.
Phase 3: Service-Bound Secrets (Dev parity)
- Optional secrets providers can inject runtime secrets without baking them into
.env. - Provider selection is controlled by environment variables:
PIXELL_SECRETS_PROVIDER=staticwithPIXELL_SECRETS_JSON(JSON object)PIXELL_SECRETS_PROVIDER=envto pass-through current process envPIXELL_SECRETS_PROVIDER=awsto use AWS Secrets Manager with:PIXELL_AWS_SECRETS(comma-separated secret names/ARNs)- optional
PIXELL_AWS_REGION
- Precedence (dev): provider >
.env> base env.
Example (static):
export PIXELL_SECRETS_PROVIDER=static
export PIXELL_SECRETS_JSON='{"OPENAI_API_KEY":"runtime","DB_HOST":"database"}'
Example (AWS):
export PIXELL_SECRETS_PROVIDER=aws
export PIXELL_AWS_SECRETS=my/app/secrets,another/secret
export PIXELL_AWS_REGION=us-east-1
Best Practices
- Use
0.0.0.0for bind addresses inside containers (notlocalhost). - Avoid absolute, machine-specific paths in
.env. - Never log secret values; only keys. The kit adheres to this.
PAR Guidance (separate runtime)
- Apply precedence in the agent subprocess:
- Runtime deployment env (highest)
.envfrom APKG- Base runtime environment (lowest)
- Optionally add service-bound providers per deployment context.
Features
- 📦 Package any AI agent into portable APKG files
- 🚀 Local development server with hot-reload
- ✅ Manifest validation and package integrity
- 🔐 Optional package signing with GPG
- 🐍 Python 3.11+ support (TypeScript coming soon)
Documentation
See the full documentation for detailed usage.
License
This project is licensed under the GNU Affero General Public License v3.0.
For organizations that do not wish to comply with AGPL-3.0 requirements, commercial licensing options are available. Contact us at engineering@pixell.global .
Trigger publish workflow
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixell_kit-0.4.12.tar.gz.
File metadata
- Download URL: pixell_kit-0.4.12.tar.gz
- Upload date:
- Size: 61.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fda8562ca0f724ad87381541c3884d024940676074a32a1d6a01ed1f3702b33
|
|
| MD5 |
4e988ca07d551f31b0d88f9e4198af72
|
|
| BLAKE2b-256 |
f02f7381b7e3ebb4d5a5b320ba2969e4a3b7166a2f8bd338a5df63aa64209ad1
|
Provenance
The following attestation bundles were made for pixell_kit-0.4.12.tar.gz:
Publisher:
publish-main.yml on pixell-global/pixell-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pixell_kit-0.4.12.tar.gz -
Subject digest:
5fda8562ca0f724ad87381541c3884d024940676074a32a1d6a01ed1f3702b33 - Sigstore transparency entry: 651194147
- Sigstore integration time:
-
Permalink:
pixell-global/pixell-kit@decb9f37d4c51bfdaf7cbc3964e54cabebbe987f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pixell-global
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-main.yml@decb9f37d4c51bfdaf7cbc3964e54cabebbe987f -
Trigger Event:
push
-
Statement type:
File details
Details for the file pixell_kit-0.4.12-py3-none-any.whl.
File metadata
- Download URL: pixell_kit-0.4.12-py3-none-any.whl
- Upload date:
- Size: 68.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
791c0178869749cf6479450ed6694b9617e16d1b549c49fab279b0a5733c37b2
|
|
| MD5 |
c38f46b9e54898b1eed9ecdb25a53d4f
|
|
| BLAKE2b-256 |
07af017ad12d8cae9341e872da9bb89b2a9d748fcfffc4e02e17ee1f4322563e
|
Provenance
The following attestation bundles were made for pixell_kit-0.4.12-py3-none-any.whl:
Publisher:
publish-main.yml on pixell-global/pixell-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pixell_kit-0.4.12-py3-none-any.whl -
Subject digest:
791c0178869749cf6479450ed6694b9617e16d1b549c49fab279b0a5733c37b2 - Sigstore transparency entry: 651194182
- Sigstore integration time:
-
Permalink:
pixell-global/pixell-kit@decb9f37d4c51bfdaf7cbc3964e54cabebbe987f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pixell-global
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-main.yml@decb9f37d4c51bfdaf7cbc3964e54cabebbe987f -
Trigger Event:
push
-
Statement type: