semvec/pypi-packages huggingface dataset:
swarmauri_middleware_jsonrpc 0.8.0.dev33
Middleware for validating basic JSON-RPC requests
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, middleware, jsonrpc

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_middleware_jsonrpc/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_middleware_jsonrpc" alt="PyPI - Downloads"/>
    </a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_middleware_jsonrpc/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_middleware_jsonrpc.svg"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_middleware_jsonrpc/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_middleware_jsonrpc" alt="PyPI - Python Version"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_middleware_jsonrpc/">
        <img src="https://img.shields.io/pypi/l/swarmauri_middleware_jsonrpc" alt="PyPI - License"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_middleware_jsonrpc/">
        <img src="https://img.shields.io/pypi/v/swarmauri_middleware_jsonrpc?label=swarmauri_middleware_jsonrpc&color=green" alt="PyPI - swarmauri_middleware_jsonrpc"/>
    </a>
</p>

---

# Swarmauri Middleware JsonRpc

Middleware that performs simple validation of JSON-RPC requests.

## Features

- Validates JSON request bodies for JSON-RPC payloads when the
  `Content-Type` header starts with `application/json`.
- Returns `400 Bad Request` with a plain-text error when the body contains
  invalid JSON.
- Ensures JSON object payloads define a `jsonrpc` field, responding with
  `400 Bad Request` if it is missing.

## Installation

Install the middleware with your preferred Python packaging workflow:

```bash
pip install swarmauri_middleware_jsonrpc
```

```bash
poetry add swarmauri_middleware_jsonrpc
```

```bash
uv add swarmauri_middleware_jsonrpc
```

```bash
uv pip install swarmauri_middleware_jsonrpc
```

## Usage

```python
from fastapi import FastAPI
from swarmauri_middleware_jsonrpc import JsonRpcMiddleware

app = FastAPI()
app.middleware("http")(JsonRpcMiddleware().dispatch)
```

The middleware integrates with FastAPI's `app.middleware("http")` hook and is
compatible with the `MiddlewareBase` ecosystem.  Once registered, every incoming
JSON request is validated before reaching subsequent middleware or route
handlers.

## Request Validation

- Requests without an `application/json` content type bypass the middleware.
- Malformed JSON bodies are rejected with a `400` response containing the
  message `Invalid JSON`.
- JSON objects missing the `jsonrpc` key are rejected with a `400` response and
  the message `Missing jsonrpc field`.

## Want to help?

If you want to contribute to swarmauri-sdk, read up on our
[guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
that will help you get started.
swarmauri_gitfilter_file 0.3.0.dev32
Filesystem git filter for Peagen
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, gitfilter, file

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_gitfilter_file/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_gitfilter_file" alt="PyPI - Downloads"/>
    </a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_gitfilter_file/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_gitfilter_file.svg"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_gitfilter_file/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_gitfilter_file" alt="PyPI - Python Version"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_gitfilter_file/">
        <img src="https://img.shields.io/pypi/l/swarmauri_gitfilter_file" alt="PyPI - License"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_gitfilter_file/">
        <img src="https://img.shields.io/pypi/v/swarmauri_gitfilter_file?label=swarmauri_gitfilter_file&color=green" alt="PyPI - swarmauri_gitfilter_file"/>
    </a>
</p>

---

# Swarmauri Git Filter File

Filesystem backed git filter for Peagen.

`FileFilter` combines the `FileStorageAdapter` storage backend with the
`GitFilterBase` helpers from `swarmauri_base`. The filter stores git-cleaned
objects beneath a local directory, deduplicating each payload by its SHA-256
digest and retrieving the bytes on smudge.

## Installation

Install the package with your preferred Python packaging tool:

```bash
pip install swarmauri_gitfilter_file
```

```bash
poetry add swarmauri_gitfilter_file
```

```bash
uv pip install swarmauri_gitfilter_file
```

## Usage

`FileFilter.from_uri` accepts `file://` URIs and resolves them to the directory
where objects will be stored. You can also instantiate `FileFilter` directly by
passing an `output_dir`.

```python
import tempfile
from pathlib import Path

from swarmauri_gitfilter_file import FileFilter

with tempfile.TemporaryDirectory() as tmpdir:
    uri = Path(tmpdir).as_uri()
    filt = FileFilter.from_uri(uri)
    oid = filt.clean(b"hello")
    assert oid.startswith("sha256:")
    assert filt.smudge(oid) == b"hello"
```

The returned object identifier includes the `sha256:` prefix, matching the
digest used to deduplicate objects on disk.

## Want to help?

If you want to contribute to swarmauri-sdk, read up on our
[guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
that will help you get started.
swarmauri_embedding_doc2vec 0.9.0.dev33
A Doc2Vec based Embedding Model.
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, embedding, doc2vec, machine-learning


![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_embedding_doc2vec/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_embedding_doc2vec" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_embedding_doc2vec/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_embedding_doc2vec.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_embedding_doc2vec/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_embedding_doc2vec" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_embedding_doc2vec/">
        <img src="https://img.shields.io/pypi/l/swarmauri_embedding_doc2vec" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_embedding_doc2vec/">
        <img src="https://img.shields.io/pypi/v/swarmauri_embedding_doc2vec?label=swarmauri_embedding_doc2vec&color=green" alt="PyPI - swarmauri_embedding_doc2vec"/></a>
</p>

---

# Swarmauri Embedding Doc2vec

A [Gensim](https://radimrehurek.com/gensim/)-powered Doc2Vec implementation for document
embeddings in the Swarmauri ecosystem. The component registers as
`Doc2VecEmbedding` and returns vectors as `swarmauri_standard.vectors.Vector`
instances.

## Installation

Install the package with your preferred Python packaging tool:

```bash
pip install swarmauri_embedding_doc2vec
```

```bash
poetry add swarmauri_embedding_doc2vec
```

```bash
uv pip install swarmauri_embedding_doc2vec
```

## Usage

```python
from swarmauri_embedding_doc2vec import Doc2VecEmbedding

documents = [
    "This is the first document.",
    "Here is another document.",
    "And a third one.",
]

# Initialize the embedder. Adjust parameters to match your dataset size.
embedder = Doc2VecEmbedding(vector_size=300, window=10, min_count=1, workers=1)

# Fit and transform documents into Vector objects.
vectors = embedder.fit_transform(documents)

# Access the raw embedding values via the Vector.value attribute.
first_vector = vectors[0].value

# Transform new documents (the result is also a Vector).
new_vector = embedder.transform(["This is a new document."])[0]

# Save and load the underlying Doc2Vec model.
model_path = "doc2vec.model"
embedder.save_model(model_path)
embedder.load_model(model_path)
```

## Want to help?

If you want to contribute to swarmauri-sdk, read up on our [guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/contributing.md) that will help you get started.
swarmauri_cipher_suite_xades 0.1.0.dev26
XAdES signing cipher suite skeleton for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, cipher, suite, xades, cryptography, XAdES, XMLDSig, ETSI EN 319 132, ETSI EN 319 122, XML Canonicalization, Exclusive XML Canonicalization, RSA-PSS-SHA256, ECDSA-SHA256, EdDSA

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/master/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_cipher_suite_xades/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_cipher_suite_xades" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_xades/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_xades.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_xades/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_cipher_suite_xades" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_xades/">
        <img src="https://img.shields.io/pypi/l/swarmauri_cipher_suite_xades" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_xades/">
        <img src="https://img.shields.io/pypi/v/swarmauri_cipher_suite_xades?label=swarmauri_cipher_suite_xades&color=green" alt="PyPI - swarmauri_cipher_suite_xades"/></a>
</p>

---

# Swarmauri Cipher Xades

XAdES signing suite scaffolding with canonicalization defaults.

## Installation

### pip

```bash
pip install swarmauri_cipher_suite_xades
```

### Poetry

```bash
poetry add swarmauri_cipher_suite_xades
```

### uv

To add the dependency to a `pyproject.toml` managed by `uv`:

```bash
uv add swarmauri_cipher_suite_xades
```

Or install it into the active environment:

```bash
uv pip install swarmauri_cipher_suite_xades
```

## Usage

```python
from swarmauri_cipher_suite_xades import XadesCipherSuite

suite = XadesCipherSuite(name="demo-xades")

# Inspect the available operations and defaults
print(suite.features()["ops"].keys())

# Normalize an operation
descriptor = suite.normalize(op=list(suite.supports().keys())[0])
print(descriptor["alg"], descriptor["params"])
```

The suite returns normalized descriptors that include canonical algorithm names,
per-dialect mappings, and policy metadata so providers can focus on execution.

## Entry Point

The suite registers under the `swarmauri.cipher_suites` entry point as `XadesCipherSuite`.

## Contributing

If you want to contribute to swarmauri-sdk, read up on our
[guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
that will help you get started.
swarmauri_cipher_suite_webauthn 0.1.0.dev26
WebAuthn and FIDO2 cipher suite for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, cipher, suite, webauthn, cryptography, WebAuthn, FIDO2, CTAP2, W3C Web Authentication, FIDO Alliance, ES256, EdDSA, RS256, RFC 9052

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/master/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_cipher_suite_webauthn/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_cipher_suite_webauthn" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_webauthn/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_webauthn.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_webauthn/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_cipher_suite_webauthn" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_webauthn/">
        <img src="https://img.shields.io/pypi/l/swarmauri_cipher_suite_webauthn" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_webauthn/">
        <img src="https://img.shields.io/pypi/v/swarmauri_cipher_suite_webauthn?label=swarmauri_cipher_suite_webauthn&color=green" alt="PyPI - swarmauri_cipher_suite_webauthn"/></a>
</p>

---

# Swarmauri Cipher Webauthn

WebAuthn / FIDO2-focused COSE subset for authenticator attestations.

## Installation

### pip

```bash
pip install swarmauri_cipher_suite_webauthn
```

### Poetry

```bash
poetry add swarmauri_cipher_suite_webauthn
```

### uv

To add the dependency to a `pyproject.toml` managed by `uv`:

```bash
uv add swarmauri_cipher_suite_webauthn
```

Or install it into the active environment:

```bash
uv pip install swarmauri_cipher_suite_webauthn
```

## Usage

```python
from swarmauri_cipher_suite_webauthn import WebAuthnCipherSuite

suite = WebAuthnCipherSuite(name="demo-webauthn")

# Inspect the available operations and defaults
print(suite.features()["ops"].keys())

# Normalize an operation
descriptor = suite.normalize(op=list(suite.supports().keys())[0])
print(descriptor["alg"], descriptor["params"])
```

The suite returns normalized descriptors that include canonical algorithm names,
per-dialect mappings, and policy metadata so providers can focus on execution.

## Entry Point

The suite registers under the `swarmauri.cipher_suites` entry point as `WebAuthnCipherSuite`.

## Contributing

If you want to contribute to swarmauri-sdk, read up on our
[guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
that will help you get started.
swarmauri_cipher_suite_tls13 0.1.0.dev26
TLS 1.3 cipher suite policy for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, cipher, suite, tls13, cryptography, TLS 1.3, RFC 8446, NIST SP 800-52r2, TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, AES-GCM, ChaCha20-Poly1305

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/master/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_cipher_suite_tls13/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_cipher_suite_tls13" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_tls13/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_tls13.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_tls13/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_cipher_suite_tls13" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_tls13/">
        <img src="https://img.shields.io/pypi/l/swarmauri_cipher_suite_tls13" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_tls13/">
        <img src="https://img.shields.io/pypi/v/swarmauri_cipher_suite_tls13?label=swarmauri_cipher_suite_tls13&color=green" alt="PyPI - swarmauri_cipher_suite_tls13"/></a>
</p>

---

# Swarmauri Cipher Tls13

TLS 1.3 cipher suite metadata for record protection policy alignment.

## Installation

### pip

```bash
pip install swarmauri_cipher_suite_tls13
```

### Poetry

```bash
poetry add swarmauri_cipher_suite_tls13
```

### uv

To add the dependency to a `pyproject.toml` managed by `uv`:

```bash
uv add swarmauri_cipher_suite_tls13
```

Or install it into the active environment:

```bash
uv pip install swarmauri_cipher_suite_tls13
```

## Usage

```python
from swarmauri_cipher_suite_tls13 import Tls13CipherSuite

suite = Tls13CipherSuite(name="demo-tls13")

# Inspect the available operations and defaults
print(suite.features()["ops"].keys())

# Normalize an operation
descriptor = suite.normalize(op=list(suite.supports().keys())[0])
print(descriptor["alg"], descriptor["params"])
```

The suite returns normalized descriptors that include canonical algorithm names,
per-dialect mappings, and policy metadata so providers can focus on execution.

## Entry Point

The suite registers under the `swarmauri.cipher_suites` entry point as `Tls13CipherSuite`.

## Contributing

If you want to contribute to swarmauri-sdk, read up on our
[guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
that will help you get started.
swarmauri_cipher_suite_ssh 0.1.0.dev26
OpenSSH cipher suite skeleton for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, cipher, suite, ssh, cryptography, OpenSSH, RFC 4253, RFC 5656, RFC 8439, RFC 8709, curve25519-sha256, ecdh-sha2-nistp256, ssh-ed25519, rsa-sha2-256, chacha20-poly1305@openssh.com, aes256-gcm@openssh.com, hmac-sha2-256

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/master/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_cipher_suite_ssh/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_cipher_suite_ssh" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_ssh/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_ssh.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_ssh/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_cipher_suite_ssh" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_ssh/">
        <img src="https://img.shields.io/pypi/l/swarmauri_cipher_suite_ssh" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_ssh/">
        <img src="https://img.shields.io/pypi/v/swarmauri_cipher_suite_ssh?label=swarmauri_cipher_suite_ssh&color=green" alt="PyPI - swarmauri_cipher_suite_ssh"/></a>
</p>

---

# Swarmauri Cipher Ssh

OpenSSH-centric cipher suite skeleton with curated channel algorithms.

## Installation

### pip

```bash
pip install swarmauri_cipher_suite_ssh
```

### Poetry

```bash
poetry add swarmauri_cipher_suite_ssh
```

### uv

To add the dependency to a `pyproject.toml` managed by `uv`:

```bash
uv add swarmauri_cipher_suite_ssh
```

Or install it into the active environment:

```bash
uv pip install swarmauri_cipher_suite_ssh
```

## Usage

```python
from swarmauri_cipher_suite_ssh import SshCipherSuite

suite = SshCipherSuite(name="demo-ssh")

# Inspect the available operations and defaults
print(suite.features()["ops"].keys())

# Normalize an operation
descriptor = suite.normalize(op=list(suite.supports().keys())[0])
print(descriptor["alg"], descriptor["params"])
```

The suite returns normalized descriptors that include canonical algorithm names,
per-dialect mappings, and policy metadata so providers can focus on execution.

## Entry Point

The suite registers under the `swarmauri.cipher_suites` entry point as `SshCipherSuite`.

## Contributing

If you want to contribute to swarmauri-sdk, read up on our
[guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
that will help you get started.
swarmauri_cipher_suite_sigstore 0.1.0.dev27
Sigstore / Cosign signing policy suite for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, cipher, suite, sigstore, cryptography, Sigstore, Cosign, Rekor, Fulcio, ES256, EdDSA, PS256, RFC 3161, RFC 6962

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/master/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_cipher_suite_sigstore/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_cipher_suite_sigstore" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_sigstore/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_cipher_suite_sigstore.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_sigstore/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_cipher_suite_sigstore" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_sigstore/">
        <img src="https://img.shields.io/pypi/l/swarmauri_cipher_suite_sigstore" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_cipher_suite_sigstore/">
        <img src="https://img.shields.io/pypi/v/swarmauri_cipher_suite_sigstore?label=swarmauri_cipher_suite_sigstore&color=green" alt="PyPI - swarmauri_cipher_suite_sigstore"/></a>
</p>

---

# Swarmauri Cipher Sigstore

Sigstore / Cosign signing defaults including transparency log hints.

## Installation

### pip

```bash
pip install swarmauri_cipher_suite_sigstore
```

### Poetry

```bash
poetry add swarmauri_cipher_suite_sigstore
```

### uv

To add the dependency to a `pyproject.toml` managed by `uv`:

```bash
uv add swarmauri_cipher_suite_sigstore
```

Or install it into the active environment:

```bash
uv pip install swarmauri_cipher_suite_sigstore
```

## Usage

```python
from swarmauri_cipher_suite_sigstore import SigstoreCipherSuite

suite = SigstoreCipherSuite(name="demo-sigstore")

# Inspect the available operations and defaults
print(suite.features()["ops"].keys())

# Normalize an operation
descriptor = suite.normalize(op=list(suite.supports().keys())[0])
print(descriptor["alg"], descriptor["params"])
```

The suite returns normalized descriptors that include canonical algorithm names,
per-dialect mappings, and policy metadata so providers can focus on execution.

## Entry Point

The suite registers under the `swarmauri.cipher_suites` entry point as `SigstoreCipherSuite`.

## Contributing

If you want to contribute to swarmauri-sdk, read up on our
[guidelines for contributing](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
that will help you get started.