Catalog PyPI
Back to packageRELEASE DETAILS

0.7.5

PyPI

aieng-platform-onboard

CLI tool for onboarding participants to AI Engineering bootcamps

Published14 Sept 2026
Direct dependencies20
Transitive dependenciesNot calculated

README

Version 0.7.5 documentation

AI Engineering Platform


PyPI code checks unit tests docs codecov GitHub License

Infrastructure and tooling for AI Engineering bootcamps, providing secure, isolated development environments and automated participant onboarding.

Overview

This platform consists of the following components:

  1. Coder Deployment - Containerized development environments supported by Coder
  2. Participant Onboarding System - Secure, automated participant onboarding

1. Coder Deployment for GCP

The coder folder contains all resources needed to deploy a Coder instance on Google Cloud Platform (GCP), along with reusable workspace templates and Docker images for the workspace environment.

Structure

  • deploy/ - Terraform scripts and startup automation for provisioning the Coder server on a GCP VM
  • docker/ - Dockerfiles and guides for building custom images used by Coder workspace templates
  • templates/ - Coder workspace templates for reproducible, containerized development environments on GCP

Usage

  1. Provision Coder on GCP - Follow the steps in coder/deploy/README.md
  2. Build and Push Docker Images - See coder/docker/README.md
  3. Push Workspace Templates - See coder/templates/README.md

2. Participant Onboarding System

Automated API key distribution for bootcamp participants using GCP Secret Manager and workload identity.

  • Secrets never written to disk — exported into the shell via eval "$(onboard ...)"
  • Workspace VMs authenticate directly to Secret Manager via workload identity (no Firebase, no token service)
  • Per-participant JSON secrets named {bootcamp-name}-env-{github-handle}
  • Firestore tracks participant records and onboarded status

Architecture

Admin Phase
  1. Setup participants/teams in Firestore
  2. Generate API keys (Gemini, Langfuse, etc.)
  3. onboard admin setup-secrets  →  creates per-participant Secret Manager secrets
  4. Grant workspace SA roles/secretmanager.secretAccessor
  5. Add users to GitHub org

Participant Phase
  1. eval "$(onboard --bootcamp-name <name>)"  in Coder workspace
  2. Fetches env vars from Secret Manager via workload identity
  3. Runs integration tests (env vars injected, nothing written to disk)
  4. Marks participant as onboarded in Firestore

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 20

Native requirements
20 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
authlib
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
authlib==1.6.12runtime
cryptography
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
cryptography>=50.0.0runtime
filelock
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
filelock==3.20.3runtime
firebase-admin
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
firebase-admin>=6.5.0runtime
google-auth
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
google-auth>=2.29.0runtime
google-cloud-firestore
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
google-cloud-firestore>=2.18.0runtime
google-cloud-secret-manager
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
google-cloud-secret-manager>=2.20.0runtime
google-cloud-storage
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
google-cloud-storageruntime
idna
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
idna>=3.15runtime
msgpack
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
msgpack>=1.2.1runtime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
openai>=1.0.0runtime
pandas
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pandas>=2.3.3runtime
pygments
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pygments>=2.20.0runtime
pyjwt
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pyjwt>=2.13.0runtime
python-dotenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
python-dotenv>=1.0.0runtime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
requests>=2.33.0runtime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
rich>=13.0.0runtime
urllib3
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
urllib3==2.7.0runtime
virtualenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
virtualenv==20.36.1runtime
weaviate-client
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
weaviate-client>=4.0.0runtime

Distribution files

2 collected
aieng_platform_onboard-0.7.5-py3-none-any.whl

bdist_wheel · 50.4 KB · Python py3

Source file
aieng_platform_onboard-0.7.5.tar.gz

sdist · 40.64 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:38 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:0fc4e5e259ceff810eaf65fcc6cb80698e7f18c5b0328bd5e48d470ad7d03705

Other collected versions

View all collected versions →