semvec/pypi-packages huggingface dataset:
docketeer-bubblewrap 0.0.12
Bubblewrap sandbox executor plugin for Docketeer
Requires Python: >=3.12

# docketeer-bubblewrap

Sandboxed command execution for [Docketeer](https://github.com/chrisguidry/docketeer)
using [bubblewrap](https://github.com/containers/bubblewrap) (`bwrap`).

This plugin provides a `CommandExecutor` implementation that runs external
programs inside a lightweight Linux sandbox using unprivileged user namespaces.
Each process gets its own PID, UTS, IPC, and cgroup namespaces, and network
access is denied by default. The `--die-with-parent` flag ensures sandboxed
processes are cleaned up if the parent exits.

## Requirements

- Linux with unprivileged user namespaces enabled
- `bwrap` on `PATH` (install via your distro's `bubblewrap` package)

## How it works

The executor builds a minimal filesystem view inside the sandbox:

- Read-only binds for system directories (`/usr`, `/bin`, `/lib`, `/etc/ssl`, etc.)
- `/proc`, `/dev`, and a tmpfs `/tmp`
- User-specified mounts (read-only or writable)
- Optional network access via `--share-net`
docketeer-rocketchat 0.0.12
Rocket Chat backend for Docketeer
Requires Python: >=3.12

# docketeer-rocketchat

[Rocket Chat](https://www.rocket.chat/) chat backend for
[Docketeer](https://pypi.org/project/docketeer/). Connects to a Rocket Chat
server via DDP (WebSocket) for real-time message subscriptions and the REST API
for sending messages, uploading files, and managing presence.

Install `docketeer-rocketchat` alongside `docketeer` and it will be
automatically discovered as the chat backend.

## Tools

- **`send_file`** — send a file from the agent's workspace to the current chat room

## Configuration

| Variable                         | Default      | Description            |
|----------------------------------|--------------|------------------------|
| `DOCKETEER_ROCKETCHAT_URL`       | _(required)_ | Rocket Chat server URL |
| `DOCKETEER_ROCKETCHAT_USERNAME`  | _(required)_ | Bot account username   |
| `DOCKETEER_ROCKETCHAT_PASSWORD`  | _(required)_ | Bot account password   |
docketeer-git 0.0.12
Git-backed workspace backup plugin for Docketeer
Requires Python: >=3.12

# docketeer-git

Git-backed workspace backup plugin for
[Docketeer](https://pypi.org/project/docketeer/). Automatically commits the
agent's workspace (`~/.docketeer/memory/`) to a local git repo on a timer, and
optionally pushes to a remote for off-machine backup.

Install `docketeer-git` alongside `docketeer` and backups start automatically.
No agent-facing tools are added — the agent doesn't know about backups.

## Configuration

| Variable | Default | Description |
|---|---|---|
| `DOCKETEER_GIT_BACKUP_INTERVAL` | `PT5M` | How often to check for changes (ISO 8601 duration or seconds) |
| `DOCKETEER_GIT_REMOTE` | _(empty)_ | Remote URL to push to. No push if unset. |
| `DOCKETEER_GIT_BRANCH` | `main` | Branch name to use |
| `DOCKETEER_GIT_AUTHOR_NAME` | `Docketeer` | Git author name for backup commits |
| `DOCKETEER_GIT_AUTHOR_EMAIL` | `docketeer@localhost` | Git author email for backup commits |

## How it works

A periodic docket task checks the workspace for uncommitted changes every 5
minutes (configurable). If anything changed, it stages everything and commits
with a timestamped message. If `DOCKETEER_GIT_REMOTE` is set, it pushes after
each commit. Push failures are logged but don't crash the agent.

The git repo is initialized automatically on first run. You can browse the
history with standard git tools (`git log`, `git diff`, etc.) in the workspace
directory.
docketeer-mcp 0.0.12
MCP server support for Docketeer
Requires Python: >=3.12

# docketeer-mcp

MCP (Model Context Protocol) server support for
[Docketeer](https://github.com/chrisguidry/docketeer). Connects the agent to
any MCP-compatible server so new capabilities are config, not code.

## Tools

| Tool | Purpose |
|------|---------|
| `list_mcp_servers` | Show configured and connected servers |
| `connect_mcp_server` | Connect to a configured server |
| `disconnect_mcp_server` | Disconnect from a server |
| `search_mcp_tools` | Search connected servers' tools by keyword |
| `use_mcp_tool` | Call a tool on a connected server |
| `add_mcp_server` | Save a new server configuration |
| `remove_mcp_server` | Delete a server configuration |

## Configuration

Server configs live in `$DOCKETEER_DATA_DIR/mcp/` as individual JSON files.

### Stdio server

```json
{
  "command": "uvx",
  "args": ["mcp-server-time"],
  "env": {"TZ": "America/New_York"},
  "networkAccess": false
}
```

### HTTP server

```json
{
  "url": "https://weather-api.example.com/mcp",
  "headers": {"Authorization": "Bearer ..."}
}
```

Secrets stay in the data directory, outside the agent-visible workspace.
docketeer-1password 0.0.12
1Password vault plugin for Docketeer
Requires Python: >=3.12

# docketeer-1password

1Password vault plugin for [Docketeer](https://github.com/chrisguidry/docketeer).

Provides secrets management backed by 1Password via the `op` CLI and service
account tokens. Secret names use `vault/item/field` paths (e.g.
`Agent/db-cred/password`).

## Installation

```bash
pip install docketeer-1password
```

## Configuration

Set `DOCKETEER_OP_SERVICE_ACCOUNT_TOKEN` in the environment to authenticate
with 1Password. The plugin translates this to `OP_SERVICE_ACCOUNT_TOKEN` when
running `op` commands. The service account grants access to one or more
1Password vaults.
docketeer-tui 0.0.12
Terminal chat backend for Docketeer
Requires Python: >=3.12

# docketeer-tui

Terminal chat backend for [Docketeer](https://pypi.org/project/docketeer/).
Talk to your agent directly in the terminal — no Rocket Chat, no browser, no
signup. Ideal for local development and trying things out.

Install `docketeer-tui` alongside `docketeer` and it will be automatically
discovered as the chat backend.

## Configuration

No configuration required. If both `docketeer-tui` and another chat backend
are installed, set:

```sh
export DOCKETEER_CHAT=tui
```
docketeer-monty 0.0.12
Sandboxed Python execution plugin for Docketeer
Requires Python: >=3.12

# docketeer-monty

Sandboxed Python execution plugin for
[Docketeer](https://pypi.org/project/docketeer/). Lets the agent write and run
Python code using [Monty](https://github.com/pydantic/monty), a minimal Python
interpreter written in Rust with microsecond startup and no access to the
filesystem, network, or standard library imports.

All of Docketeer's registered workspace tools are exposed as async functions
inside the sandbox, so the agent can compose multi-step operations in a single
`run_python` call.

Install `docketeer-monty` alongside `docketeer` and the tool is automatically
available. No additional configuration needed.

## Tools

- **`run_python`** — execute Python code in a sandboxed interpreter

## Example

```python
a = await read_file("notes/project.md")
b = await read_file("notes/ideas.md")
f"Project has {len(a)} chars, ideas has {len(b)} chars"
```
docketeer-web 0.0.12
Web tools plugin for Docketeer
Requires Python: >=3.12

# docketeer-web

Web tools plugin for [Docketeer](https://pypi.org/project/docketeer/). Gives
the agent the ability to search the web, make HTTP requests, and download files
into its workspace.

Install `docketeer-web` alongside `docketeer` and the tools are automatically
available.

## Tools

- **`web_search`** — search the web via the [Brave Search API](https://brave.com/search/api/)
- **`web_request`** — make HTTP requests with content-aware body handling (HTML
  text extraction, large response summarization)
- **`download_file`** — download a file from a URL into the agent's workspace

## Configuration

| Variable                  | Default   | Description                                                            |
|---------------------------|-----------|------------------------------------------------------------------------|
| `DOCKETEER_BRAVE_API_KEY` | _(empty)_ | Brave Search API key. Without this, `web_search` won't return results. |

The `web_request` and `download_file` tools work without any additional
configuration.
codec-cub 0.0.33
Parsing and encoding various codec configuration formats.
Requires Python: >=3.12


# Codec Cub

[![pypi version](https://img.shields.io/pypi/v/codec-cub.svg)](https://pypi.org/project/codec-cub/)

Parsing shit and shit

## Installation

```bash
pip install codec-cub
```

With [`uv`](https://docs.astral.sh/uv/):

```bash
uv tool install codec-cub
```
image-reorder 0.5.1
Reorder images from multiple cameras into a single folder
Requires Python: <4,>=3.11

# Image Reorder

[![pypi](https://img.shields.io/pypi/v/image-reorder.svg)](https://pypi.org/project/image-reorder/)
[![license](https://img.shields.io/github/license/pronovic/image-reorder)](https://github.com/pronovic/image-reorder/blob/main/LICENSE)
[![wheel](https://img.shields.io/pypi/wheel/image-reorder.svg)](https://pypi.org/project/image-reorder/)
[![python](https://img.shields.io/pypi/pyversions/image-reorder.svg)](https://pypi.org/project/image-reorder/)
[![Test Suite](https://github.com/pronovic/image-reorder/workflows/Test%20Suite/badge.svg)](https://github.com/image-reorder/actions?query=workflow%3A%22Test+Suite%22)
[![coverage](https://coveralls.io/repos/github/image-reorder/badge.svg?branch=main)](https://coveralls.io/github/pronovic/image-reorder?branch=main)

Reorder images from multiple cameras into a single folder

To use, create a source directory (say, `pictures`) with a subdirectory for
each camera (`pictures/mom`, `pictures/dad`, etc.).  Run the `analyze` command
to get some basic info about what images exist in the source directory:

```
$ reorder analyze --help
Usage: reorder analyze [OPTIONS] <source-dir>

  Analyze images in a source directory.

  Finds all images in a source directory and generates some information about
  those images, including camera models.

Options:
  -h, --help  Show this message and exit.
```

Then, run the `copy` command to copy files from the source directory to some
target directory:

```
$ reorder copy --help
Usage: reorder copy [OPTIONS] <source-dir> <target-dir>

  Reorder images from a source directory into a target directory.

  Finds all images in a source directory and reorders them into a target
  directory by EXIF creation date, taking into account any offsets.  The
  target folder will be created if it does not already exist.

  The copied filenames will get a prefix like "image001__".  This way, you can
  sort the images by filename, and they'll have the correct order.

  If the clocks on the cameras are not in sync, you may optionally provide a
  time offset by camera model.  The configured hours and minutes will be added
  to or removed from the the actual EXIF time.  Use a format like "PowerShot
  A70=+06:55" or "Pixel 2=-00:03".  The `reorder analyze` command will show
  you all of the different camera models among your images.  You can provide
  the --offset switch multiple times.

Options:
  -o, --offset <offset>  Time offset like 'PowerShot A70=+06:55'
  -h, --help             Show this message and exit.
```