aiida-hyperqueue 0.3.0__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/PKG-INFO +4 -3
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/__init__.py +1 -2
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/__init__.py +2 -3
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/alloc.py +1 -2
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/install.py +6 -6
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/params/arguments.py +0 -1
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/params/options.py +1 -1
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/root.py +0 -1
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/server.py +1 -2
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/scheduler.py +22 -17
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/pyproject.toml +1 -1
- aiida_hyperqueue-0.3.0/.github/workflows/cd.yml +0 -52
- aiida_hyperqueue-0.3.0/.github/workflows/ci.yml +0 -30
- aiida_hyperqueue-0.3.0/.github/workflows/update_changelog.py +0 -96
- aiida_hyperqueue-0.3.0/.github/workflows/validate_release_tag.py +0 -45
- aiida_hyperqueue-0.3.0/.gitignore +0 -14
- aiida_hyperqueue-0.3.0/.pre-commit-config.yaml +0 -17
- aiida_hyperqueue-0.3.0/.readthedocs.yml +0 -26
- aiida_hyperqueue-0.3.0/CHANGELOG.md +0 -33
- aiida_hyperqueue-0.3.0/docs/.gitignore +0 -1
- aiida_hyperqueue-0.3.0/docs/Makefile +0 -41
- aiida_hyperqueue-0.3.0/docs/source/conf.py +0 -170
- aiida_hyperqueue-0.3.0/docs/source/developer_guide/index.md +0 -107
- aiida_hyperqueue-0.3.0/docs/source/get_started.md +0 -147
- aiida_hyperqueue-0.3.0/docs/source/img/AiiDA_transparent_logo.png +0 -0
- aiida_hyperqueue-0.3.0/docs/source/index.md +0 -62
- aiida_hyperqueue-0.3.0/tests/README.md +0 -5
- aiida_hyperqueue-0.3.0/tests/__init__.py +0 -10
- aiida_hyperqueue-0.3.0/tests/conftest.py +0 -387
- aiida_hyperqueue-0.3.0/tests/target/hq +0 -0
- aiida_hyperqueue-0.3.0/tests/test_cli_alloc.py +0 -16
- aiida_hyperqueue-0.3.0/tests/test_cli_install.py +0 -30
- aiida_hyperqueue-0.3.0/tests/test_cli_server.py +0 -152
- aiida_hyperqueue-0.3.0/tests/test_scheduler.py +0 -215
- aiida_hyperqueue-0.3.0/tests/utils/__init__.py +0 -11
- aiida_hyperqueue-0.3.0/tests/utils/cmd.py +0 -16
- aiida_hyperqueue-0.3.0/tests/utils/io.py +0 -28
- aiida_hyperqueue-0.3.0/tests/utils/job.py +0 -24
- aiida_hyperqueue-0.3.0/tests/utils/mock.py +0 -43
- aiida_hyperqueue-0.3.0/tests/utils/table.py +0 -151
- aiida_hyperqueue-0.3.0/tests/utils/wait.py +0 -85
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/LICENSE +0 -0
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/README.md +0 -0
- {aiida_hyperqueue-0.3.0 → aiida_hyperqueue-0.4.0}/aiida_hyperqueue/cli/params/__init__.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: aiida-hyperqueue
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: AiiDA plugin for the HyperQueue metascheduler
|
|
5
5
|
Author: Marnik Bercx, Jusong Yu
|
|
6
|
-
Requires-Python: >=3.
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: Framework :: AiiDA
|
|
9
9
|
Classifier: Development Status :: 3 - Alpha
|
|
@@ -29,6 +29,7 @@ Project-URL: Source, https://github.com/aiidateam/aiida-hyperqueue
|
|
|
29
29
|
Provides-Extra: docs
|
|
30
30
|
Provides-Extra: pre-commit
|
|
31
31
|
Provides-Extra: tests
|
|
32
|
+
Import-Name: aiida_hyperqueue
|
|
32
33
|
|
|
33
34
|
[](https://github.com/aiidateam/aiida-hyperqueue/actions)
|
|
34
35
|
[](http://aiida-hyperqueue.readthedocs.io/)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
from .root import cmd_root # noqa: F401
|
|
1
|
+
from .alloc import cmd_add, cmd_list, cmd_remove # noqa: F401
|
|
3
2
|
from .install import cmd_install # noqa: F401
|
|
3
|
+
from .root import cmd_root # noqa: F401
|
|
4
4
|
from .server import cmd_info, cmd_start, cmd_stop # noqa: F401
|
|
5
|
-
from .alloc import cmd_list, cmd_add, cmd_remove # noqa: F401
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
import click
|
|
3
|
-
import tempfile
|
|
4
|
-
import requests
|
|
5
1
|
import tarfile
|
|
2
|
+
import tempfile
|
|
6
3
|
from pathlib import Path
|
|
7
4
|
|
|
5
|
+
import click
|
|
6
|
+
import requests
|
|
7
|
+
|
|
8
8
|
from aiida import orm
|
|
9
9
|
from aiida.cmdline.utils import echo
|
|
10
10
|
|
|
@@ -81,7 +81,7 @@ def cmd_install(
|
|
|
81
81
|
with computer.get_transport() as transport:
|
|
82
82
|
# Get the abs path of remote bin dir
|
|
83
83
|
retval, stdout, stderr = transport.exec_command_wait(
|
|
84
|
-
f"echo {
|
|
84
|
+
f"echo {remote_bin_dir!s}"
|
|
85
85
|
)
|
|
86
86
|
if retval != 0:
|
|
87
87
|
echo.echo_critical(
|
|
@@ -102,7 +102,7 @@ def cmd_install(
|
|
|
102
102
|
)
|
|
103
103
|
|
|
104
104
|
# XXX: should transport.put take care of this already??
|
|
105
|
-
transport.exec_command_wait(f"chmod +x {
|
|
105
|
+
transport.exec_command_wait(f"chmod +x {remote_bin_dir / 'hq'!s}")
|
|
106
106
|
|
|
107
107
|
# write to bashrc
|
|
108
108
|
if write_bashrc:
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
###########################################################################
|
|
3
2
|
# Copyright (c), The AiiDA team. All rights reserved. #
|
|
4
3
|
# This file is part of the AiiDA code. #
|
|
@@ -14,8 +13,8 @@ import typing as t
|
|
|
14
13
|
import warnings
|
|
15
14
|
|
|
16
15
|
from aiida.common.extendeddicts import AttributeDict
|
|
17
|
-
from aiida.schedulers import Scheduler, SchedulerError
|
|
18
|
-
from aiida.schedulers.datastructures import JobInfo,
|
|
16
|
+
from aiida.schedulers import BashCliScheduler, Scheduler, SchedulerError
|
|
17
|
+
from aiida.schedulers.datastructures import JobInfo, JobResource, JobState, JobTemplate
|
|
19
18
|
|
|
20
19
|
# Mapping of HyperQueue states to AiiDA `JobState`s
|
|
21
20
|
_MAP_STATUS_HYPERQUEUE = {
|
|
@@ -62,25 +61,26 @@ class HyperQueueJobResource(JobResource):
|
|
|
62
61
|
try:
|
|
63
62
|
resources.num_cpus = kwargs.pop("num_cpus")
|
|
64
63
|
except KeyError:
|
|
64
|
+
# For backward compatibility where `num_machines` and `num_mpiprocs_per_machine`
|
|
65
|
+
# are set. `num_mpiprocs_per_machine` is normally injected by aiida-core's
|
|
66
|
+
# `Scheduler.preprocess_resources` from the computer's
|
|
67
|
+
# `default_mpiprocs_per_machine`, which is `None` when the computer defines no
|
|
68
|
+
# default — hence the `or`-fallback to 1 rather than a `pop` default.
|
|
69
|
+
num_mpiprocs_per_machine = kwargs.pop("num_mpiprocs_per_machine", None) or 1
|
|
65
70
|
try:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
# resources default with `num_machines` set to 1 and then get builder with such setting.
|
|
69
|
-
# The `num_mpiprocs_per_machine` sometime can be read from "Default #procs/machine" of computer setup but if it is not exist
|
|
70
|
-
# the builder can not be properly get without passing `option` to builder generator.
|
|
71
|
-
# It is anyway a workaround for backward compatibility so this default is implemented despite it is quite specific for the qe plugin.
|
|
72
|
-
resources.num_cpus = kwargs.pop("num_machines") * kwargs.pop(
|
|
73
|
-
"num_mpiprocs_per_machine", 1
|
|
71
|
+
resources.num_cpus = (
|
|
72
|
+
kwargs.pop("num_machines") * num_mpiprocs_per_machine
|
|
74
73
|
)
|
|
75
74
|
except KeyError:
|
|
76
75
|
raise KeyError(
|
|
77
76
|
"Must specify `num_cpus`, or (`num_machines` and `num_mpiprocs_per_machine`)"
|
|
78
77
|
)
|
|
79
78
|
else:
|
|
80
|
-
message =
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
message = (
|
|
80
|
+
"The `num_machines` and `num_mpiprocs_per_machine` for setting hyperqueue "
|
|
81
|
+
"resources are deprecated. Please set `num_cpus` and `memory_mb`. "
|
|
82
|
+
"(this will be removed in aiida-hyperqueue v1.0)"
|
|
83
|
+
)
|
|
84
84
|
warnings.warn(message, AiiDAHypereQueueDeprecationWarning, stacklevel=3)
|
|
85
85
|
else:
|
|
86
86
|
if not isinstance(resources.num_cpus, int):
|
|
@@ -98,8 +98,13 @@ class HyperQueueJobResource(JobResource):
|
|
|
98
98
|
|
|
99
99
|
@classmethod
|
|
100
100
|
def accepts_default_mpiprocs_per_machine(cls):
|
|
101
|
-
"""Return True if this subclass accepts a `default_mpiprocs_per_machine` key, False otherwise.
|
|
102
|
-
|
|
101
|
+
"""Return True if this subclass accepts a `default_mpiprocs_per_machine` key, False otherwise.
|
|
102
|
+
|
|
103
|
+
Accepting it lets the backward-compatibility `num_machines` path pick up the
|
|
104
|
+
computer's ``default_mpiprocs_per_machine`` instead of silently running on a
|
|
105
|
+
single CPU.
|
|
106
|
+
"""
|
|
107
|
+
return True
|
|
103
108
|
|
|
104
109
|
def get_tot_num_mpiprocs(self):
|
|
105
110
|
"""Return the total number of cpus of this job resource."""
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
name: cd
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v[0-9]+.[0-9]+.[0-9]+*'
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
|
|
10
|
-
validate-release-tag:
|
|
11
|
-
|
|
12
|
-
if: github.repository == 'aiidateam/aiida-hyperqueue'
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
|
|
15
|
-
steps:
|
|
16
|
-
- name: Checkout source
|
|
17
|
-
uses: actions/checkout@v3
|
|
18
|
-
|
|
19
|
-
- name: Set up Python 3.10
|
|
20
|
-
uses: actions/setup-python@v4
|
|
21
|
-
with:
|
|
22
|
-
python-version: '3.10'
|
|
23
|
-
|
|
24
|
-
- name: Validate the tag version against the package version
|
|
25
|
-
run: python .github/workflows/validate_release_tag.py $GITHUB_REF
|
|
26
|
-
|
|
27
|
-
publish:
|
|
28
|
-
|
|
29
|
-
name: Publish to PyPI
|
|
30
|
-
needs: [validate-release-tag]
|
|
31
|
-
runs-on: ubuntu-latest
|
|
32
|
-
environment: deployment
|
|
33
|
-
permissions:
|
|
34
|
-
id-token: write
|
|
35
|
-
|
|
36
|
-
steps:
|
|
37
|
-
- name: Checkout source
|
|
38
|
-
uses: actions/checkout@v3
|
|
39
|
-
|
|
40
|
-
- name: Set up Python 3.10
|
|
41
|
-
uses: actions/setup-python@v4
|
|
42
|
-
with:
|
|
43
|
-
python-version: '3.10'
|
|
44
|
-
|
|
45
|
-
- name: Install flit
|
|
46
|
-
run: pip install flit~=3.8
|
|
47
|
-
|
|
48
|
-
- name: Build with flit
|
|
49
|
-
run: flit build
|
|
50
|
-
|
|
51
|
-
- name: Publish to PyPI using Trusted Publishing
|
|
52
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
name: ci
|
|
2
|
-
|
|
3
|
-
on: [push, pull_request]
|
|
4
|
-
|
|
5
|
-
jobs:
|
|
6
|
-
|
|
7
|
-
tests:
|
|
8
|
-
runs-on: ubuntu-latest
|
|
9
|
-
timeout-minutes: 30
|
|
10
|
-
strategy:
|
|
11
|
-
matrix:
|
|
12
|
-
python-version: ["3.10"]
|
|
13
|
-
|
|
14
|
-
steps:
|
|
15
|
-
- uses: actions/checkout@v3
|
|
16
|
-
|
|
17
|
-
- name: Set up Python ${{ matrix.python-version }}
|
|
18
|
-
uses: actions/setup-python@v4
|
|
19
|
-
with:
|
|
20
|
-
python-version: ${{ matrix.python-version }}
|
|
21
|
-
|
|
22
|
-
- name: Install python dependencies
|
|
23
|
-
run: |
|
|
24
|
-
pip install --upgrade pip
|
|
25
|
-
pip install .[tests]
|
|
26
|
-
|
|
27
|
-
- name: Run test suite
|
|
28
|
-
run: |
|
|
29
|
-
chmod og-rw ~
|
|
30
|
-
pytest --cov aiida_hyperqueue --cov-append .
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
"""Script for automatically updating the `CHANGELOG.md` based on the commits since the latest release tag."""
|
|
4
|
-
|
|
5
|
-
from pathlib import Path
|
|
6
|
-
import re
|
|
7
|
-
import subprocess
|
|
8
|
-
|
|
9
|
-
DEFAULT_CHANGELOG_SECTIONS = """
|
|
10
|
-
### ‼️ Breaking changes
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
### ✨ New features
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
### 🗑️ Deprecations
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
### 👌 Improvements
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### 🐛 Bug fixes
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
### 📚 Documentation
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
### 🔧 Maintenance
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
### ⬆️ Update dependencies
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
### 🧪 Tests
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
### ♻️ Refactor
|
|
38
|
-
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def update_changelog():
|
|
43
|
-
"""Update the `CHANGELOG.md` for a first draft of the release."""
|
|
44
|
-
|
|
45
|
-
print("🔍 Checking the current version number")
|
|
46
|
-
current_changelog = Path("CHANGELOG.md").read_text(encoding="utf-8")
|
|
47
|
-
|
|
48
|
-
from aiida_hyperqueue import __version__
|
|
49
|
-
|
|
50
|
-
if str(__version__) in current_changelog:
|
|
51
|
-
print("🛑 Current version already in `CHANGELOG.md`. Skipping...")
|
|
52
|
-
return
|
|
53
|
-
|
|
54
|
-
print("⬆️ Found updated version number, adapting `CHANGELOG.md`.")
|
|
55
|
-
tags = subprocess.run(
|
|
56
|
-
["git", "tag", "--sort=v:refname"],
|
|
57
|
-
capture_output=True,
|
|
58
|
-
check=True,
|
|
59
|
-
encoding="utf-8",
|
|
60
|
-
).stdout
|
|
61
|
-
latest_tag = re.findall(r"(v\d+\.\d+\.\d+)\n", tags)[-1]
|
|
62
|
-
|
|
63
|
-
print(f"🔄 Comparing with latest tag `{latest_tag}`.")
|
|
64
|
-
commits = subprocess.run(
|
|
65
|
-
["git", "log", "--pretty=format:'%h|%H|%s'", f"{latest_tag}..origin/main"],
|
|
66
|
-
capture_output=True,
|
|
67
|
-
check=True,
|
|
68
|
-
encoding="utf-8",
|
|
69
|
-
).stdout
|
|
70
|
-
|
|
71
|
-
pr_pattern = re.compile(r"\(\S(?P<pr_number>\d+)\)")
|
|
72
|
-
|
|
73
|
-
changelog_message = f"## v{__version__}\n" + DEFAULT_CHANGELOG_SECTIONS
|
|
74
|
-
|
|
75
|
-
for commit in commits.splitlines():
|
|
76
|
-
# Remove the PR number from the commit message
|
|
77
|
-
pr_match = pr_pattern.search(commit)
|
|
78
|
-
|
|
79
|
-
if pr_match is not None:
|
|
80
|
-
pr_number = pr_match.groupdict()["pr_number"]
|
|
81
|
-
commit = commit.replace(rf"(#{pr_number})", "")
|
|
82
|
-
|
|
83
|
-
# Add the commit hash (short) to link to the changelog
|
|
84
|
-
commit = commit.strip("'")
|
|
85
|
-
hash_short, hash_long, message = commit.split("|", maxsplit=2)
|
|
86
|
-
message += f" [[{hash_short}](https://github.com/aiidateam/aiida-hyperqueue/commit/{hash_long})]"
|
|
87
|
-
changelog_message += f"\n* {message}"
|
|
88
|
-
|
|
89
|
-
with Path("CHANGELOG.md").open("w", encoding="utf8") as handle:
|
|
90
|
-
handle.write(changelog_message + "\n\n" + current_changelog)
|
|
91
|
-
|
|
92
|
-
print("🚀 Success! Finalise the `CHANGELOG.md` and let's get this baby released.")
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if __name__ == "__main__":
|
|
96
|
-
update_changelog()
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
"""Validate that the version in the tag label matches the version of the package."""
|
|
3
|
-
|
|
4
|
-
import argparse
|
|
5
|
-
import ast
|
|
6
|
-
from pathlib import Path
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def get_version_from_module(content: str) -> str:
|
|
10
|
-
"""Get the ``__version__`` attribute from a module.
|
|
11
|
-
|
|
12
|
-
.. note:: This has been adapted from :mod:`setuptools.config`.
|
|
13
|
-
"""
|
|
14
|
-
try:
|
|
15
|
-
module = ast.parse(content)
|
|
16
|
-
except SyntaxError as exception:
|
|
17
|
-
raise OSError("Unable to parse module.") from exception
|
|
18
|
-
|
|
19
|
-
try:
|
|
20
|
-
return next(
|
|
21
|
-
ast.literal_eval(statement.value)
|
|
22
|
-
for statement in module.body
|
|
23
|
-
if isinstance(statement, ast.Assign)
|
|
24
|
-
for target in statement.targets
|
|
25
|
-
if isinstance(target, ast.Name) and target.id == "__version__"
|
|
26
|
-
)
|
|
27
|
-
except StopIteration as exception:
|
|
28
|
-
raise OSError(
|
|
29
|
-
"Unable to find the `__version__` attribute in the module."
|
|
30
|
-
) from exception
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if __name__ == "__main__":
|
|
34
|
-
parser = argparse.ArgumentParser()
|
|
35
|
-
parser.add_argument("GITHUB_REF", help="The GITHUB_REF environmental variable")
|
|
36
|
-
args = parser.parse_args()
|
|
37
|
-
assert args.GITHUB_REF.startswith(
|
|
38
|
-
"refs/tags/v"
|
|
39
|
-
), f'GITHUB_REF should start with "refs/tags/v": {args.GITHUB_REF}'
|
|
40
|
-
tag_version = args.GITHUB_REF[11:]
|
|
41
|
-
package_version = get_version_from_module(
|
|
42
|
-
Path("aiida_hyperqueue/__init__.py").read_text(encoding="utf-8")
|
|
43
|
-
)
|
|
44
|
-
error_message = f"The tag version `{tag_version}` is different from the package version `{package_version}`"
|
|
45
|
-
assert tag_version == package_version, error_message
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Install pre-commit hooks via:
|
|
2
|
-
# pre-commit install
|
|
3
|
-
repos:
|
|
4
|
-
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
5
|
-
rev: v4.6.0
|
|
6
|
-
hooks:
|
|
7
|
-
- id: end-of-file-fixer
|
|
8
|
-
- id: fix-encoding-pragma
|
|
9
|
-
- id: mixed-line-ending
|
|
10
|
-
- id: trailing-whitespace
|
|
11
|
-
- id: check-json
|
|
12
|
-
|
|
13
|
-
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
14
|
-
rev: v0.6.5
|
|
15
|
-
hooks:
|
|
16
|
-
- id: ruff-format
|
|
17
|
-
- id: ruff
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
version: 2
|
|
2
|
-
|
|
3
|
-
# YAML adapted from aiida-core .readthedocs.yml
|
|
4
|
-
|
|
5
|
-
# Disable all unneeded formats
|
|
6
|
-
formats: []
|
|
7
|
-
|
|
8
|
-
build:
|
|
9
|
-
os: ubuntu-22.04
|
|
10
|
-
tools:
|
|
11
|
-
python: '3.11'
|
|
12
|
-
jobs:
|
|
13
|
-
# Use uv to speed up the build
|
|
14
|
-
# https://docs.readthedocs.io/en/stable/build-customization.html#install-dependencies-with-uv
|
|
15
|
-
post_create_environment:
|
|
16
|
-
- asdf plugin add uv
|
|
17
|
-
- asdf install uv 0.2.9
|
|
18
|
-
- asdf global uv 0.2.9
|
|
19
|
-
post_install:
|
|
20
|
-
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH uv pip install .[docs]
|
|
21
|
-
|
|
22
|
-
# Let the build fail if there are any warnings
|
|
23
|
-
sphinx:
|
|
24
|
-
builder: html
|
|
25
|
-
configuration: docs/source/conf.py
|
|
26
|
-
fail_on_warning: true
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
## v0.3.0
|
|
2
|
-
|
|
3
|
-
### ⬆️ Update dependencies
|
|
4
|
-
|
|
5
|
-
* Provide support for `aiida-core~=2.7` via `BashCliScheduler` [[42b8f14](https://github.com/aiidateam/aiida-hyperqueue/commit/42b8f14412121daddc0a2e9eea1360ad949d4e65)]
|
|
6
|
-
|
|
7
|
-
## v0.2.1
|
|
8
|
-
|
|
9
|
-
### 🔧 Maintenance
|
|
10
|
-
|
|
11
|
-
* Add `update_changelog.py` script [[9b03acb](https://github.com/aiidateam/aiida-hyperqueue/commit/9b03acbf9cb804ef7f3c35c6d5b7495b917dacc6)]
|
|
12
|
-
* Add upper limit to `aiida-core` [[fd7a62f](https://github.com/aiidateam/aiida-hyperqueue/commit/fd7a62feae23f99899a025cfe411531576bf93fd)]
|
|
13
|
-
|
|
14
|
-
## v0.2.0
|
|
15
|
-
|
|
16
|
-
- [#18](https://github.com/aiidateam/aiida-hyperqueue/pull/18) A large refactoring with following changes:
|
|
17
|
-
|
|
18
|
-
- correctly support memory setup for resources.
|
|
19
|
-
- support turn on hyperthreading with latest version of hyperqueue.
|
|
20
|
-
- Support install hq to remote computer over CLI.
|
|
21
|
-
- adding unit tests with submit to real hq using the fixture from hyperqueue repo.
|
|
22
|
-
- Fix the submit bug for hq > 0.12 that resources are configured twice in job script and submit command.
|
|
23
|
-
|
|
24
|
-
- [#26](https://github.com/aiidateam/aiida-hyperqueue/pull/26) Change alloc add worker name (name appear in slurm queue) `aiida` -> `ahq`
|
|
25
|
-
- [#24](https://github.com/aiidateam/aiida-hyperqueue/pull/24) Use JSON format as output for hq job list and hq submit
|
|
26
|
-
|
|
27
|
-
## v0.1.1
|
|
28
|
-
|
|
29
|
-
Only a small fix to the `README.md` was added here, this release is mainly to test the automated deployment to PyPI.
|
|
30
|
-
|
|
31
|
-
## v0.1.0
|
|
32
|
-
|
|
33
|
-
First release on PyPI, tested with HyperQueue v0.15.0.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
build/
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Makefile for Sphinx documentation
|
|
2
|
-
#
|
|
3
|
-
|
|
4
|
-
# You can set these variables from the command line.
|
|
5
|
-
SPHINXOPTS =
|
|
6
|
-
SPHINXBUILD = sphinx-build
|
|
7
|
-
PAPER =
|
|
8
|
-
BUILDDIR = build
|
|
9
|
-
|
|
10
|
-
# User-friendly check for sphinx-build
|
|
11
|
-
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
|
12
|
-
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
|
|
13
|
-
endif
|
|
14
|
-
|
|
15
|
-
# Internal variables.
|
|
16
|
-
PAPEROPT_a4 = -D latex_paper_size=a4
|
|
17
|
-
PAPEROPT_letter = -D latex_paper_size=letter
|
|
18
|
-
ALLSPHINXOPTS = -n -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
|
19
|
-
# the i18n builder cannot share the environment and doctrees with the others
|
|
20
|
-
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
|
21
|
-
|
|
22
|
-
.PHONY: all help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext customdefault
|
|
23
|
-
|
|
24
|
-
## Runs nit-picky and converting warnings into errors to
|
|
25
|
-
## make sure the documentation is properly written
|
|
26
|
-
customdefault:
|
|
27
|
-
$(SPHINXBUILD) -b html -nW $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
|
28
|
-
|
|
29
|
-
all: html
|
|
30
|
-
|
|
31
|
-
clean:
|
|
32
|
-
rm -r $(BUILDDIR)
|
|
33
|
-
|
|
34
|
-
html:
|
|
35
|
-
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
|
36
|
-
@echo
|
|
37
|
-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
view:
|
|
41
|
-
xdg-open $(BUILDDIR)/html/index.html
|