Skip to main content

AI-driven Beamline Controller

Project description

AI-Beamline-Controller

Ai-driven autonomous beamline controller

pip install aps-ai-beamline-controller detects the installing machine's NVIDIA driver and pulls the matching torch / torchvision / torchaudio build, plus ax-platform. No --index-url needed by the user.

How it works

Dependencies are declared dynamic (PEP 643), so they are computed when the user's pip builds the wheel locally from the sdist. At that point setup.py:

  1. runs nvidia-smi to read the host's max CUDA version,
  2. maps it to a (torch release, CUDA build) tier,
  3. queries the PyTorch index and finds the exact wheel URLs matching the running interpreter's tags,
  4. emits them as PEP 508 direct-reference requirements (torch @ https://...).

pip then downloads those exact wheels.

Tier map (edit TIERS in setup.py to change):

driver CUDA torch build
≥ 13.0 2.12.1 cu130
12.8–12.9 2.11.0 cu128
12.6–12.7 2.12.1 cu126
12.4–12.5 2.6.0 cu124
11.8–12.3 2.6.0 cu118
none/older 2.12.1 cpu

Publishing — sdist ONLY

This is the load-bearing rule. If a wheel is on PyPI, pip installs it and the detection never runs. Build and upload only the sdist:

python -m build --sdist        # produces dist/*.tar.gz only
twine upload dist/*.tar.gz     # do NOT upload any .whl

The uploaded sdist's metadata says dynamic = ["dependencies"] (no direct URLs), so PyPI accepts it. The direct URLs exist only in the wheel each user builds locally, which PyPI never sees.

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

aps_ai_beamline_controller-0.0.71.tar.gz (154.3 kB view details)

Uploaded Source

File details

Details for the file aps_ai_beamline_controller-0.0.71.tar.gz.

File metadata

File hashes

Hashes for aps_ai_beamline_controller-0.0.71.tar.gz
Algorithm Hash digest
SHA256 167d7f644270d79b4a4db9c98f4f9b356fe66bdd15f53bc35fedbc934a6d6e34
MD5 51d49f51e5b30b56869863085552577c
BLAKE2b-256 1859a80e208e86d40ded5abc6bd7f92eda293ee7b2a4c79f85065e2946bf36cd

See more details on using hashes here.

Supported by

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