semvec/pypi-packages huggingface dataset:
mcp-doris-fastmcp 0.1.2
An MCP server for Apache Doris.
Requires Python: >=3.13

[![Add to Cursor](https://fastmcp.me/badges/cursor_dark.svg)](https://fastmcp.me/MCP/Details/1611/apache-doris)
[![Add to VS Code](https://fastmcp.me/badges/vscode_dark.svg)](https://fastmcp.me/MCP/Details/1611/apache-doris)
[![Add to Claude](https://fastmcp.me/badges/claude_dark.svg)](https://fastmcp.me/MCP/Details/1611/apache-doris)
[![Add to ChatGPT](https://fastmcp.me/badges/chatgpt_dark.svg)](https://fastmcp.me/MCP/Details/1611/apache-doris)
[![Add to Codex](https://fastmcp.me/badges/codex_dark.svg)](https://fastmcp.me/MCP/Details/1611/apache-doris)
[![Add to Gemini](https://fastmcp.me/badges/gemini_dark.svg)](https://fastmcp.me/MCP/Details/1611/apache-doris)

# Apache Doris MCP Server

[![smithery badge](https://smithery.ai/badge/@morningman/mcp-doris)](https://smithery.ai/server/@morningman/mcp-doris)

An [MCP server](https://modelcontextprotocol.io/introduction) for [Apache Doris](https://doris.apache.org/).

![Demo](mcp-doris-demo.gif)

## Usage

### Cursor

```
Name: doris
Type: command
Command: DORIS_HOST=<doris-host> DORIS_PORT=<port> DORIS_USER=<doris-user> DORIS_PASSWORD=<doris-pwd> uv run --with mcp-doris --python 3.13 mcp-doris
```

## Development

### Prerequest

- install [uv](https://docs.astral.sh/uv)

### Run MCP Inspector

```sql
cd /path/to/mcp-doris
uv sync
source .venv/bin/activate
export PYTHONPATH=/path/to/mcp-doris:$PYTHONPATH
env DORIS_HOST=<doris-host> DORIS_PORT=<port> DORIS_USER=<doris-user> DORIS_PASSWORD=<doris-pwd> mcp dev mcp_doris/mcp_server.py
```

Then visit `http://localhost:5173` in web browser.

## Publish

```
uv build
uv publish
```
wppkg 0.1.2
A package I developed for my daily work.
Requires Python: >=3.10
Keywords: wppkg

<p align="center">
  <img src="assets/logo.png" alt="wppkg logo" width="240">
</p>

<p align="center">
  <a href="https://pypi.org/project/wppkg/">
    <img src="https://img.shields.io/pypi/v/wppkg.svg" alt="PyPI version">
  </a>
  <a href="https://pepy.tech/project/wppkg">
    <img src="https://pepy.tech/badge/wppkg" alt="Total downloads">
  </a>
</p>

wppkg is a package I developed for my daily work.

---

## Installation

### Environment Setup

### Step 1: Set up a Python environment

We recommend creating a virtual Python environment with [Anaconda](https://docs.anaconda.com/free/anaconda/install/linux/):

```bash
conda create -n wppkg python=3.10
conda activate wppkg
```

### Step 2: Install Pytorch

Install `PyTorch` based on your system configuration. Refer to [PyTorch installation instructions](https://pytorch.org/get-started/previous-versions/) for the exact command. For example:

- You may choose any version to install, but make sure the PyTorch version is not too old.

```bash
# Installation Example: torch v2.8.0
# CUDA 12.6
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126
# CUDA 12.8
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128
# CUDA 12.9
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu129
```

### Step 3: Install DeepSpeed (Optional)

Install `DeepSpeed` based on your system configuration. Refer to [DeepSpeed installation instructions](https://www.deepspeed.ai/tutorials/advanced-install/) for the exact command. For example:

```bash
pip install deepspeed
```

### Step 4: Install wppkg and dependencies

To install `wppkg`, run:

```bash
pip install wppkg
```

Or install from github:

```python
git clone https://github.com/Peg-Wu/wppkg
cd wppkg
pip install -e .

# w/o dependencies
pip install -e . --no-deps
```

### Update wppkg

If you want to update all dependencies of `wppkg` except `torch`, you can run the following command:

```bash
pip install -U $(pip show wppkg | sed -n 's/^Requires: //p' | tr ',' ' ' | xargs -n1 | grep -vi '^torch$')
```

---

## Trainer Tips

- Early stopping does not currently support resuming training. If training is forcibly resumed, the early stopping callback will be reinitialized.
- If you enable early stopping, ensure that `eval_every_n_epochs` and `checkpointing_steps` are aligned, as the Trainer does not automatically save the best model. 
- The final model is always saved at the end of training, even if early stopping is triggered.