Metadata-Version: 2.1
Name: acb
Version: 0.5.1
Summary: Asynchronous Component Base
Author-Email: lesleslie <les@wedgwoodwebworks.com>
License: BSD-3-Clause
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.12
Classifier: Framework :: Pydantic
Classifier: Framework :: Pydantic :: 2
Classifier: Framework :: AsyncIO
Classifier: Typing :: Typed
Classifier: License :: OSI Approved :: BSD License
Classifier: Development Status :: 3 - Alpha
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Project-URL: Homepage, https://github.com/lesleslie/acb
Project-URL: Documentation, https://github.com/lesleslie/acb
Project-URL: Repository, https://github.com/lesleslie/acb
Requires-Python: >=3.12
Requires-Dist: itsdangerous>=2.1.2
Requires-Dist: arrow>=1.3.0
Requires-Dist: dill>=0.3.7
Requires-Dist: blake3>=0.3.4
Requires-Dist: loguru>=0.7.2
Requires-Dist: msgspec[toml]>=0.18.5
Requires-Dist: nest-asyncio>=1.5.9
Requires-Dist: pydantic-settings>=2.1.0
Requires-Dist: bevy>=2.0.2
Requires-Dist: icecream>=2.1.3
Requires-Dist: brotli>=1.1.0
Requires-Dist: pyfiglet>=1.0.2
Requires-Dist: alive-progress>=3.1.5
Requires-Dist: inflection>=0.5.1
Requires-Dist: aiopath>=0.7.7
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: google-crc32c>=1.5.0
Requires-Dist: pydantic[email]>=2.5.3
Requires-Dist: cashews[redis]>=6.4.0; extra == "cache"
Requires-Dist: gcsfs>=2023.12.2.post1; extra == "storage"
Requires-Dist: s3fs>=2023.12.2; extra == "storage"
Requires-Dist: adlfs>=2023.12.0; extra == "storage"
Requires-Dist: google-cloud-dns>=0.35.0; extra == "dns"
Requires-Dist: validators>=0.22.0; extra == "dns"
Requires-Dist: httpx[http2]>=0.26.0; extra == "requests"
Requires-Dist: hishel>=0.0.21; extra == "requests"
Requires-Dist: mailgun>=0.1.1; extra == "email"
Requires-Dist: google-cloud-secret-manager>=2.17.0; extra == "secrets"
Requires-Dist: sqlalchemy>=2.0.25; extra == "sql"
Requires-Dist: sqlalchemy-utils>=0.41.1; extra == "sql"
Requires-Dist: mysqlclient>=2.2.1; extra == "sql"
Requires-Dist: asyncmy>=0.2.9; extra == "sql"
Requires-Dist: sqlmodel>=0.0.14; extra == "sql"
Requires-Dist: babel>=2.14.0; extra == "sql"
Requires-Dist: google-cloud-firestore>=2.14.0; extra == "nosql"
Requires-Dist: motor>=3.3.2; extra == "nosql"
Requires-Dist: faker>=22.4.0; extra == "demo"
Requires-Dist: aioftp>=0.22.3; extra == "ftp"
Requires-Dist: asyncssh>=2.14.2; extra == "ftp"
Provides-Extra: cache
Provides-Extra: storage
Provides-Extra: dns
Provides-Extra: requests
Provides-Extra: email
Provides-Extra: secrets
Provides-Extra: sql
Provides-Extra: nosql
Provides-Extra: demo
Provides-Extra: ftp
Description-Content-Type: text/markdown

# Asynchronous Component Base

[![Code style: crackerjack](https://img.shields.io/badge/code%20style-crackerjack-000042)](https://github.com/lesleslie/crackerjack)

Asynchronous Component Base, or 'acb', is a collection of modular
components (actions / adapters) that provide the building blocks for rapid,
asynchronous, application development.
This codebase should be considered alpha right now as it is under
heavy development. A majority of the components are currently being back-ported from
other apps and may not currently work as intended.

More documentation is on the way!

## Installation

```
pdm add acb
```

## Actions

### Encode

```
from acb.actions.encode import load

load.json(obj)
```

### Hash

```
from acb.actions.hash import hash

hash.blake2b(obj)
```

## Configuration

```
from acb.config import (
    Config,
    Settings,
)
```

## Logging

```
from acb.adapters.logger import Logger
```



## Adapters


## Acknowledgements


## License

BSD-3-Clause
