## handles.IcechunkHandle


An Icechunk repository positioned at a branch (write) or tag (read).


Usage

``` python
handles.IcechunkHandle(
    key,
    read_only,
    repository,
    session=None,
    branch=None,
    tag=None,
    snapshot_id=None
)
```


[session](handles.IcechunkHandle.md#tether.handles.IcechunkHandle.session) is a ready-to-use Icechunk session (writable for a branch, read-only for a tag/snapshot); [repository](handles.IcechunkHandle.md#tether.handles.IcechunkHandle.repository) is provided for callers that want to open their own sessions.


## Parameter Attributes


`key: str`  
A short native label for display: the store's URI, path, repository, or database - or, for a branch-addressed system such as Neon, the branch the handle opens. Not an identity: two handles on one store may carry different keys, and the engine never compares handles by it. Use the typed fields ([uri](handles.FileHandle.md#tether.handles.FileHandle.uri), [path](handles.GitHandle.md#tether.handles.GitHandle.path), [branch](handles.NeonHandle.md#tether.handles.NeonHandle.branch), [snapshot_id](handles.IcebergHandle.md#tether.handles.IcebergHandle.snapshot_id), …) for anything that matters.

`read_only: bool`  
Whether writes through this handle are allowed.

`repository: Any`  
The `icechunk.Repository`.

`session: Any = None`  
An `icechunk.Session`: writable for a branch, read-only for a tag/snapshot.

`branch: str | None = None`  
Branch the session is on (writable handles).

`tag: str | None = None`  
Tag the session was opened at (pinned reads).

`snapshot_id: str | None = None`  
Snapshot the session is positioned at.
