Skip to content

Commit 341a79a

Browse files
authored
Merge branch 'main' into params_serialize
2 parents 485eab5 + 76d5329 commit 341a79a

File tree

158 files changed

+3658
-1067
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+3658
-1067
lines changed

.github/workflows/main.yml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,13 @@ jobs:
5858
cp test-environment.yml test-environment-${{ matrix.py_ver }}.yml
5959
sed -E -i 's/- python.+/- python =${{ matrix.py_ver }}/' test-environment-${{ matrix.py_ver }}.yml
6060
61-
- name: Setup snakemke environment
62-
uses: mamba-org/setup-micromamba@v1
61+
- name: Setup snakemake environment
62+
uses: conda-incubator/setup-miniconda@v3
6363
with:
64+
miniforge-version: latest
6465
environment-file: test-environment-${{ matrix.py_ver }}.yml
6566
environment-name: snakemake
66-
cache-environment: true
67+
auto-update-conda: true
6768

6869
- name: Install snakemake from source
6970
shell: bash -el {0}
@@ -81,6 +82,13 @@ jobs:
8182
sudo apt-get update
8283
sudo apt install -y stress git wget openmpi-bin libopenmpi-dev apptainer
8384
85+
# See https://github.com/apptainer/apptainer/pull/2262
86+
- name: Disable apparmor namespace restrictions for apptainer
87+
run: |
88+
sudo sh -c 'echo kernel.apparmor_restrict_unprivileged_userns=0 \
89+
>/etc/sysctl.d/90-disable-userns-restrictions.conf'
90+
sudo sysctl -p /etc/sysctl.d/90-disable-userns-restrictions.conf
91+
8492
- name: Test local
8593
env:
8694
CI: true
@@ -145,12 +153,12 @@ jobs:
145153
print(line, end="")
146154
147155
- name: Setup snakemake environment
148-
uses: mamba-org/setup-micromamba@v1
156+
uses: conda-incubator/setup-miniconda@v3
149157
with:
158+
miniforge-version: latest
150159
environment-file: test-environment.yml
151160
environment-name: snakemake
152-
init-shell: powershell
153-
cache-environment: true
161+
auto-update-conda: true
154162

155163
- name: Install snakemake from source
156164
run: |

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,5 @@ dist/
2828
tests/test*/*
2929
playground/*
3030
tutorial/*
31+
32+
snakemake/assets/data

CHANGELOG.md

Lines changed: 307 additions & 0 deletions
Large diffs are not rendered by default.

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ RUN micromamba create -q -y -c bioconda -c conda-forge -n snakemake \
1919
snakemake-minimal --only-deps && \
2020
eval "$(micromamba shell hook --shell bash)" && \
2121
micromamba activate /opt/conda/envs/snakemake && \
22-
micromamba install -c conda-forge mamba && \
22+
micromamba install -c conda-forge conda && \
2323
micromamba clean --all -y
2424

2525
ENV PATH /opt/conda/envs/snakemake/bin:/opt/conda/envs/apptainer/bin:${PATH}

MANIFEST.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
include versioneer.py
22
include snakemake/_version.py
33
include LICENSE.md
4+
5+
# Include tests in sdist, otherwise only tests/test*.py are included by default
6+
graft tests

apidocs/api_reference/snakemake_api.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ It can be used as follows:
1818
1919
with api.SnakemakeApi(
2020
settings.OutputSettings(
21-
verbose=True,
21+
verbose=False,
2222
show_failed_logs=True,
2323
),
2424
) as snakemake_api:
@@ -30,6 +30,7 @@ It can be used as follows:
3030
dag_api = workflow_api.dag()
3131
# Go on by calling methods of the dag api.
3232
33+
3334
.. autosummary::
3435
:toctree: _autosummary
3536
:template: module_template.rst

doc-environment.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
11
channels:
22
- conda-forge
33
dependencies:
4-
- python >=3.7
4+
- python >=3.11
55
- datrie
66
- wrapt
77
- pyyaml
88
- requests
99
- appdirs
1010
- docutils
11-
- ratelimiter
11+
- throttler
1212
- configargparse
1313
- jsonschema
1414
- gitpython
1515
- sphinx
1616
- pip
1717
- pip:
1818
- sphinxcontrib-napoleon
19+
- snakemake-interface-common >=1.17.0
20+
- snakemake-interface-executor-plugins >=9.1.0
21+
- snakemake-interface-storage-plugins >=3.2.3
1922
- sphinx-argparse
2023
- sphinx_rtd_theme
24+
- sphinxawesome-theme
2125
- docutils
2226
- recommonmark
2327
- commonmark

docs/_static/custom.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@
1515
#content {
1616
overflow-x: auto;
1717
}
18+
19+
code {
20+
font-family: monospace !important;
21+
}

docs/conf.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
"sphinxarg.ext",
4040
"sphinx.ext.autosectionlabel",
4141
"myst_parser",
42-
"sphinxawesome_theme.highlighting",
4342
]
4443

4544
html_css_files = ["custom.css"]

docs/executing/caching.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ For example,
2222
2323
would instruct Snakemake to cache and reuse the results of the rules ``download_data`` and ``create_index``.
2424
The environment variable definition that happens in the first line (defining the location of the cache) should of course be done only once and system wide in reality.
25-
When Snakemake is executed without a shared filesystem (e.g., in the cloud, see :ref:`cloud`), the environment variable has to point to a location compatible with the given remote provider (e.g. an S3 or Google Storage bucket).
25+
When Snakemake is executed without a shared filesystem (e.g., in the cloud, see :ref:`tutorial-cloud`), the environment variable has to point to a location compatible with the given remote provider (e.g. an S3 or Google Storage bucket).
2626
In any case, the provided location should be shared between all workflows of your group, institute or computing environment, in order to benefit from the reuse of previously obtained intermediate results.
2727

2828
Alternatively, rules can be marked as eligible for caching via the ``cache`` directive:

0 commit comments

Comments
 (0)