# Python Compileall Module

The `compileall` module provides some utility functions to support installing Python libraries. It compiles Python source files in a directory tree. This module can be used to force compilation of all `.py` files in a directory.

## Importing the Module

```python
import compileall
```

## Programmatic Usage

### Compiling a Directory

To compile all `.py` files in a directory (and recursively in subdirectories), use `compileall.compile_dir()`.

```python
import compileall

# Compile all files in the current directory
compileall.compile_dir('.', force=True)
```

*   `dir`: The directory to compile.
*   `maxlevels`: Depth of recursion (default 10).
*   `force`: If True, force recompilation even if timestamps are up-to-date.
*   `quiet`: If non-zero, suppress output.

### Compiling a Single File

To compile a single file, use `compileall.compile_file()`.

```python
import compileall

compileall.compile_file('myscript.py')
```

## Command Line Usage

The module can be executed as a script to compile Python sources.

```bash
python -m compileall .
```

### Options

*   `-l`: Don't recurse into subdirectories.
*   `-f`: Force rebuild even if timestamps are up-to-date.
*   `-q`: Quiet operation.

```bash
# Compile current directory, force rebuild, quiet output
python -m compileall -f -q .
```

[[programming/python/python]]