File: index.rst

package info (click to toggle)
modules 5.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,036 kB
  • sloc: exp: 79,659; sh: 6,142; tcl: 5,900; makefile: 1,492; ansic: 474; python: 265; csh: 202; perl: 47; ruby: 44; lisp: 13
file content (217 lines) | stat: -rw-r--r-- 6,937 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
.. Home page

Environment Modules
===================

.. only:: html

   .. image:: https://img.shields.io/github/stars/envmodules/modules
      :target: https://github.com/envmodules/modules
      :alt: GitHub Repository

   .. image:: https://img.shields.io/github/license/envmodules/modules?color=lightsteelblue
      :alt: GitHub License

   .. image:: https://img.shields.io/github/v/release/envmodules/modules
      :target: https://github.com/envmodules/modules/releases/latest
      :alt: GitHub Release

   .. image:: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpublic.api.bsky.app%2Fxrpc%2Fapp.bsky.actor.getProfile%2F%3Factor%3Denvmodules.bsky.social&query=%24.followersCount&style=social&logo=bluesky&label=%40EnvModules
      :target: https://bsky.app/profile/envmodules.bsky.social
      :alt: Bluesky

   .. image:: https://img.shields.io/matrix/modules%3Amatrix.org?color=darkcyan
      :target: https://matrix.to/#/#modules:matrix.org
      :alt: Matrix

**Welcome to the Environment Modules documentation portal. The Environment
Modules package provides for the dynamic modification of a user's environment
via modulefiles.**

The Modules package is a tool that simplifies shell initialization and
lets users easily modify their environment during a session using
modulefiles.

Each modulefile contains the information needed to configure the shell for
an application. Once the Modules package is initialized, the environment
can be modified on a per-module basis using the :command:`module` command
which interprets modulefiles. Typically modulefiles instruct the
:command:`module` command to alter or set shell environment variables such as
:envvar:`PATH`, :envvar:`MANPATH`, etc. modulefiles may be shared by many
users on a system and users may have their own collection to supplement or
replace the shared modulefiles.

Modules can be **loaded** and **unloaded** dynamically and atomically,
in an clean fashion. All popular shells are supported, including *bash*,
*ksh*, *zsh*, *sh*, *csh*, *tcsh*, *fish*, *cmd*, *pwsh*, as well as some
languages such as *tcl*, *perl*, *python*, *ruby*, *cmake* and *r*.

Modules are useful in managing different versions of applications. Modules
can also be bundled into meta-modules that will load an entire suite of
different applications.

.. note:: Modules presented here are ones that modify the shell or script
   execution environment. They should not be confused with language-specific
   modules (e.g., Perl modules, Python modules or R modules) that add specific
   capabilities to scripts.

Quick examples
^^^^^^^^^^^^^^

Here is an example of loading a module on a Linux machine under bash.
::

    $ module load gcc/12.4.0
    $ which gcc
    $ /usr/local/gcc/12.4.0/linux-x86_64/bin/gcc

Now we'll switch to a different version of the module
::

    $ module switch gcc/14
    $ which gcc
    /usr/local/gcc/14.2.0/linux-x86_64/bin/gcc

And now we'll unload the module altogether
::

    $ module unload gcc
    $ which gcc
    gcc not found

Now we'll log into a different machine, using a different shell (tcsh).
::

    % module load gcc/14.2
    % which gcc
    /usr/local/gcc/14.2.0/linux-aarch64/bin/gcc

Note that the command line is exactly the same, but the path has
automatically configured to the correct architecture.

Get started with Modules
^^^^^^^^^^^^^^^^^^^^^^^^

Learn how to retrieve and install Modules :ref:`on Unix<INSTALL>` or
:ref:`on Windows<INSTALL-win>`. An overlook on the new functionalities
introduced by each version is available in the :ref:`MIGRATING` guide.
:ref:`NEWS` provides the full list of changes added in each version. The
:ref:`changes` document gives an in-depth view of the modified behaviors and
new features between major versions.

Reference manual page for the :ref:`module(1)`, :ref:`ml(1)` and
:ref:`envml(1)` commands and for :ref:`modulefile(5)` script provide details
on all supported options.

A :ref:`cookbook` of recipes describes how to use the various features of
Modules and how to extend the :command:`module` command to achieve specific
needs.

Links
^^^^^

* Web site: https://envmodules.io
* Documentation: https://modules.readthedocs.io
* Source repository: https://github.com/envmodules/modules
* Issue tracking system: https://github.com/envmodules/modules/issues
* Download releases: https://github.com/envmodules/modules/releases

.. _Community:

Community
^^^^^^^^^

Modules is an open source project. Questions, discussion, and contributions
are welcome. You can get in contact with the Modules community via:

* the `modules-interest mailing list`_
  (``modules-interest@lists.sourceforge.net``)
* the `Modules chat room`_ (``#modules:matrix.org``)

The project is also present on several social media platforms:

* X/Twitter: `@EnvModules`_
* Mastodon: `@EnvModules@mast.hpc.social`_
* Bluesky: `@EnvModules.bsky.social`_

.. _modules-interest mailing list: https://sourceforge.net/projects/modules/lists/modules-interest
.. _Modules chat room: https://matrix.to/#/#modules:matrix.org
.. _@EnvModules: https://x.com/EnvModules
.. _@EnvModules@mast.hpc.social: https://mast.hpc.social/@EnvModules
.. _@EnvModules.bsky.social: https://bsky.app/profile/envmodules.bsky.social

Contributing
^^^^^^^^^^^^

Modules project welcomes contributions of all kinds! Before submitting an
issue or pull request, please take a moment to review our :ref:`Contributing
guide<CONTRIBUTING>`. It includes important information about issue reporting,
coding standards, etc.

Please note that Modules project has a `Code of conduct`_. It ensures a
respectful and inclusive environment for all contributors. By participating in
the Modules community, you agree to abide by its rules.

.. _Code of conduct: https://github.com/envmodules/modules?tab=coc-ov-file#readme

Governance
^^^^^^^^^^

Modules is part of the `High Performance Software Foundation`_ within the
`Linux Foundation`_.

This project adheres to a :ref:`Technical charter<CHARTER>`, which defines its
governance model, decision-making process, and long-term vision.

.. _High Performance Software Foundation: https://hpsf.io
.. _Linux Foundation: http://linuxfoundation.org

License
^^^^^^^

Modules is distributed under the GNU General Public License, either version 2
or (at your option) any later version (`GPL-2.0-or-later`).

.. only:: html

   .. toctree::
      :hidden:
      :maxdepth: 2
      :caption: Basics

      INSTALL
      INSTALL-win
      MIGRATING
      NEWS
      FAQ
      changes
      other-implementations

   .. toctree::
      :hidden:
      :maxdepth: 2
      :caption: Examples

      cookbook

   .. toctree::
      :hidden:
      :maxdepth: 2
      :caption: Reference

      ml
      module
      modulefile
      envml

   .. toctree::
      :hidden:
      :maxdepth: 2
      :caption: Development

      CONTRIBUTING
      devel
      design
      CHARTER
      GOVERNANCE
      acknowledgments