> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uniac.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# System

> API reference for uniac.System.

`uniac.System` is the base class for `kind=app` packages — deployable compositions. It is a pure marker subclass of [`NodeSpec`](/sdk/nodespec), identical in shape to [`Service`](/sdk/service). The distinction is intent and the `kind` field in [`uniac.json`](/concepts/manifest): a System is what you deploy.

```python theme={null}
from uniac import System, load
```

## Declaring a System

```python theme={null}
from uniac import System, load
from db import Db
from cache import Cache

class Api(System):
    db: Db
    cache: Cache

    def __init__(self, log_level: str = "info"):
        self.db = Db()
        self.cache = Cache()
        self.log_level = log_level

service = load(Api)
```

[`load`](/sdk/load) reads `UNIAC_INIT_*` env vars into `__init__` keyword args, constructs the instance, validates that every annotated [`Node`](/sdk/node) is set, and hydrates each Node's `.url` from the deploy-time wiring.

## What `System` provides

Same as [`Service`](/sdk/service): the validation and walk hooks inherited from [`NodeSpec`](/sdk/nodespec). No additional methods.

Use `Service` for libs and `System` for the unit you deploy.
