diff --git a/doc/Glossary.md b/doc/Glossary.md index b312a49d2..00158a1bd 100644 --- a/doc/Glossary.md +++ b/doc/Glossary.md @@ -265,6 +265,10 @@ A graphical representation of an ISIS beamline, showing permanent components as ## User Values +## uv + +See {ref}`uv` + ## Vagrant A tool for building and managing [virtual machine](#virtual-machine) environments. See [homepage](https://www.vagrantup.com) for more information. diff --git a/doc/overview/First-Time-Build.md b/doc/overview/First-Time-Build.md index 24358d174..7fd5bb551 100644 --- a/doc/overview/First-Time-Build.md +++ b/doc/overview/First-Time-Build.md @@ -61,6 +61,10 @@ To easily add `EPICSTerm.bat` to the start menu after copying EPICS, run `C:\Ins See [Building and installing the uktena python distribution](/system_components/python/Building-and-installing-uktena) +## uv + +See {ref}`installing_uv` + ## Ruff git hook and convenience scripts In order to use this please clone the reusable workflows repo into dev diff --git a/doc/scripting/uv.md b/doc/scripting/uv.md index aa19e19a7..96b2b9b39 100644 --- a/doc/scripting/uv.md +++ b/doc/scripting/uv.md @@ -1,6 +1,7 @@ +{#uv} # `uv` and python environments -`uv` is a Python package and project manager. See [`uv`'s docs](https://docs.astral.sh/uv/) for more information. +[`uv`](https://github.com/astral-sh/uv) is a Python package and project manager. See [`uv`'s docs](https://docs.astral.sh/uv/) for more information. We are currently considering whether we could use it to split up our python processes and use it for python version management on instrument machines. @@ -10,7 +11,15 @@ We are currently considering whether we could use it to split up our python proc - `c:\Instrument\apps\uv\snakes` is the location of individually-versioned python interpreter executables. These are "bare" interpreters, that do not contain any dependencies such as `genie_python`. - `c:\Instrument\var\tmp\uvcache` is the location of `uv`'s pip download cache. This can safely be deleted and will be recreated as-needed. -## Details of `uv` setup +{#installing_uv} +## Installing `uv` +We have a script which is used in various places to install `uv`. This will install `uv` into `c:\Instrument\apps\uv\` and can be run on instruments, build machines and developer machines. + +To install `uv` run `\\isis\shares\ISIS_Experiment_Controls_Public\ibex_utils\installation_and_upgrade\install_or_update_uv.bat` + +For developer machines currently this can be used for things that aren't in `\Instrument\Apps\EPICS\` such as projects you have in `Instrument\dev\` or for manually running the items below. + +## Usage of `uv` in IBEX ### IBEX install scripts @@ -30,4 +39,5 @@ It can be used on Github actions CI, but isn't currently. In the future we may consider using `uv` to create and build virtual environments for each respective python process that runs on the NDX. This requires some decisions and subsequent work: - `uv.lock` files - should we keep them in source, or at least on the build server, then build virtual environments on the NDXes with those specific versions? -- python wheels need to be available for everything we use - the NDXes do not have compilers ie. Visual Studio installed. \ No newline at end of file +- python wheels need to be available for everything we use - the NDXes do not have compilers ie. Visual Studio installed. + diff --git a/doc/spelling_wordlist.txt b/doc/spelling_wordlist.txt index b5610ffa4..1b94ce2b3 100644 --- a/doc/spelling_wordlist.txt +++ b/doc/spelling_wordlist.txt @@ -895,6 +895,7 @@ url userdef usr utils +uv uzhex vala validator