## ObjectManifest


The committed record for one object.


Usage

``` python
ObjectManifest(
    key,
    kind,
    locator,
    policy=Policy(),
    state=None,
    pin=None,
    captured_at=None,
    recoverable=True,
    origin="adopted"
)
```


`state`/[pin](testing.ObjectBackend.md#tether.testing.ObjectBackend.pin) are `None` until the object has been committed at least once. [recoverable](ObjectStatus.md#tether.ObjectStatus.recoverable) is `False` for Observed-tier objects whose committed state cannot be reconstructed later (e.g. a mutable file by mtime).


## Parameter Attributes


`key: str`  

`kind: str`  

`locator: Locator`  

`policy: Policy = Policy()`  

`state: State | None = None`  

`pin: Pin | None = None`  

`captured_at: str | None = None`  

`recoverable: bool = ``True`  

`origin: Literal[``"adopted", `<span class="st">`"created"``]`</span>` = ``"adopted"`  
[created](Pin.md#tether.Pin.created) when `add --create` made the store. Informational - shown by [status](backends.VerifyReport.md#tether.backends.VerifyReport.status), never consulted by `gc`: a committed manifest is untrusted, and only the owner marker in the store itself says whose the store is.


## Methods

| Name | Description |
|----|----|
| [canonical()](#canonical) | Deterministic encoding used for the manifest hash. |

------------------------------------------------------------------------


#### canonical()


Deterministic encoding used for the manifest hash.


Usage

``` python
canonical()
```
