-
Notifications
You must be signed in to change notification settings - Fork 1
Move common docs upstream #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
:orphan: | ||
|
||
.. _alternative_install: | ||
|
||
.. jinja:: first_ctx | ||
|
||
################################# | ||
Alternative installation methods | ||
################################# | ||
|
||
****************** | ||
{{ app_name }} CLI | ||
****************** | ||
|
||
The {{ app_name }} CLI can be installed on Linux, macOS, and Windows through a terminal | ||
or shell prompt: | ||
|
||
.. tab-set:: | ||
|
||
.. tab-item:: Linux/macOS | ||
|
||
Open a terminal, paste the command shown below and press enter. | ||
|
||
.. code-block:: bash | ||
|
||
(touch tmp.sh && curl -fsSL https://raw.githubusercontent.com/hpcflow/install-scripts/main/src/install-{{ app_package_name }}.sh > tmp.sh && bash tmp.sh --prerelease --path --univlink) ; rm tmp.sh | ||
|
||
.. tab-item:: Windows | ||
|
||
Open a Powershell terminal, paste the command shown below and press enter. | ||
|
||
.. code-block:: powershell | ||
|
||
& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/hpcflow/install-scripts/main/src/install-{{ app_package_name }}.ps1'))) -PreRelease -UnivLink | ||
|
||
.. admonition:: What does this script do? | ||
:class: note dropdown | ||
|
||
The above command downloads a script from the {{ app_name }} GitHub repository and runs it. The script does the following: | ||
|
||
#. It downloads the latest prerelease version of {{ app_name }} zip archived in a single folder. | ||
#. The archive is extracted and the folder placed in an accessible location. The location depends on the operating system. In Linux it is ``/.local/share/{{ app_package_name }}``. In macOS it is ``~/Library/Application Support/{{ app_package_name }}``. In Windows it is ``Username\AppData\Local\{{ app_package_name }}``. | ||
#. A symbolic link (Linux/macOS) or an alias pointing to the file is created. This allows {{ app_name }} to be run by entering a simple command. | ||
#. A command is added to ``.bashrc``/``.zshrc`` (linux/macOS) or the Powershell profile (Windows) that allows {{ app_name }} to be run from any folder. | ||
|
||
If the script detects that the version of {{ app_name }} it is trying to install is already there, it will stop | ||
running and exit. | ||
|
||
|
||
|
||
.. hint:: | ||
|
||
If you are installing {{ app_name }} on an HPC resource, check that you can connect | ||
to the internet first. You might need to load a proxy module, for example. | ||
|
||
|
||
******************************** | ||
Download CLI binaries (advanced) | ||
******************************** | ||
|
||
Binaries are available in two formats, corresponding to the two different formats that | ||
PyInstaller `can generate <https://pyinstaller.org/en/stable/usage.html#what-to-generate>`_: | ||
|
||
* A single executable file containing everything. | ||
* A folder containing an executable and supporting files. | ||
|
||
Click below to download the {{ app_name }} binary for your platform: | ||
|
||
.. raw:: html | ||
|
||
{{ download_links_table_html }} |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this file needs to be within a |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,89 @@ | ||
Glossary | ||
======== | ||
|
||
workflow | ||
API | ||
--- | ||
|
||
Application programming interface. {{ app_name }}'s API allows us to design and execute workflows from within a Python interpreter or Jupyter notebook. | ||
|
||
.. _def_command_files: | ||
|
||
Command files | ||
------------- | ||
If you want to refer to any files that are used as inputs or output, | ||
they should be listed under ``command_files`` in the workflow file | ||
|
||
.. code-block:: console | ||
|
||
command_files: | ||
- label: new_inp_file | ||
name: | ||
name: friction_conductance.inp | ||
|
||
|
||
CLI | ||
--- | ||
|
||
Command line interface. The CLI is typically how we interact with {{ app_name }} on HPC systems. | ||
|
||
cluster | ||
------- | ||
|
||
See HPC | ||
|
||
|
||
Environment/virtual environment | ||
------------------------------- | ||
|
||
An environment is an isolated set of installed software. | ||
Using environments allows you to have multiple copies of the same software installed in different environments so you can run different versions, or to run two pieces of software with competing dependencies on the same machine. | ||
Using and sharing environments helps make your work reproducible because someone can use the same environment on a different machine and be sure they have the same versions of everything. | ||
|
||
|
||
HPC | ||
--- | ||
|
||
High-performance computer/computing | ||
|
||
|
||
jobscript | ||
--------- | ||
|
||
A job submission script that is used to queue a job on a batch scheduler system, such as SLURM or SGE. | ||
Jobscripts are generated by {{ app_name }} during workflow submission. | ||
|
||
.. _def_task: | ||
|
||
Tasks | ||
------------- | ||
These are actual usages of a :ref:`task schema <def_task_schema>`, run with defined inputs. | ||
|
||
.. _def_task_schema: | ||
|
||
Task schema | ||
------------- | ||
This is a template for a task you want to run, | ||
with definitions of the input and outputs that are expected. | ||
|
||
{{ app_name }} has many :ref:`built-in task schemas <task_schemas>`, but you may want to write your own. | ||
|
||
.. _def_workflow: | ||
|
||
Workflow | ||
-------- | ||
|
||
A pipeline that processes data in some way. | ||
A workflow is a list of tasks that run one after the other. | ||
|
||
|
||
.. _def_workflow_template: | ||
|
||
Workflow template | ||
------------------ | ||
|
||
A workflow template parameterises a workflow, | ||
providing the required input values for the task schemas of the workflow. | ||
However, it doesn't actually run the :ref:`workflow <def_workflow>`. | ||
A workflow template is usually just the list of tasks, | ||
but can optionally include {{ app_name }} environment, | ||
the :ref:`task schemas <def_task_schema>`, and the :ref:`command files <def_command_files>`. |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can't include this file in the shared docs because hpcflow has an additional page that must be linked from here (SDK). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
Reference | ||
========= | ||
|
||
.. toctree:: | ||
:maxdepth: 2 | ||
|
||
Python API <api> | ||
Command-line interface <cli> | ||
Template components <template_components> | ||
Demo workflows <workflows> | ||
Configuration file <config_file> | ||
Glossary <glossary> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
.. _task_schemas: | ||
|
||
Task schemas | ||
============ | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if Dream3D is a material science specific tool or general enough to be relevant to HPCflow users too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we'll only want to include the
python_env
example here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also we need to update:
command: python <<script_name>> <<args>>
tocommand: python "<<script_path>>" <<args>>