# Installation
This guide covers different methods to install Polymathy.
## Prerequisites
Before installing Polymathy, ensure you have:
- **Rust** (1.70 or later) - [Install Rust](https://rustup.rs/)
- **SearxNG instance** - Either self-hosted or public
- **Content processor service** - For chunking and embeddings
## Installation Methods
### From Source (Recommended)
Clone and build from the source repository:
```bash
# Clone the repository
git clone https://github.com/skelfresearch/polymathy.git
cd polymathy
# Build in release mode
cargo build --release
# The binary will be at ./target/release/polymathy
```
### As a Cargo Binary
Install directly using Cargo:
```bash
cargo install --git https://github.com/skelfresearch/polymathy
```
### As a Library
Add Polymathy as a dependency in your `Cargo.toml`:
```toml
[dependencies]
polymathy = { git = "https://github.com/skelfresearch/polymathy" }
```
## Verifying Installation
After installation, verify it works:
```bash
# If installed as binary
polymathy --version
# If built from source
./target/release/polymathy --version
```
## Dependencies
Polymathy uses the following key dependencies:
| actix-web | 4.0 | HTTP server framework |
| tokio | 1.38.2 | Async runtime |
| usearch | 2.12.0 | Vector similarity search |
| reqwest | 0.11 | HTTP client |
| serde | 1.0 | Serialization |
## Next Steps
After installation, proceed to:
1. [Quick Start](quickstart.md) - Make your first request
2. [Configuration](configuration.md) - Configure your environment