Skip to content

davidabelin/AIX

Repository files navigation

AIX

Assorted Artificial Intelligence Labs umbrella app.

This repository hosts the AIX hub and bridge adapters. Lab implementations stay in their own repositories and are mounted by interface.

Bridge strategy

  • rps remains independent and is mounted under /rps.
  • drl remains independent as a sister app; AIX links to it through /drl/.
  • c4 remains independent and is mounted under /c4.
  • euclidyne remains independent and is mounted under /euclidyne.
  • polyfolds lives in the sibling pf repo and is routed under /polyfolds.
  • Large generated datasets are not tracked in this repo by default.
  • Lab apps load lazily on first request to their mount path.

Local setup

  1. Create/activate one shared venv for AIX + labs.
  2. Install union dependencies:
pip install -r requirements.txt

For tests/dev tooling:

pip install -r requirements-dev.txt

If polyhedra fails with ModuleNotFoundError: No module named 'numpy', install with build isolation disabled after preinstalling core build deps:

python -m pip install -U pip setuptools wheel
python -m pip install numpy
python -m pip install polyhedra --no-build-isolation
  1. Optional explicit bridge paths (only needed if sibling defaults are not used):
$env:AIX_RPS_REPO = "C:\\path\\to\\rps"
$env:AIX_C4_REPO = "C:\\path\\to\\c4"
$env:AIX_EUCLIDYNE_REPO = "C:\\path\\to\\geometry\\euclidyne"
$env:AIX_POLYFOLDS_REPO = "C:\\path\\to\\pf\\polyfolds"
$env:AIX_POLYFOLDS_JOBS_ROOT = "C:\\path\\to\\aix\\data\\polyfolds_jobs"
  1. Run AIX:
python run.py

Then open http://127.0.0.1:5000/.

Useful diagnostics endpoints:

  • /healthz for mount status + runtime warnings.
  • /diagnostics/bridges for non-secret bridge/config hints.

Legacy RPS absolute API calls are bridged at /api/v1/* for compatibility. Legacy /euclidorithm/* links are redirected to /euclidyne/* during the transition.

Cloud persistence note:

  • On App Engine, configure RPS_DATABASE_URL (or RPS_DATABASE_URL_SECRET) and C4_DATABASE_URL (or C4_DATABASE_URL_SECRET) to avoid ephemeral SQLite data loss on instance recycle.

Polyfolds Phase-1 API

Mounted under /polyfolds:

  • GET /polyfolds/api/v1/presets
  • POST /polyfolds/api/v1/jobs
  • GET /polyfolds/api/v1/jobs
  • GET /polyfolds/api/v1/jobs/{job_id}

Example submit payload:

{
  "kind": "dataset",
  "solid": "tetra",
  "params": {
    "quick": true,
    "n_valid": 200,
    "n_incomplete": 200,
    "n_invalid": 200,
    "seed": 2025
  }
}

About

Assorted Artificial Intelligence Labs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors