About this project

Wasat is an asynchronous client library designed for the Gemini Protocol. It is built on Python's asyncio loop and provides a fully type-hinted API for interacting with Gemini capsules. Key capabilities include: - Certificate Management: Supports CA, TOFU (Trust On First Use), and Hybrid verification modes, including file-based trust stores and interactive hooks for certificate confirmation. - Request Handling: Automatic management of temporary and permanent redirects with loop protection and local caching of permanent redirects. - Data Streaming: Support for streaming and chunking responses to handle large files efficiently. - Authentication: Native support for client TLS certificates. - Tooling: Includes a built-in command-line interface (CLI) for fetching Gemini capsules directly from the shell. The library maintains minimal dependencies, relying only on the cryptography package for certificate management.