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

Uploaded Source

File details

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

File metadata

File hashes

Hashes for aps_ai_beamline_controller-0.0.69.tar.gz
Algorithm Hash digest
SHA256 612386d6d15d3bc949d189403f9a2ca24cec09d035e559234c1d4ce225259e07
MD5 2d846d495a49e5b2430ddc27bf8093a6
BLAKE2b-256 960e2c07c2ad6c6e5d205e4c59eabd776c547cae337a8e543e4e277c67bf6d24

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