Skip to content

Commit

Permalink
Merge pull request #289 from pyiron/jupyterbook
Browse files Browse the repository at this point in the history
Use jupyter book for documentation
  • Loading branch information
jan-janssen authored May 1, 2024
2 parents 9ac77bd + 9d7bc03 commit 07d762b
Show file tree
Hide file tree
Showing 18 changed files with 50 additions and 213 deletions.
1 change: 1 addition & 0 deletions .ci_support/environment-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ dependencies:
- tqdm =4.66.2
- pympipool =0.7.18
- cloudpickle =3.0.0
- jupyter-book =1.0.0
10 changes: 9 additions & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,16 @@ build:
os: "ubuntu-22.04"
tools:
python: "mambaforge-22.9"
jobs:
pre_build:
# Generate the Sphinx configuration for this Jupyter Book so it builds.
- "cp README.md docs"
- "cp notebooks/*.ipynb docs"
- "jupyter-book config sphinx docs/"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/source/conf.py
builder: html

# Optionally build your docs in additional formats such as PDF and ePub
formats: []
Expand All @@ -26,3 +32,5 @@ python:
install:
- method: pip
path: .
extra_requirements:
- sphinx
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# pysqa - a simple queue adapter for python
# pysqa

[![Python package](https://github.com/pyiron/pysqa/workflows/Python%20package/badge.svg)](https://github.com/pyiron/pysqa/actions)
[![Documentation Status](https://readthedocs.org/projects/pysqa/badge/?version=latest)](https://pysqa.readthedocs.io/en/latest/?badge=latest)
[![Coverage Status](https://coveralls.io/repos/github/pyiron/pysqa/badge.svg?branch=main)](https://coveralls.io/github/pyiron/pysqa?branch=main)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pyiron/pysqa/HEAD?labpath=notebooks%2Fexample.ipynb)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pyiron/pysqa/HEAD?labpath=example.ipynb)

High-performance computing (HPC) does not have to be hard. In this context the aim of `pysqa` is to simplify the submission of calculation to an HPC cluster as easy as starting another subprocess locally. This is achieved based on the assumption that even though modern HPC queuing systems offer a wide range of different configuration options, most users submit the majority of their jobs with very similar parameters.

Therefore, in `pysqa` users define submission script templates once and reuse them to submit many different calculations or workflows. These templates are defined in the [jinja2 template language](https://palletsprojects.com/p/jinja/), so current submission scripts can be easily extended to templates. In addition to the submission of new jobs to the queuing system `pysqa` also allows the users to track the progress of their jobs, delete them or enable reservations using the built-in functionality of the queuing system.

All this functionality is available from both a [Python interface](https://pysqa.readthedocs.io/en/latest/python.html) as well as a [command line interface](https://pysqa.readthedocs.io/en/latest/command.html).
All this functionality is available from both a [Python interface](https://pysqa.readthedocs.io/en/latest/example.html) as well as a [command line interface](https://pysqa.readthedocs.io/en/latest/command.html).

# Features
The core feature of `pysqa` is the communication to an HPC queuing system ([Flux](https://pysqa.readthedocs.io/en/latest/queue.html#flux), [LFS](https://pysqa.readthedocs.io/en/latest/queue.html#lfs), [MOAB](https://pysqa.readthedocs.io/en/latest/queue.html#moab), [SGE](https://pysqa.readthedocs.io/en/latest/queue.html#sge), [SLURM](https://pysqa.readthedocs.io/en/latest/queue.html#slurm) and [TORQUE](https://pysqa.readthedocs.io/en/latest/queue.html#torque)). This includes:
The core feature of `pysqa` is the communication to an HPC queuing system ([Flux](https://pysqa.readthedocs.io/en/latest/queue.html#flux), [LFS](https://pysqa.readthedocs.io/en/latest/queue.html#lfs), [MOAB](https://pysqa.readthedocs.io/en/latest/queue.html#moab), [SGE](hhttps://pysqa.readthedocs.io/en/latest/queue.html#sge), [SLURM](https://pysqa.readthedocs.io/en/latest/queue.html#slurm) and [TORQUE](https://pysqa.readthedocs.io/en/latest/queue.html#torque)). This includes:

* Submission of new calculation to the queuing system.
* List of calculation currently waiting or running on the queuing system.
Expand Down Expand Up @@ -40,11 +40,11 @@ Finally, there is current work in progress to support a combination of [multiple
* [SGE](https://pysqa.readthedocs.io/en/latest/queue.html#sge)
* [SLURM](https://pysqa.readthedocs.io/en/latest/queue.html#slurm)
* [TORQUE](https://pysqa.readthedocs.io/en/latest/queue.html#torque)
* [Python Interface](https://pysqa.readthedocs.io/en/latest/python.html)
* [List available queues](https://pysqa.readthedocs.io/en/latest/python.html#list-available-queues)
* [Submit job to queue](https://pysqa.readthedocs.io/en/latest/python.html#submit-job-to-queue)
* [Show jobs in queue](https://pysqa.readthedocs.io/en/latest/python.html#show-jobs-in-queue)
* [Delete job from queue](https://pysqa.readthedocs.io/en/latest/python.html#delete-job-from-queue)
* [Python Interface](https://pysqa.readthedocs.io/en/latest/example.html)
* [List available queues](https://pysqa.readthedocs.io/en/latest/example.html#list-available-queues)
* [Submit job to queue](https://pysqa.readthedocs.io/en/latest/example.html#submit-job-to-queue)
* [Show jobs in queue](https://pysqa.readthedocs.io/en/latest/example.html#show-jobs-in-queue)
* [Delete job from queue](https://pysqa.readthedocs.io/en/latest/example.html#delete-job-from-queue)
* [Command Line Interface](https://pysqa.readthedocs.io/en/latest/command.html)
* [Submit job](https://pysqa.readthedocs.io/en/latest/command.html#submit-job)
* [Enable reservation](https://pysqa.readthedocs.io/en/latest/command.html#enable-reservation)
Expand Down
9 changes: 8 additions & 1 deletion binder/postBuild
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,11 @@ mkdir -p /home/jovyan/.local/share/jupyter/kernels/flux
cp binder/kernel.json /home/jovyan/.local/share/jupyter/kernels/flux

# install pympipool
pip install . --no-deps --no-build-isolation
pip install . --no-deps --no-build-isolation

# copy notebooks
mv notebooks/*.ipynb .
rm -rf notebooks

# clean up
rm -rf .ci_support .github binder docs notebooks pysqa pysqa.egg-info tests .coveralls.yml .gitignore .readthedocs.yml CODE_OF_CONDUCT.md LICENSE MANIFEST.in README.md pyproject.toml setup.py build
20 changes: 0 additions & 20 deletions docs/Makefile

This file was deleted.

14 changes: 14 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
title: pysqa
author: Jan Janssen
logo: images/pyiron-logo.png

execute:
execute_notebooks : off

repository:
url : https://github.com/pyiron/pysqa
path_to_book : ""

launch_buttons:
notebook_interface : jupyterlab
binderhub_url : https://mybinder.org
Binary file removed docs/_static/pyiron_logo.ico
Binary file not shown.
9 changes: 9 additions & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
format: jb-book
root: README
chapters:
- file: installation.md
- file: queue.md
- file: example.ipynb
- file: command.md
- file: advanced.md
- file: debug.md
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
35 changes: 0 additions & 35 deletions docs/make.bat

This file was deleted.

File renamed without changes.
35 changes: 0 additions & 35 deletions docs/source/conf.py

This file was deleted.

41 changes: 0 additions & 41 deletions docs/source/index.rst

This file was deleted.

71 changes: 0 additions & 71 deletions docs/source/python.md

This file was deleted.

0 comments on commit 07d762b

Please sign in to comment.