docs: update doc-environment.yml file and Documentation Setup documentation#3058
Conversation
WalkthroughThe changes involve updates to the Changes
Assessment against linked issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (1)
doc-environment.yml (1)
4-4: Potential Compatibility Issue with Python Version RequirementThe codebase contains references to Python
>=3.12insnakemake/parser.py, which might require features not available in Python 3.11. This could lead to compatibility issues if the environment is set to>=3.11. Please review the dependencies and ensure that the specified Python version aligns with the code requirements.
snakemake/parser.py: References to Python>=3.12could indicate a need for features from this version.snakemake/linting/snakefiles.py: Contains a reference to Python>=3.6, which is not conflicting but worth noting.Please verify and adjust the Python version requirement as necessary to ensure compatibility across the codebase.
Analysis chain
LGTM! But verify compatibility with the rest of the codebase.
Updating the Python version requirement to
>=3.11ensures compatibility with newer features and improvements in the language. However, ensure that the rest of the codebase is compatible with this version.The code changes are approved.
Run the following script to verify the compatibility of the new Python version with the rest of the codebase:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify compatibility of the new Python version with the rest of the codebase. # Test: Search for Python version requirements in the codebase. Expect: Only occurrences of the new version. rg --type yaml 'python >=3.11'Length of output: 109
Script:
#!/bin/bash # Description: Search for any Python version specifications in the codebase to ensure there are no conflicts. # Test: Search for any Python version specifications in YAML files. rg --type yaml 'python >=' # Test: Search for any Python version specifications in other common configuration files. rg 'python >='Length of output: 504
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (17)
- doc-environment.yml (1 hunks)
- docs/conf.py (1 hunks)
- docs/executing/caching.rst (1 hunks)
- docs/executing/cli.rst (1 hunks)
- docs/getting_started/migration.rst (3 hunks)
- docs/project_info/contributing.rst (1 hunks)
- docs/project_info/faq.rst (6 hunks)
- docs/snakefiles/best_practices.rst (1 hunks)
- docs/snakefiles/configuration.rst (2 hunks)
- docs/snakefiles/foreign_wms.rst (1 hunks)
- docs/snakefiles/modularization.rst (2 hunks)
- docs/snakefiles/reporting.rst (3 hunks)
- docs/snakefiles/rules.rst (6 hunks)
- docs/snakefiles/utils.rst (1 hunks)
- docs/tutorial/additional_features.rst (2 hunks)
- docs/tutorial/basics.rst (2 hunks)
- docs/tutorial/setup.rst (5 hunks)
Files skipped from review due to trivial changes (16)
- docs/conf.py
- docs/executing/caching.rst
- docs/executing/cli.rst
- docs/getting_started/migration.rst
- docs/project_info/contributing.rst
- docs/project_info/faq.rst
- docs/snakefiles/best_practices.rst
- docs/snakefiles/configuration.rst
- docs/snakefiles/foreign_wms.rst
- docs/snakefiles/modularization.rst
- docs/snakefiles/reporting.rst
- docs/snakefiles/rules.rst
- docs/snakefiles/utils.rst
- docs/tutorial/additional_features.rst
- docs/tutorial/basics.rst
- docs/tutorial/setup.rst
Additional comments not posted (5)
doc-environment.yml (5)
19-19: LGTM!Adding
snakemake-interface-commonwith version>=1.17.0enhances the environment's capabilities, likely to support more advanced features or integrations related to Snakemake.The code changes are approved.
20-20: LGTM!Adding
snakemake-interface-executor-pluginswith version>=9.1.0enhances the environment's capabilities, likely to support more advanced features or integrations related to Snakemake.The code changes are approved.
21-21: LGTM!Adding
snakemake-interface-storage-pluginswith version>=3.2.3enhances the environment's capabilities, likely to support more advanced features or integrations related to Snakemake.The code changes are approved.
24-24: LGTM!Adding
sphinxawesome-themeenhances the documentation styling options available within the environment.The code changes are approved.
11-11: LGTM! But verify the integration and testing of the new dependency.Replacing
ratelimiterwiththrottlersuggests a change in the approach to rate limiting within the environment. Ensure that the new dependency is correctly integrated and tested.The code changes are approved.
Run the following script to verify the integration and testing of the new dependency:
787025a to
15d0b45
Compare
There was a problem hiding this comment.
Caution
Inline review comments failed to post
Actionable comments posted: 3
Outside diff range, codebase verification and nitpick comments (1)
snakemake/dag.py (1)
720-750: LGTM! Consider adding comments for clarity.The
check_output_mtimemethod is well-implemented and enhances the reliability of the workflow by addressing potential clock skew issues. Consider adding comments to explain the purpose of each step for better readability.
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (4)
CHANGELOG.mdis excluded by!CHANGELOG.mdtests/test_inferred_resources_mib/expected-results/test1.outis excluded by!**/*.outtests/test_inferred_resources_mib/expected-results/test2.outis excluded by!**/*.outtests/test_inferred_resources_mib/expected-results/test3.outis excluded by!**/*.out
Files selected for processing (20)
- .gitignore (1 hunks)
- docs/getting_started/installation.rst (2 hunks)
- docs/snakefiles/rules.rst (7 hunks)
- setup.cfg (2 hunks)
- setup.py (1 hunks)
- snakemake/init.py (1 hunks)
- snakemake/api.py (2 hunks)
- snakemake/assets/init.py (1 hunks)
- snakemake/common/init.py (3 hunks)
- snakemake/dag.py (5 hunks)
- snakemake/io.py (2 hunks)
- snakemake/ioutils.py (1 hunks)
- snakemake/parser.py (2 hunks)
- snakemake/persistence.py (1 hunks)
- snakemake/report/html_reporter/data/packages.py (3 hunks)
- snakemake/report/html_reporter/template/index.html.jinja2 (2 hunks)
- snakemake/resources.py (2 hunks)
- snakemake/rules.py (1 hunks)
- snakemake/workflow.py (36 hunks)
- tests/test_inferred_resources_mib/Snakefile (1 hunks)
Files skipped from review due to trivial changes (6)
- .gitignore
- docs/getting_started/installation.rst
- docs/snakefiles/rules.rst
- snakemake/common/init.py
- snakemake/io.py
- snakemake/ioutils.py
Additional context used
Path-based instructions (11)
snakemake/__init__.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.setup.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/report/html_reporter/data/packages.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/assets/__init__.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/persistence.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/resources.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/api.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/parser.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/rules.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/workflow.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.snakemake/dag.py (1)
Pattern
**/*.py: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of theselfargument of methods.
Do not suggest type annotation of theclsargument of classmethods.
Do not suggest return type annotation if a function or method does not contain areturnstatement.
Ruff
snakemake/report/html_reporter/data/packages.py
89-89: Within an
exceptclause, raise exceptions withraise ... from errorraise ... from Noneto distinguish them from errors in exception handling(B904)
snakemake/assets/__init__.py
27-27: Within an
exceptclause, raise exceptions withraise ... from errorraise ... from Noneto distinguish them from errors in exception handling(B904)
snakemake/rules.py
1041-1041: Use
key not in dictinstead ofkey not in dict.keys()Remove
.keys()(SIM118)
Additional comments not posted (42)
snakemake/__init__.py (3)
8-8: LGTM!The import statement for
get_versionsis correct and necessary for version retrieval.
10-11: LGTM!The version retrieval using
get_versionsand subsequent deletion of the function enhances encapsulation and cleans up the namespace.
13-14: LGTM!The declaration of
PIP_DEPLOYMENTS_PATHand its addition tosys.pathare correct and necessary for the deployment structure.tests/test_inferred_resources_mib/Snakefile (3)
1-8: LGTM!Rule
ais correctly defined with the specified output, resources, and shell command.
11-18: LGTM!Rule
bis correctly defined with the specified output, resources, and shell command.
21-28: LGTM!Rule
cis correctly defined with the specified output, resources, and shell command.setup.py (5)
2-2: LGTM!The import statement for
Pathis correct and necessary for path handling.
11-12: LGTM!The declaration of
source_dirusingPath(__file__).parentand its addition tosys.pathimproves the clarity and reliability of path handling.
18-18: LGTM!The import statement for
Assetsis correct and necessary for asset handling.
20-21: LGTM!The call to
Assets.deploy()enhances the setup process by automatically handling asset deployment.
27-27: LGTM!The addition of
package_datain thesetup()function ensures that necessary data files are bundled with the package, improving its completeness and functionality.setup.cfg (2)
32-32: LGTM!Setting
include_package_datatoTrueensures that non-code files are included when the package is built, which can be beneficial for including necessary resources.
53-53: LGTM!Removing the trailing space in the
smart-opendependency line improves the consistency of the formatting without impacting functionality.snakemake/report/html_reporter/data/packages.py (3)
4-5: LGTM!The import statements for
AssetDownloadError,Assets, andWorkflowErrorare necessary for the updated error handling and resource fetching logic.
16-54: LGTM!The
get_packagesfunction has been updated to uselicense_pathandsource_path, improving the clarity and reliability of resource references.
74-89: LGTM!The
Packageclass constructor has been updated to uselicense_pathandsource_path, and includes error handling viaAssetDownloadError, improving the robustness of the package initialization process.Tools
Ruff
89-89: Within an
exceptclause, raise exceptions withraise ... from errorraise ... from Noneto distinguish them from errors in exception handling(B904)
snakemake/report/html_reporter/template/index.html.jinja2 (4)
12-12: LGTM!Replacing the
get_resource_as_stringfilter with direct access to thesourceattribute of thepackagesdictionary enhances the clarity and possibly the performance of resource loading.
34-35: LGTM!Replacing the
get_resource_as_stringfilter with direct access to thesourcesattribute of thepackagesdictionary enhances the clarity and possibly the performance of resource loading.
36-36: LGTM!Replacing the
get_resource_as_stringfilter with direct access to thesourceattribute of thepackagesdictionary enhances the clarity and possibly the performance of resource loading.
37-39: LGTM!Replacing the
get_resource_as_stringfilter with direct access to thesourceattribute of thepackagesdictionary enhances the clarity and possibly the performance of resource loading.snakemake/assets/__init__.py (4)
10-11: LGTM!The custom exception class
AssetDownloadErroris correctly implemented.
104-113: LGTM!The method
deployis correctly implemented.
116-125: LGTM!The method
get_contentis correctly implemented.
128-132: LGTM!The method
base_pathis correctly implemented.snakemake/persistence.py (1)
44-44: LGTM!The modification to the
__init__method is correctly implemented and enhances the flexibility of thepathparameter.snakemake/resources.py (1)
645-645: LGTM!The modification to the
infer_resourcesfunction is correctly implemented and ensures that the computed resource size is always rounded up to the nearest whole number.snakemake/parser.py (2)
73-74: LGTM!The type hint for the
tokenparameter improves type safety and clarity.The code changes are approved.
1299-1315: LGTM!The type hints improve the readability of the function's interface and provide better context for users regarding the expected types of these parameters. The use of the
|=operator simplifies the code and enhances its readability.The code changes are approved.
snakemake/rules.py (1)
1032-1045: LGTM!The code changes are approved. The logic for inferring additional resources is correctly implemented and improves the maintainability of the code.
Tools
Ruff
1041-1041: Use
key not in dictinstead ofkey not in dict.keys()Remove
.keys()(SIM118)
snakemake/workflow.py (12)
20-20: LGTM!The addition of
Iterableto the import statement is appropriate for type hinting purposes.
152-152: LGTM!The change enhances flexibility by allowing both string and Path types for the working directory.
162-162: LGTM!Explicitly declaring the type of
global_resourcesimproves clarity regarding its expected structure.
253-253: LGTM!The assertion ensures that
storage_settingsis notNonebefore accessing its attributes, preventing potential runtime errors.
274-274: LGTM!The assertion ensures that
storage_settingsis notNonebefore proceeding with the method, preventing potential runtime errors.
385-385: LGTM!The assertion ensures that
execution_settingsis notNonebefore accessing its attributes, preventing potential runtime errors.
471-471: LGTM!The assertion ensures that
dag_settingsis notNonebefore accessing its attributes, preventing potential runtime errors.
476-476: LGTM!The assertion ensures that
deployment_settingsis notNonebefore accessing its attributes, preventing potential runtime errors.
675-675: LGTM!The change enhances flexibility by allowing both string and Path types for the shadow prefix.
694-694: LGTM!The assertion ensures that
dag_settingsis notNonebefore accessing its attributes, preventing potential runtime errors.
795-795: LGTM!The assertion ensures that
deployment_settingsis notNonebefore accessing its attributes, preventing potential runtime errors.
1084-1089: LGTM!The assertions ensure that critical settings are not
Nonebefore proceeding with the method, preventing potential runtime errors.snakemake/dag.py (1)
Line range hint
699-719: LGTM!The changes to the
check_and_touch_outputmethod improve robustness by ensuring output files are newer than the newest input file, addressing potential clock skew issues.
Comments failed to post (3)
snakemake/assets/__init__.py (1)
19-32: Improve exception handling.
Use
raise ... from errin the except clause to distinguish exceptions from errors in exception handling.Apply this diff to improve exception handling:
- except urllib.error.URLError as e: - raise AssetDownloadError(f"Failed to download asset {self.url}: {e}") + except urllib.error.URLError as e: + raise AssetDownloadError(f"Failed to download asset {self.url}: {e}") from eCommittable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.def get_content(self) -> bytes: """Get and validate asset content.""" req = urllib.request.Request(self.url, headers={"User-Agent": "snakemake"}) try: resp = urllib.request.urlopen(req) content = resp.read() except urllib.error.URLError as e: raise AssetDownloadError(f"Failed to download asset {self.url}: {e}") from e if self.sha256 != hashlib.sha256(content).hexdigest(): raise AssetDownloadError( f"Checksum mismatch when downloading asset {self.url}" ) return contentTools
Ruff
27-27: Within an
exceptclause, raise exceptions withraise ... from errorraise ... from Noneto distinguish them from errors in exception handling(B904)
snakemake/api.py (1)
290-295: Add a docstring to the
_no_dagmethod.The
_no_dagmethod is correctly implemented as a decorator. However, it lacks a docstring explaining its purpose and usage.Apply this diff to add a docstring to the
_no_dagmethod:def _no_dag(method): + """ + Decorator to enforce specific behavior when a DAG is not present. + Sets `self.resource_settings.cores` to 1 before executing the wrapped method. + """ def _handle_no_dag(self: "WorkflowApi", *args, **kwargs): self.resource_settings.cores = 1 return method(self, *args, **kwargs) return _handle_no_dagCommittable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.def _no_dag(method): """ Decorator to enforce specific behavior when a DAG is not present. Sets `self.resource_settings.cores` to 1 before executing the wrapped method. """ def _handle_no_dag(self: "WorkflowApi", *args, **kwargs): self.resource_settings.cores = 1 return method(self, *args, **kwargs) return _handle_no_dagsnakemake/rules.py (1)
1041-1041: Simplify dictionary key check.
Use
key not in dictinstead ofkey not in dict.keys()for better readability and performance.Apply this diff to fix the issue:
- and mib_item not in self.resources.keys() + and mib_item not in self.resourcesCommittable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.and mib_item not in self.resourcesTools
Ruff
1041-1041: Use
key not in dictinstead ofkey not in dict.keys()Remove
.keys()(SIM118)
15d0b45 to
25f1ac9
Compare
|
Sorry for messing around with commits/force push. I had included squashed commits from #3052 in this commit. I think now they should be removed but let me know if there are things I should clean up |
Required to build the "All options" part of the CLI documentation
doc-environment.yml filedoc-environment.yml file and Documentation Setup documentation
|
|
I just realized that without installing snakemake, the "All options" of the CLI page would not build. |
There was a problem hiding this comment.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- doc-environment.yml (1 hunks)
- docs/project_info/contributing.rst (1 hunks)
Additional comments not posted (7)
doc-environment.yml (6)
19-19: LGTM! But verify the integration and testing of the new dependency.Adding the
snakemake-interface-common >=1.17.0dependency enhances the environment's capabilities. Ensure that the new dependency is correctly integrated and tested.The code changes are approved.
Run the following script to verify the integration and testing of the new dependency:
20-20: LGTM! But verify the integration and testing of the new dependency.Adding the
snakemake-interface-executor-plugins >=9.1.0dependency enhances the environment's capabilities. Ensure that the new dependency is correctly integrated and tested.The code changes are approved.
Run the following script to verify the integration and testing of the new dependency:
4-4: LGTM! But verify compatibility with the rest of the codebase.Updating the Python version requirement to
>=3.11ensures compatibility with newer features and improvements in the language. However, ensure that the rest of the codebase is compatible with Python 3.11.The code changes are approved.
Run the following script to verify the compatibility of the new Python version with the rest of the codebase:
Verification successful
No Python 3.11 specific features found in the codebase.
The search did not reveal any Python 3.11 specific features or syntax, suggesting compatibility with Python 3.11. However, consider manually verifying other aspects of compatibility if necessary.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the compatibility of the new Python version with the rest of the codebase. # Test: Check for any syntax errors or deprecated features in the codebase. python3.11 -m compileall .Length of output: 106
Script:
#!/bin/bash # Description: Search for Python 3.11 specific features or syntax in the codebase. # Using ripgrep to search for Python 3.11 specific syntax or features. rg --include '*.py' 'match case|pattern matching|PEP 634|PEP 635|PEP 636' .Length of output: 519
Script:
#!/bin/bash # Description: Search for Python 3.11 specific features or syntax in the codebase. # Using ripgrep to search for Python 3.11 specific syntax or features in Python files. rg -t py 'match case|pattern matching|PEP 634|PEP 635|PEP 636' .Length of output: 66
11-11: LGTM! But verify the integration and testing of the new dependency.Replacing
ratelimiterwiththrottlersuggests a change in the approach to rate limiting within the environment. Ensure that the new dependency is correctly integrated and tested.The code changes are approved.
Run the following script to verify the integration and testing of the new dependency:
24-24: LGTM! But verify the integration and testing of the new dependency.Adding the
sphinxawesome-themedependency enhances the documentation styling options available within the environment. Ensure that the new dependency is correctly integrated and tested.The code changes are approved.
Run the following script to verify the integration and testing of the new dependency:
21-21: LGTM! But verify the integration and testing of the new dependency.Adding the
snakemake-interface-storage-plugins >=3.2.3dependency enhances the environment's capabilities. Ensure that the new dependency is correctly integrated and tested.The code changes are approved.
Run the following script to verify the integration and testing of the new dependency:
docs/project_info/contributing.rst (1)
189-194: LGTM!Adding instructions for installing the development version of Snakemake enhances the clarity of the setup process for contributors.
The code changes are approved.
doc-environment.yml file and Documentation Setup documentationdoc-environment.yml file and Documentation Setup documentation
|
Thanks a lot! No problem with the commits, we always squash merge. |
🤖 I have created a release *beep* *boop* --- ## [8.19.1](v8.19.0...v8.19.1) (2024-09-04) ### Bug Fixes * fix issues with misinterpretation of max-jobs-per-timespan and max-jobs-per-seconds ([#3067](#3067)) ([d82453b](d82453b)) * pip deployment path ([#3062](#3062)) ([bf9305b](bf9305b)) * return empty set if rate limiter at max ([#3060](#3060)) ([4e59963](4e59963)) * use wrapt_timeout_decorator, instead of stopit ([#2938](#2938)) ([3b64e41](3b64e41)) * Wrong linenumbers reported when linting ([#2985](#2985)) ([3a8bd36](3a8bd36)) ### Documentation * update `doc-environment.yml` file and Documentation Setup documentation ([#3058](#3058)) ([a540a2e](a540a2e)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Johannes Köster <johannes.koester@tu-dortmund.de>



This PR fixes #3054 by updating the
doc-environment.ymlfile:sphinxawesome-theme,snakemake-interface-common >=1.17.0,snakemake-interface-executor-plugins >=9.1.0,snakemake-interface-storage-plugins >=3.2.3dependenciesratelimiterbythrottlerAnother option which I mentioned in #3054 would be to merge the
test-environment.ymlanddoc-environment.yml. Let me know if you would prefer this.QC
docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).Summary by CodeRabbit
New Features
sphinxawesome-theme.Bug Fixes
Documentation