<!-- Sema documentation — std.files
     Sema is a new AI-native, neurosymbolic programming language most models
     have not been trained on. Full corpus: https://sema.cortex.a2olabs.com/llms-full.txt
     Install language support: https://sema.cortex.a2olabs.com/install-skill/ -->

# std.files

> Reflected API reference for the Sema standard-library module std.files.

> Generated by `sema doc` from `crates/sema-runtime/assets/stdlib/sema/files.sema`. Import with `from std.files import …`. For a narrative introduction see [std.files](/stdlib/files/).

# `files`

Project-confined native path and filesystem helpers.

# `def join`

```sema
def join(parts: list[str]) -> str !{}
```

**Parameters**

| name | type |
|---|---|
| `parts` | `list[str]` |

**Returns** `str`

**Effects** `!{}`

# `def basename`

```sema
def basename(pathname: str) -> str !{}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `str`

**Effects** `!{}`

# `def dirname`

```sema
def dirname(pathname: str) -> str !{}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `str`

**Effects** `!{}`

# `def extension`

```sema
def extension(pathname: str) -> str !{}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `str`

**Effects** `!{}`

# `def stem`

```sema
def stem(pathname: str) -> str !{}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `str`

**Effects** `!{}`

# `def normalize`

```sema
def normalize(pathname: str) -> str !{}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `str`

**Effects** `!{}`

# `def read_text`

```sema
def read_text(pathname: str) -> Any !{fs.read}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `Any`

**Effects** `!{fs.read}`

# `def read_bytes`

```sema
def read_bytes(pathname: str) -> Any !{fs.read}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `Any`

**Effects** `!{fs.read}`

# `def write_text`

```sema
def write_text(pathname: str, text: str) -> Any !{fs.write}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |
| `text` | `str` |

**Returns** `Any`

**Effects** `!{fs.write}`

# `def write_bytes`

```sema
def write_bytes(pathname: str, data: list[int]) -> Any !{fs.write}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |
| `data` | `list[int]` |

**Returns** `Any`

**Effects** `!{fs.write}`

# `def exists`

```sema
def exists(pathname: str) -> Any !{fs.read}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `Any`

**Effects** `!{fs.read}`

# `def mkdir`

```sema
def mkdir(pathname: str) -> Any !{fs.write}
```

**Parameters**

| name | type |
|---|---|
| `pathname` | `str` |

**Returns** `Any`

**Effects** `!{fs.write}`
