semvec/pypi-packages huggingface dataset:
swarmauri_tokens_sshsig 0.3.0.dev33
SSH signature token service for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, tokens, sshsig

![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_tokens_sshsig/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_tokens_sshsig" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_tokens_sshsig/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_tokens_sshsig.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_sshsig/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_tokens_sshsig" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_sshsig/">
        <img src="https://img.shields.io/pypi/l/swarmauri_tokens_sshsig" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_sshsig/">
        <img src="https://img.shields.io/pypi/v/swarmauri_tokens_sshsig?label=swarmauri_tokens_sshsig&color=green" alt="PyPI - swarmauri_tokens_sshsig"/></a>

</p>

---

# swarmauri_tokens_sshsig

An SSH signature token service for the Swarmauri framework. This service
implements minting and verifying tokens signed with SSH-compatible
algorithms such as Ed25519 and ECDSA P-256.

## Features

- Mint and verify compact `SSHSIG` tokens
- Supports `ssh-ed25519` and `ecdsa-sha2-nistp256`
- Integrates with the Swarmauri token management framework

## Installation

```bash
pip install swarmauri_tokens_sshsig
```

## Usage

```python
from swarmauri_tokens_sshsig import SshSigTokenService
from swarmauri_core.key_providers import IKeyProvider

key_provider: IKeyProvider = ...  # Provide an implementation of IKeyProvider
svc = SshSigTokenService(key_provider, default_issuer="example.com")

token = await svc.mint({"sub": "alice"}, alg="ssh-ed25519", kid="ed1")
claims = await svc.verify(token, issuer="example.com")
```

The token format uses a compact three-part structure similar to JWT but relies
on SSH signature algorithms. The payload is encoded as deterministic JSON and
bound to a namespace before signing, providing interoperability with existing
SSH key infrastructures.

## 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_tokens_tlsboundjwt 0.2.0.dev33
mTLS-bound JWT token service for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, tokens, tlsboundjwt

![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_tokens_tlsboundjwt/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_tokens_tlsboundjwt" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_tokens_tlsboundjwt/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_tokens_tlsboundjwt.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_tlsboundjwt/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_tokens_tlsboundjwt" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_tlsboundjwt/">
        <img src="https://img.shields.io/pypi/l/swarmauri_tokens_tlsboundjwt" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_tlsboundjwt/">
        <img src="https://img.shields.io/pypi/v/swarmauri_tokens_tlsboundjwt?label=swarmauri_tokens_tlsboundjwt&color=green" alt="PyPI - swarmauri_tokens_tlsboundjwt"/></a>
</p>

---

# Swarmauri Tokens TLS-Bound JWT

A mutual-TLS bound JWT token service per [RFC 8705](https://www.rfc-editor.org/rfc/rfc8705).
It derives the `x5t#S256` confirmation claim from the current client certificate
and verifies that presented certificates match the token binding.

Features:
- Automatic `cnf` claim insertion with the SHA-256 thumbprint of the client certificate
- Verification that rejects tokens when the live certificate is missing or mismatched

## Installation

```bash
pip install swarmauri_tokens_tlsboundjwt
```

## Usage

```python
from swarmauri_core.crypto.types import JWAAlg
from swarmauri_tokens_tlsboundjwt import TlsBoundJWTTokenService

svc = TlsBoundJWTTokenService(key_provider, client_cert_der_getter=my_cert_getter)
await svc.mint({"sub": "alice"}, alg=JWAAlg.HS256)
```

## Entry Point

The service registers under the `swarmauri.tokens` entry point as
`TlsBoundJWTTokenService`.

## 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_tokens_rotatingjwt 0.3.0.dev33
Rotating JWT token service for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, tokens, rotatingjwt

![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_tokens_rotatingjwt/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_tokens_rotatingjwt" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_tokens_rotatingjwt/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_tokens_rotatingjwt.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_rotatingjwt/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_tokens_rotatingjwt" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_rotatingjwt/">
        <img src="https://img.shields.io/pypi/l/swarmauri_tokens_rotatingjwt" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_tokens_rotatingjwt/">
        <img src="https://img.shields.io/pypi/v/swarmauri_tokens_rotatingjwt?label=swarmauri_tokens_rotatingjwt&color=green" alt="PyPI - swarmauri_tokens_rotatingjwt"/></a>

</p>

---

# swarmauri_tokens_rotatingjwt

Rotating JWT token service plugin for Swarmauri.

This package provides a token issuer/verifier that automatically rotates its
signing key.  It exposes a `RotatingJWTTokenService` implementing
`ITokenService` and conforms to RFC 7515, 7517, 7518 and 7519.

## Features

- Supports RS256, PS256, ES256, EdDSA and HS256 algorithms.
- Automatic key rotation based on time or token count.
- JWKS publication retaining previous key versions.

## Installation

```bash
uv add swarmauri_tokens_rotatingjwt
```

Optional extras are available for specific signing canons:

```bash
uv add swarmauri_tokens_rotatingjwt[rsa]
uv add swarmauri_tokens_rotatingjwt[ecdsa]
uv add swarmauri_tokens_rotatingjwt[eddsa]
uv add swarmauri_tokens_rotatingjwt[hmac]
```

## Usage

```python
from swarmauri_tokens_rotatingjwt import RotatingJWTTokenService
from swarmauri_keyprovider_inmemory import InMemoryKeyProvider
from swarmauri_core.crypto.types import JWAAlg

kp = InMemoryKeyProvider()
service = RotatingJWTTokenService(kp, alg=JWAAlg.RS256)

token = await service.mint({"sub": "alice"}, alg=JWAAlg.RS256)
claims = await service.verify(token)
jwks = await service.jwks()
```

The service handles key rotation based on time or token volume and exposes a
JWKS endpoint that includes previous keys so existing tokens remain valid.

## 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.
pyrevit-stubs-26 1.0
Autocomplete stubs for Revit API and pyRevit modules.
Keywords: revit api, revitapi, pyrevit, revit-api

# pyrevit-stubs-26
_Typing & Autocomplete stubs for RevitAPI 2026 and pyRevit modules._

Prepared by Erik Frits from www.LearnRevitAPI.com

---

## Installation
Install like any other python package:
```bash
pip install pyrevit-stubs-26
```

💡 **Tip:** After installation give your IDE some time to index all new files.

---

## Usage:
You should see autocomplete suggestions while you type RevitAPI / pyRevit code.

For Example:
```py
from Autodesk.Revit.DB import *
collector = FilteredElementCollector(doc).OfClass(Wall).ToElements()
```

---

## Notes:
- Install only one pyrevit-stubs version at a time
- Stubs are for autocomplete & typing only 
- Code will be execute by pyRevit's engine NOT YOUR IDE! 

---

## Disclaimer

**This package provides unofficial type stubs for Autodesk Revit API and pyRevit modules.**
**Autodesk Revit is a trademark of Autodesk, Inc.**
**These stubs are independently created and are not affiliated with or endorsed by Autodesk.**

Dear Autodesk, don't sue me...
swarmauri_storage_github 0.2.0.dev34
GitHub storage adapter stub for Peagen
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, storage, github

![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_storage_github/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_storage_github" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_storage_github/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_storage_github.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_storage_github/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_storage_github" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_storage_github/">
        <img src="https://img.shields.io/pypi/l/swarmauri_storage_github" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_storage_github/">
        <img src="https://img.shields.io/pypi/v/swarmauri_storage_github?label=swarmauri_storage_github&color=green" alt="PyPI - swarmauri_storage_github"/></a>

</p>

---

# Swarmauri GitHub Storage Adapter

`GithubStorageAdapter` is a lightweight placeholder storage adapter for Peagen.
It returns deterministic `github://` URIs for uploaded objects without making
any network calls to GitHub. The class is useful for demos, tests, and for
validating code paths that rely on the storage adapter interface.

## Installation

Choose the tool that matches your workflow:

```bash
# pip
pip install swarmauri_storage_github

# Poetry
poetry add swarmauri_storage_github

# uv
uv add swarmauri_storage_github
```

## Quickstart

`GithubStorageAdapter.upload()` accepts a key and a binary file-like object. It
returns the key formatted as a `github://` URI so callers can wire the adapter
into pipelines that expect GitHub-backed storage without performing any remote
I/O.

```python
from io import BytesIO

from swarmauri_storage_github import GithubStorageAdapter


adapter = GithubStorageAdapter()

# The adapter only inspects the key, so any binary stream is acceptable.
payload = BytesIO(b"# Example README\nThis payload would be uploaded to GitHub.")
uri = adapter.upload("my-org/my-repo/README.md", payload)

print(uri)  # github://my-org/my-repo/README.md
```

### Behavior and limitations

- `upload()` does not persist data—it simply echoes the key back as a
  `github://` URI.
- `download()`, `upload_dir()`, and `download_dir()` raise
  `NotImplementedError` to signal that full GitHub support is intentionally out
  of scope for this stub.

## 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.
pyDIFI 8.1.5
The python module for DIFI-8 and xDIFI2

# DIFI-8 IONOSPHERE MAGNETIC FIELD MODEL

![PyPI - Version](https://img.shields.io/pypi/v/pyDIFI)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyDIFI)
[![PyPI Downloads](https://static.pepy.tech/personalized-badge/pydifi?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/pydifi)
![PyPI - License](https://img.shields.io/pypi/l/pydifi)

The Dedicated Ionospheric Field Inversion (DIFI) model is a Swarm-based, global model of the Sq and equatorial electrojet magnetic fields at mid and low-latitudes. It describes variations with local time, season and solar flux and separates primary and induced magnetic fields.
The latest version of DIFI is DIFI-8. Please see the [DIFI-8](https://geomag.colorado.edu/index.php/node/785) for the detail. Find info on xDIFI2 [here](https://geomag.colorado.edu/index.php/node/786).

## Prerequirements

- Officially Python 3.9, 3.10, 3.11. 3.12 3.13
- geomaglib >= 1.2.1
  - install by `pip install geomaglib>=1.2.1`
- numpy 


## Installation

The recommended way to install wmm-calculator is via [pip](https://pip.pypa.io/en/stable/)

`pip install pyDIFI`

## Quick Start

### Get magnetic vectors from single point

```python
from DIFI import getSQfield
lat, lon, year, month, day, hour = 20.5, 100.5, 2024, 6, 6, 0
B = getSQfield(lat, lon, year, month, day, hour=hour)
```

It will return the results in dict type
```python
{'Z': array([13.19036336]), 'Y': array([28.73130052]), 'X': array([0.65322314])}
```
### Get magnetic vectors from array inputs 

```python
import random
from DIFI import getSQfield

year = 2023
month = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
day = 15

N = len(month)
lat = [random.uniform(-90, 90) for _ in range(N)]
lon = [random.uniform(-180, 180) for _ in range(N)]

B = getSQfield(lat, lon, year, month, day, model_name="xdifi2")
print(B)
```
It will return the results
```python
{'Z': array([-2.89438186, 18.22932278, -0.66058193,  7.91297099,  8.00560867,
       -2.84424521,  0.28690831,  5.21360212,  1.30044321,  5.78345537,
       -0.15228731,  0.17291943]), 
 'Y': array([  2.47943185,  36.00415516,   1.29842625,  22.99920884,
         4.12382535,   2.21563329,  -5.13570097,   6.71462628,
        -9.61616475,   0.52689522, -10.66703289,  -0.21119736]), 
 'X': array([ 2.77922129, 45.06151382,  1.14500601, -9.76631768, -1.57326838,
        4.39040841, -7.6578116 , 11.15431048, -5.66268463, -6.03204388,
       -4.6054734 ,  4.19473274])}
```
swarmauri_signing_openpgp 0.1.0.dev23
OpenPGP signer stub registered on the Swarmauri SigningBase registry
Requires Python: <3.13,>=3.10
Keywords: swarmauri, signing, openpgp, pgp, encryption, sdk, standards, cryptography, digital-signature, pgp-keys, ascii-armor, message-codec, openpgp-format

<p align="center">
    <img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/swarmauri.brand.theme.svg" alt="Swarmauri Signing OpenPGP" width="320" />
</p>

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

---

# Swarmauri Signing OpenPGP

`OpenPGPSigner` is the Swarmauri registry stub for OpenPGP signature workflows.
It inherits `SigningBase`, registers with `register_type`, and exposes the
metadata needed by the shared `Signer` façade.

## Installation

### pip

```bash
pip install swarmauri_signing_openpgp
```

### uv

```bash
uv add swarmauri_signing_openpgp
```

Install into the current environment:

```bash
uv pip install swarmauri_signing_openpgp
```

## Usage

```python
import asyncio
from swarmauri_signing_openpgp import OpenPGPSigner


async def main() -> None:
    signer = OpenPGPSigner()
    print(signer.supports()["features"])


if __name__ == "__main__":
    asyncio.run(main())
```

All coroutine implementations currently raise `NotImplementedError`. They serve
as extension points for future OpenPGP envelope handling.

## Contributing

Contributions are welcome! See the
[contribution guide](https://github.com/swarmauri/swarmauri-sdk/blob/master/CONTRIBUTING.md)
for details.
swarmauri_publisher_webhook 0.3.0.dev32
A Webhook publisher implementation for Swarmauri.
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, publisher, webhook

![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_publisher_webhook/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_publisher_webhook" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_publisher_webhook/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_publisher_webhook.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_publisher_webhook/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_publisher_webhook" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_publisher_webhook/">
        <img src="https://img.shields.io/pypi/l/swarmauri_publisher_webhook" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_publisher_webhook/">
        <img src="https://img.shields.io/pypi/v/swarmauri_publisher_webhook?label=swarmauri_publisher_webhook&color=green" alt="PyPI - swarmauri_publisher_webhook"/></a>

</p>

---

# Swarmauri Webhook Publisher

`WebhookPublisher` is a Swarmauri component that delivers JSON events to an HTTP
endpoint. It keeps an internal `httpx.Client` session for efficient reuse and
raises a `RuntimeError` when the webhook cannot be reached or responds with a
non-success status code.

## Installation

Choose the tool that fits your workflow:

```bash
# pip
pip install swarmauri_publisher_webhook

# Poetry
poetry add swarmauri_publisher_webhook

# uv (install the tool if you do not already have it)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv add swarmauri_publisher_webhook
```

## Usage

```python
from swarmauri_publisher_webhook import WebhookPublisher

publisher = WebhookPublisher(url="https://your-webhook-endpoint.com/hook")

publisher.publish(
    channel="my_data_stream",
    payload={"message": "Hello, webhook!", "value": 123}
)
```

The publisher posts a JSON object shaped as `{"channel": ..., "payload": ...}`
to the configured URL. Wrap calls to `publish` in your own error handling if you
need to catch connectivity or webhook-side failures.

## 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_middleware_logging 0.8.0.dev32
Logging middleware for Swarmauri
Requires Python: <3.13,>=3.10
Keywords: swarmauri, sdk, standards, middleware, logging

![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_logging/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_middleware_logging" alt="PyPI - Downloads"/>
    </a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_middleware_logging/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_middleware_logging.svg"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_middleware_logging/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_middleware_logging" alt="PyPI - Python Version"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_middleware_logging/">
        <img src="https://img.shields.io/pypi/l/swarmauri_middleware_logging" alt="PyPI - License"/>
    </a>
    <a href="https://pypi.org/project/swarmauri_middleware_logging/">
        <img src="https://img.shields.io/pypi/v/swarmauri_middleware_logging?label=swarmauri_middleware_logging&color=green" alt="PyPI - swarmauri_middleware_logging"/>
    </a>
</p>

---

# Swarmauri Middleware Logging

HTTP middleware for logging requests and responses in Swarmauri and FastAPI applications.

## Features

- Logs the HTTP method and path for each incoming request.
- Captures request headers and attempts to parse JSON bodies for inspection.
- Emits a warning when the request body cannot be decoded as JSON.
- Measures total processing time and records the response status code.

## Installation

Install the package with your preferred Python packaging tool:

```bash
pip install swarmauri_middleware_logging
```

```bash
poetry add swarmauri_middleware_logging
```

```bash
uv pip install swarmauri_middleware_logging
```

```bash
uv add swarmauri_middleware_logging
```

## Example

```python
from fastapi import FastAPI, Request
from fastapi.testclient import TestClient

from swarmauri_middleware_logging import LoggingMiddleware

app = FastAPI()
logging_middleware = LoggingMiddleware()


@app.middleware("http")
async def log_requests(request: Request, call_next):
    return await logging_middleware.dispatch(request, call_next)


@app.post("/echo")
async def echo(payload: dict):
    return payload


client = TestClient(app)
print(client.post("/echo", json={"message": "hello"}).json())
```

Running the example prints the echoed payload and produces INFO-level log entries for the request and response lifecycle.

## 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.