You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: compute/python.rst
+31-95Lines changed: 31 additions & 95 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,17 +3,16 @@ Python environments
3
3
4
4
Plenty of MagAO-X software is written in Python, so we need a consistent environment. We use the ``mamba`` distribution of the ``conda`` package manager (c.f. Anaconda) to manage it. (A mamba is a fast snake, and the ``mamba install`` command is orders of magnitude faster at solving environment installation requirements than plain old ``conda``.)
5
5
6
-
Environment specifications are tracked in the same git repository as MagAO-X software, under the ``setup/`` folder.
6
+
Environment specifications are tracked in https://github.com/magao-x/magao-x-setup/tree/main/conda_envs.
7
7
8
-
``conda_env_base.yml`` stores just the top-level
9
-
dependencies (i.e. not everything they depend on) without versions. This
10
-
makes it easier to track what we *really* depend on in case we need to
11
-
help conda along with failing dependency resolution.
8
+
``xpy3_13.yml`` stores just the top-level dependencies (i.e. not everything they depend on) without versions.
9
+
10
+
.. warning::
11
+
12
+
Why not pin versions? It turns out that subtle forms of drift (yanked releases,
13
+
x86 vs. ARM differences, etc.) mean that pinning specific versions does not work
14
+
as well as you'd hope.
12
15
13
-
The files named variations on ``conda_env_pinned_*.yml`` reflect the actual set of
14
-
packages installed in the environment. This lets us recreate/update
15
-
(nearly) identical environments on AOC/RTC/ICC. The suffix allows us to track different
16
-
pinned packages for different instruction set architectures.
17
16
18
17
Adding a package
19
18
----------------
@@ -54,37 +53,26 @@ new package. Example:
54
53
If it was installed via pip, the package will be in a sub-list under the
55
54
``pip:`` heading.
56
55
57
-
Updating the environment template
58
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56
+
Updating the instrument base environment
57
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
58
60
-
To add it to the template, first pull any changes:
59
+
To add it to the template, you need a copy of the setup files::
This updates the versioned file in the MagAO-X source, and you can use ``git diff`` to see what has changed.
86
-
87
-
If you install on ARM this won't update the pinned packages on Intel/AMD, and vice versa. To keep a pinned environment for the other processor architecture, you will need to install the package there and repeat the export. (Reproducing the same environment exactly is impossible on a different processor architecture for any nontrivial set of packages.)
74
+
you're doing) to the list. If it was installed using ``pip``, be sure to put it
75
+
under the ``pip:`` heading.
88
76
89
77
Storing in version control
90
78
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -94,8 +82,7 @@ and push them to the central copy.
Copy file name to clipboardExpand all lines: compute/user_auth.rst
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,10 +17,17 @@ accounts.xwcl.science
17
17
18
18
Powered by LLDAP ("lightweight LDAP", where the L stands for "lightweight" already).
19
19
20
-
Users can only reset their passwords.
21
-
22
20
The admin interface lets you add / remove users, add / remove groups, update passwords, and enroll new SSH keys for users (if you are a member of the ``ldap_admin`` LDAP group).
23
21
22
+
Password reset
23
+
~~~~~~~~~~~~~~
24
+
25
+
Users can reset their own passwords using https://accounts.xwcl.science/. However, if they have previously logged in to an instrument computer, you may need to clear the credentials cache so the new password takes effect. On Rocky/Fedora hosts that looks like this::
26
+
27
+
$ sudo sssctl cache-expire -u USERNAME
28
+
29
+
replacing ``USERNAME`` with the user whose login info you need to refresh.
0 commit comments