> For the complete documentation index, see [llms.txt](https://docs-98.gitbook.io/digitalfate/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-98.gitbook.io/digitalfate/installing.md).

# Installing

DigitalFate is designed to be easy to install and quick to get started, whether you're working locally, deploying on the cloud, or running it inside a Docker container. The system supports major LLM providers like OpenAI, Anthropic, DeepSeek, and AWS Bedrock out of the box.

***

### ✅ Prerequisites

Before you begin, ensure you have the following installed and configured:

* **Python 3.10+**
* **Pip (latest version)**
* **API keys** from one or more of the following:
  * OpenAI
  * Anthropic
  * DeepSeek
  * AWS Bedrock
  * Azure OpenAI (optional)

You may also optionally want:

* **Docker** (for containerized deployments)
* **Git** (for development version)

***

### 📦 Installation via Pip

The easiest way to install DigitalFate is through PyPI:

```bash
bashCopyEditpip install digitalfate
```

This installs the core DigitalFate package and its dependencies.

***

### 🐍 Installing from Source (Development)

If you're contributing to DigitalFate or want the latest updates:

```bash
bashCopyEditgit clone https://github.com/DigitalFateSol/DigitalFate.git
cd DigitalFate
pip install -e .
```

This installs the library in "editable" mode, allowing live updates as you modify the code.

***

### 🐳 Docker Installation (Optional)

DigitalFate supports Docker-based deployment for both development and production environments.

1. **Clone the repo**:

```bash
bashCopyEditgit clone https://github.com/DigitalFateSol/DigitalFate.git
cd DigitalFate
```

2. **Build the Docker image**:

```bash
bashCopyEditdocker build -t digitalfate .
```

3. **Run the container**:

```bash
bashCopyEditdocker run -p 8000:8000 digitalfate
```

You can configure API keys and environment variables inside the Docker container for secure deployment.

***

### 🔑 Environment Variables

Set your API keys using the DigitalFate client or environment variables. Example:

```bash
bashCopyEditexport OPENAI_API_KEY="your_openai_key"
export ANTHROPIC_API_KEY="your_anthropic_key"
export DEEPSEEK_API_KEY="your_deepseek_key"
```

***

### 🧪 Verifying the Installation

Once installed, run a quick test:

```python
pythonCopyEditfrom digitalfate import digitalfateClient

client = digitalfateClient("localserver")
client.set_config("OPENAI_API_KEY", "your_key")
print("DigitalFate installed and configured successfully.")
```

You’re now ready to start building powerful AI agents.

***

### 📁 Project Structure (After Clone)

```bash
bashCopyEditDigitalFate/
├── digitalfate/             # Core framework
├── examples/                # Sample scripts
├── client/                  # Client utilities (tools, agent configs)
├── server/                  # Tool server and MCP server (optional)
├── tests/                   # Unit and integration tests
├── setup.py
└── README.md
```

***

### 🔧 Optional Dependencies

Some tools and environments may require additional packages:

```bash
bashCopyEditpip install beautifulsoup4 pdfminer.six
```

These are useful for scraping, parsing PDFs, and handling custom tools.

***

Once you’ve installed DigitalFate, you can proceed to setting up your first task and agent.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://docs-98.gitbook.io/digitalfate/installing.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.
