# Source.spec
URL: https://lsd.tools/docs/api-source-spec
Updated: 2026-07-17

## Example

```python
from lsdtools import Source

Source.file("a.csv").spec        # → the JSON spec string stored in the project
```

## Notes

The spec captures the source *kind* plus its config, which is exactly what LSD persists in the
project. For a step-bound `Source`, `spec` reads the bound step's `source` param; for a value
built with [`file`](/docs/api-source-file) / [`sql`](/docs/api-source-sql) /
[`of`](/docs/api-source-of), it returns that value's own spec. Read-only.

## See also

**API:** [read](/docs/api-source-read) · [paths](/docs/api-source-paths) · [of](/docs/api-source-of)

**Guides:** [Load steps](/docs/tools-load)
