Metadata-Version: 2.4
Name: feedo-sdk
Version: 0.1.1
Summary: The official Developer SDK for Feedo Network
Author: Feedo Network
License: Apache-2.0
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.24.0
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: license
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Feedo Network Python SDK

The official Developer SDK for interacting with the Feedo Network.

Feedo is a decentralized network consisting of Search, Consensus, and Storage nodes. This SDK provides a unified, asynchronous interface to interact with all layers of the Feedo Network.

## Features

- **Dynamic Node Routing:** The SDK automatically pings seed nodes and routes your requests to the fastest available node. If a node goes offline, the router instantly falls back to another healthy node.
- **Fully Asynchronous:** Built on top of `httpx` and `asyncio` for maximum performance in AI agents and backend applications.
- **Search Module:** Execute semantic vector queries, index new documents, and manage deployed websites.
- **Consensus Module:** Register Decentralized Identifiers (DIDs), resolve `.feedo` names, and manage network grants.
- **Storage Module:** Upload, download, and subscribe to data streams on the decentralized storage layer.

## Installation

```bash
pip install feedo-sdk
```

## Quick Start

```python
import asyncio
from feedo import FeedoClient

async def main():
    # Initialize the client. No URLs required, it auto-discovers nodes.
    client = FeedoClient()
    
    # 1. Search Network
    search_results = await client.search.query("Web3 social network")
    print(search_results)
    
    # 2. Consensus Network
    name_info = await client.consensus.resolve_name("my-app.feedo")
    print(name_info)
    
    # 3. Storage Network
    files = await client.storage.get_recent_files()
    print(files)

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

## Architecture

The SDK is divided into three core modules accessible via the `FeedoClient`:
- `client.search.*`
- `client.consensus.*`
- `client.storage.*`

Under the hood, a `NodeRouter` maintains health checks and latency metrics for the seed nodes to ensure high availability.

## License

Apache License 2.0
