
# `nextflow`

The `nextflow` package contains various top-level classes.

## Class Diagram

```mermaid
classDiagram
    %%
    %% nextflow
    %%
    class Nextflow
    class Channel
    class Session {
        baseDir : Path
        binding : ScriptBinding
        cache : CacheDB
        commandLine : String
        commitId : String
        config : Map
        configFiles : List~Path~
        dag : DAG
        profile : String
        runName : String
        script : BaseScript
        uniqueId : UUID
        workDir : Path
    }

```

```note
Some classes may be excluded from the above diagram for brevity.
```

## Notes

The `Nextflow` class implements several methods that are exposed to Nextflow scripts. See [Global namespace][stdlib-namespaces-global] for details.

The `Channel` class implements the channel factory methods, and it is exposed directly to Nextflow scripts. See [Channel factories][channel-factory] for details.

The `Session` class is the top-level representation of a Nextflow run, or "session". See [nextflow.script][nextflow-script] for more details about how a `Session` is created.

[channel-factory]: ../reference/stdlib-namespaces/channel
[nextflow-script]: ./nextflow.script
[stdlib-namespaces-global]: ../reference/stdlib-namespaces/global