semvec/pypi-packages huggingface dataset:
homebak 0.1.0b5
Simple, configurable home directory backup tool
License: MIT
Requires Python: >=3.8

# 🏠 homebak

**homebak** is a simple, configurable tool for backing up your home directory on Linux.  
Exclude what you don't need, compress the rest, and keep your data safe.

## 🚀 Features

- ⚙️ Configurable via YAML (`~/.config/homebak/config.yaml`)
- 🗃 Exclude directories by name (e.g. `.cache`, `venv`, `datasets`)
- 📦 Compressed `.tar.gz` output
- 🧪 Dry run mode (`--dry-run`)
- 🧼 Clean CLI with progress bars
- 📝 Config editing via `homebak edit-config`

## 📦 Installation

```bash
pip install homebak
```

## 📁 Example Usage

```bash
homebak               # Run with confirmation
homebak --yes         # Skip confirmation
homebak --dry-run     # Simulate backup only
homebak --compress    # Compress at the end of the backup
homebak edit-config   # Open config file in $EDITOR
```

## ⚙️ Config Example

Located at `~/.config/homebak/config.yaml`:

```yaml
backup_location: "/media/$USER/backup/backups"
copy_timeout: 60

exclude_directory_names:
  - ".cache"
  - ".venv"
  - "datasets"
  - "snap"
```

## 🧠 Why use homebak?

Just run it. `homebak` will:
1. Walk your home directory
2. Exclude folders you don't care about
3. Copy the rest with timeout protection
4. Compress everything into a single `.tar.gz` archive if flag is set
mcp-bauplan 0.9.1
An MCP server to interact with a the Bauplan API.
License: MIT
Requires Python: >=3.10
Keywords: analytics, data, mcp

# mcp-bauplan
A mimimalist Model Context Protocol MCP server to interact with data tables and running Bauplan queries.

Bauplan manages a data store of Iceberg tables in S3.

## Features
- Get Bauplan data tables and their schemas in the configured namespace
- Query Bauplan data tables using SQL (SELECT only)

>It supports both SSE and STDIO transports. 

## Tools
The server implements the following tools to interact with Bauplan data tables:
- `list_tables`:
   - Lists all the tables in the configured namespace
- `get_schema`:
   - Get the schema of a data tables
- `run_query`:
   - Run a SELECT query on the specified table 

## Configuration

1. Create _or edit the Claude Desktop configuration file located at:
   - On macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - On Windows: `%APPDATA%/Claude/claude_desktop_config.json`

2. Add the following:

```json
{
  "mcpServers": {
    "mcp-nvd": {
      "command": "/path/to/uvx",
      "args": ["mcp-bauplan"],
      "env": {
        "BAUPLAN_API_KEY": "your-api-key",
        "BAUPLAN_BRANCH": "your-branch",
        "BAUPLAN_NAMESPACE": "your-namespace",
        // Optional
        "BAUPLAN_TIMEOUT": "query-timeout-secs" // default 30 seconds
      }
    }
  }
}
```

3. Replace `/path/to/uvx` with the absolute path to the `uvx` executable. Find the path with `which uvx` command in a terminal. This ensures that the correct version of `uvx` is used when starting the server.

4. Restart Claude Desktop to apply the changes.

## Development

### Setup

1. **Prerequisites**:
   - Python 3.10 or higher.
   - A Bauplan API key ([request here](https://www.bauplanlabs.com/#join)).
   - `uv` package manager ([installation](https://docs.astral.sh/uv/)).

2. **Clone the Repository**:
```bash
git clone https://github.com/marcoeg/mcp-bauplan
cd mcp-nvd
```

3. **Set Environment Variables**:
   - Create a `.env` file in the project root:
     ```
     BAUPLAN_API_KEY=your-api-key
     BAUPLAN_BRANCH=your-branch
     BAUPLAN_NAMESPACE=your-namespace
     ```

4. **Install Dependencies**:
```bash
uv sync
uv pip install -e .
```

### Run with the MCP Inspector
```bash
cd /path/to/the/repo
source .env

CLIENT_PORT=8077 SERVER_PORT=8078 npx @modelcontextprotocol/inspector \
     uv run mcp-bauplan
 ```
>Note: omit `CLIENT_PORT=8077 SERVER_PORT=8078` if the standard ports are not conflicting.

Then open the browser to the URL indicated by the MCP Inspector, typically `http://localhost:8077?proxyPort=8078`

> Switch freely between `stdio` and `sse` transport types in the inspector. To use `sse` you need to run the server as explained below.

### Testing with the SSE transport 

#### Run the Server:
```bash
cd /path/to/the/repo
source .env

uv run mcp-bauplan --transport sse --port 9090
```
- Runs with SSE transport on port `9090` by default.

Then open the browser to the URL indicated by the MCP Inspector. Select SSE Transport Type.