# Installation

**Prerequisites**

Before installing Aether, ensure you have the following:

1. **Python 3.9 or later**
   * Download and install from [python.org](https://www.python.org/downloads/).
2. **Git**
   * Clone the repository using Git. Install from [git-scm.com](https://git-scm.com/).
3. **Package Manager (pip)**
   * Already included with Python. If missing, install via:

     ```bash
     python -m ensurepip --upgrade
     ```
4. **Redis (for task queues and swarm consensus)**
   * Install Redis:

     ```bash
     sudo apt-get install redis
     ```

     Or download it from [redis.io](https://redis.io/).
5. **MongoDB, Neo4j, Qdrant, or SQLite** (Optional)
   * Install depending on your project needs:
     * MongoDB: [Install MongoDB](https://www.mongodb.com/docs/manual/installation/)
     * Neo4j: [Install Neo4j](https://neo4j.com/download/)
     * Qdrant: [Install Qdrant](https://qdrant.tech/documentation/)
     * SQLite: Pre-installed on most systems.

***

#### **Step 1: Clone the Repository**

```bash
git clone https://github.com/<your-organization>/aether.git
cd aether
```

***

#### **Step 2: Set Up a Virtual Environment**

It’s recommended to use a virtual environment to avoid dependency conflicts:

```bash
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
```

***

#### **Step 3: Install Dependencies**

Install the required packages using `pip`:

```bash
pip install -r requirements.txt
```

***

#### **Step 4: Configure Environment Variables**

Set up your environment variables for blockchain integrations, IPFS, and other services. Create a `.env` file in the root directory:

```plaintext
# Blockchain
SOLANA_WALLET_PATH=/path/to/solana-wallet.json
ETHEREUM_WALLET_PRIVATE_KEY=your_ethereum_private_key_here

# Redis
REDIS_HOST=localhost
REDIS_PORT=6379

# MongoDB
MONGODB_URI=mongodb://localhost:27017
```

***

#### **Step 5: Start Redis**

Ensure Redis is running:

```bash
redis-server
```

***

#### **Step 6: Run Aether**

Launch the framework and start interacting with your swarm:

```bash
python examples/swarm_simulation.py
```

***

#### **Optional: Additional Integrations**

1. **MongoDB**: Ensure your MongoDB server is running:

   ```bash
   mongod
   ```
2. **Neo4j**: Start Neo4j from your terminal or GUI.

   ```bash
   neo4j start
   ```
3. **Qdrant**: Start Qdrant on your local server or cloud instance.
4. **SQLite**: No additional setup required; SQLite is file-based and ready to use.

***

#### **Troubleshooting**

* **Issue**: `ModuleNotFoundError`
  * **Solution**: Ensure all dependencies are installed via `pip install -r requirements.txt`.
* **Issue**: `redis.exceptions.ConnectionError`
  * **Solution**: Ensure Redis is running on the correct host and port.
* **Issue**: `FileNotFoundError` for wallet paths
  * **Solution**: Verify that the `.env` file is correctly configured and the paths are valid.

\ <br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aether-framework.gitbook.io/aetherframework/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
