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

Uploaded Source

File details

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

File metadata

File hashes

Hashes for aps_ai_beamline_controller-0.0.70.tar.gz
Algorithm Hash digest
SHA256 a466bc6570f15c3d8a480f881709a2c5fbab814308aba958241a9914e95479cf
MD5 e844286a0f12f2a01f8bac29f5b4c32c
BLAKE2b-256 39e8c58d47f75d3ca3df8c5c35f2ce2d81e048ff3779a7dc54956d3710345ae4

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