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.72.tar.gz (154.3 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for aps_ai_beamline_controller-0.0.72.tar.gz
Algorithm Hash digest
SHA256 57934121aba50184ef24b6bd02950cb97d17671338f4ea39402f0c6ae6fde5b1
MD5 5304affbed862d4816295fd36d52964c
BLAKE2b-256 85ead988fb710ce51047688e22cd709a561eee388337f114bd930805f21e0a0d

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