You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/developer/config-scopes.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ This page provides guidance on defining configuration scopes in the Nextflow run
8
8
9
9
The Nextflow configuration is defined as a collection of *scope classes*. Each scope class defines the set of available options, including their name, type, and an optional description for a specific configuration scope.
10
10
11
-
Scope classes are used to generate a configuration schema, which is in turn used for several purposes:
11
+
Scope classes are used to generate a configuration spec, which is in turn used for several purposes:
12
12
13
13
- Validating config options at runtime (`nextflow run` and `nextflow config`)
14
14
@@ -29,15 +29,15 @@ For example:
29
29
```groovy
30
30
package nextflow.hello
31
31
32
-
import nextflow.config.schema.ConfigScope
33
-
import nextflow.config.schema.ScopeName
32
+
import nextflow.config.spec.ConfigScope
33
+
import nextflow.config.spec.ScopeName
34
34
35
35
@ScopeName('hello')
36
36
class HelloConfig implements ConfigScope {
37
37
}
38
38
```
39
39
40
-
A scope class must provide a default constructor, so that it can be instantiated as an extension point. If no such constructor is defined, the config scope will not be included in the schema. In the above example, this constructor is implicitly defined because no constructors were declared.
40
+
A scope class must provide a default constructor, so that it can be instantiated as an extension point. If no such constructor is defined, the config scope will not be detected by Nextflow. In the above example, this constructor is implicitly defined because no constructors were declared.
41
41
42
42
The fully-qualified class name (in this case, `nextflow.hello.HelloConfig`) must be included in the list of extension points.
43
43
@@ -59,7 +59,7 @@ The `@ConfigOption` annotation can specify an optional set of types that are val
59
59
String tags
60
60
```
61
61
62
-
The field type and any additional types are included in the schema, allowing them to be used for validation.
62
+
The field type and any additional types are included in the config spec, allowing them to be used for validation.
63
63
64
64
The field type can be any Java or Groovy class, but in practice it should be a class that can be constructed from primitive values (numbers, booleans, strings). For example, `Duration` and `MemoryUnit` are standard Nextflow types that can each be constructed from an integer or string.
65
65
@@ -83,7 +83,7 @@ See `AzBatchOpts` and `AzPoolOpts` for an example of how placeholder scopes are
83
83
84
84
### Descriptions
85
85
86
-
Top-level scope classes and config options should use the `@Description` annotation to provide a description of the scope or option. This description is included in the schema, which is in turn used by the language server to provide hover hints.
86
+
Top-level scope classes and config options should use the `@Description` annotation to provide a description of the scope or option. This description is included in the config spec, which is in turn used by the language server to provide hover hints.
87
87
88
88
For example:
89
89
@@ -121,9 +121,9 @@ The Nextflow runtime adheres the following best practices where appropriate:
121
121
For example:
122
122
123
123
```groovy
124
-
import nextflow.config.schema.ConfigOption
125
-
import nextflow.config.schema.ConfigScope
126
-
import nextflow.config.schema.ScopeName
124
+
import nextflow.config.spec.ConfigOption
125
+
import nextflow.config.spec.ConfigScope
126
+
import nextflow.config.spec.ScopeName
127
127
128
128
@ScopeName('hello')
129
129
class HelloConfig implements ConfigScope {
@@ -147,7 +147,7 @@ class HelloConfig implements ConfigScope {
147
147
148
148
### Runtime
149
149
150
-
Nextflow validates the config map after it is loaded. Top-level config scopes are loaded by the plugin system as extension points and converted into a schema, which is used to validate the config map.
150
+
Nextflow validates the config map after it is loaded. Top-level config scopes are loaded by the plugin system as extension points and converted into a config spec, which is used to validate the config map.
151
151
152
152
Plugins are loaded after the config is loaded and before it is validated, since plugins can also define config scopes. If a third-party plugin declares a config scope, it must be explicitly enabled in order to validate config options from the plugin. Otherwise, Nextflow will report these options as unrecognized.
153
153
@@ -165,12 +165,12 @@ new ExecutorConfig( Global.session.config.executor as Map ?: Collections.emptyMa
165
165
In practice, it is better to avoid the use of `Global` and provide an instance of `Session` to the client class instead.
166
166
:::
167
167
168
-
### JSON Schema
168
+
### Config spec
169
169
170
-
Config scope classes can be converted into a schema with the `SchemaNode` class, which uses reflection to extract metadata such as scope names, option names, types, and descriptions. This schema is rendered to JSON and used by the language server at build-time to provide code intelligence such as code completion and hover hints.
170
+
Config scope classes can be converted into a config spec with the `SpecNode` class, which uses reflection to extract metadata such as scope names, option names, types, and descriptions. This spec is rendered to JSON and used by the language server at build-time to provide code intelligence such as code completion and hover hints.
171
171
172
172
### Documentation
173
173
174
-
The schema described above can also be rendered to Markdown using the `MarkdownRenderer` class. It produces a Markdown document approximating the {ref}`config-options` page.
174
+
The config spec described above can be rendered to Markdown using the `MarkdownRenderer` class. It produces a Markdown document approximating the {ref}`config-options` page.
175
175
176
176
This approach to docs generation is not yet complete, and has not been incorporated into the build process yet. However, it can be used to check for discrepancies between the source code and docs when making changes. The documentation should match the `@Description` annotations as closely as possible, but may contain additional details such as version notes and extra paragraphs.
Copy file name to clipboardExpand all lines: docs/guides/aws-java-sdk-v2.md
+10-7Lines changed: 10 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
# AWS Java SDK v2
4
4
5
-
AWS Java SDK v1 will reach end of life at the end of 2025. Starting with version `25.06.0-edge`, Nextflow uses AWS Java SDK v2 in the `nf-amazon` plugin.
5
+
AWS Java SDK v1 will reach end of life at the end of 2025. Starting in Nextflow 25.10, Nextflow uses AWS Java SDK v2 in the `nf-amazon` plugin.
6
6
7
7
This migration introduces several breaking changes to the `aws.client` config scope, including new and removed options. This page describes these changes and how they affect your Nextflow configuration.
8
8
@@ -16,18 +16,21 @@ The HTTP client in SDK v2 does not support overriding certain advanced HTTP opti
16
16
-`aws.client.socketSendBufferSizeHint`
17
17
-`aws.client.userAgent`
18
18
19
-
## S3 transfer manager
19
+
## Parallel S3 operations
20
20
21
-
The *S3 transfer manager* is a subsystem of SDK v2 that handles S3 uploads and downloads.
21
+
Nextflow manages S3 transfers, including uploads, downloads, and S3-to-S3 copies, separately from other S3 API calls such as listing a directory or retrieving object metadata.
22
22
23
-
You can configure the concurrency and throughput of the S3 transfer manager manually using the `aws.client.maxConcurrency` and `aws.client.maxNativeMemory` configuration options. Alternatively, you can use the `aws.client.targetThroughputInGbps` option to set both values automatically based on a target throughput.
23
+
Use the `aws.client.targetThroughputInGbps` option to control the concurrency of S3 transfers based on the available network bandwidth. This setting defaults to `10`, which allows Nextflow to perform concurrent S3 transfers up to 10 Gbps of network throughput.
24
+
25
+
Use the `aws.client.maxConnections` config option to control the maximum number of concurrent HTTP connections for all other S3 API calls.
24
26
25
27
## Multi-part transfers
26
28
27
-
Multi-part transfer are handled by the S3 transfer manager. You can use the `aws.client.minimumPartSize` and `aws.client.multipartThreshold` config options to control when and how multi-part transfers are performed.
28
-
Concurrent multi-part downloads can consume large heap memory space due to the buffer size created per transfer. To avoid out of memory errors, the size consumed by these buffers is limited to 400 MB. You can use `aws.client.maxDownloadHeapMemory` to change this value.
29
+
Nextflow transfers large files to and from S3 as multipart transfers. Use the `aws.client.minimumPartSize` and `aws.client.multipartThreshold` configuration options to control when and how multipart transfers are performed.
30
+
31
+
Concurrent multipart downloads can consume a large amount of heap memory due to the buffer allocated by each transfer. To avoid out-of-memory errors, the size consumed by these buffers is limited to 400 MB by default. Use the `aws.client.maxDownloadHeapMemory` option to control this value.
29
32
30
-
The following multi-part upload config options are no longer supported:
33
+
The following multipart upload config options are no longer supported:
Copy file name to clipboardExpand all lines: docs/install.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -164,12 +164,14 @@ The standalone distribution will still download core and third-party plugins as
164
164
165
165
You can launch workflows directly from [Seqera Platform](https://seqera.io/platform/) without installing Nextflow locally.
166
166
167
-
Launching from Seqera Platform provides you with:
167
+
Launching from Seqera provides you with:
168
168
169
169
- User-friendly launch interfaces.
170
170
- Automated cloud infrastructure creation.
171
171
- Organizational user management.
172
172
- Advanced analytics with resource optimization.
173
173
174
174
Seqera Cloud Basic is free for small teams. Researchers at qualifying academic institutions can apply for free access to Seqera Cloud Pro.
175
-
See the [Seqera Platform documentation](https://docs.seqera.io/platform) for tutorials to get started.
175
+
See [Seqera Platform Cloud](https://docs.seqera.io/platform) to get started.
176
+
177
+
If you have installed Nextflow locally, you can use the {ref}`nextflow auth <cli-auth>` command to authenticate with Seqera and automatically configure workflow monitoring.
0 commit comments