Command-line client for gULP
Project description
🚀 gulp-cli
A modern, powerful command-line interface for gULP — manage forensic document ingestion, querying, enrichment, and collaboration entirely from your terminal.
✨ What can you do?
- 🔐 Authentication — secure login with token persistence
- 📥 Ingestion — ingest files (single/batch/wildcard), zip archives, with concurrent uploads
- 🔍 Querying — raw OpenSearch queries, Sigma rules, external plugins
- 🏷️ Enrichment — enrich documents, tag/untag, update fields
- 👥 User Management — create users, manage permissions (admin only)
- 📋 Operations — create/list/manage operations and contexts
- 🔌 Plugins — list/upload/download plugins and mapping files
- 🗺️ Enhance Maps — map document fields (e.g.,
gulp.event_code) to glyph/color per plugin - 🖼️ Glyphs — create/list/update/delete custom glyphs
- 🧩 Dynamic Extensions — load custom CLI commands from internal or user extension folders
- 📊 Stats — monitor ingestion and query requests
- 🎯 Collaboration — manage notes, links, highlights
All with beautiful terminal output, automatic tab completion, and async-first design.
🚀 Quick Start
Installation
# from pip
pip install gulp-cli
# or, for the latest development version:
python3 -m venv ./.venv
source ./.venv/bin/activate
git clone https://github.com/mentat-is/gulp-cli
cd gulp-cli && pip install -e .
# Verify installation
gulp-cli --help
Basic Usage
for the cli to work, set
"ws_ignore_missing": true(should be default in the v1.6.51 backend, though ...) in yourgulp_cfg.jsonto prevent the backend from halting operations when the CLI disconnects its websocket after sending an async request!
# Login to your gULP instance
gulp-cli auth login --url http://localhost:8080 --username admin --password admin
# Check who you are
gulp-cli auth whoami
# List operations
gulp-cli operation list
# Ingest files with wildcard
gulp-cli ingest file my_operation win_evtx 'samples/win_evtx/*.evtx'
# Query documents
gulp-cli query raw my_operation --q '{"query":{"match_all":{}}}'
📚 Documentation
- Getting Started Guide — auth, first operation, first ingest
- Command Reference — all available commands and options
- Extensions Guide — dynamic extension loading and custom command contract
- Resource Management Commands — context, source, plugin, mapping, enhance-map, glyph
- Practical Examples — real-world workflows and recipes
- Troubleshooting — common issues and solutions
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gulp_cli-1.0.5.tar.gz.
File metadata
- Download URL: gulp_cli-1.0.5.tar.gz
- Upload date:
- Size: 64.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f7d3d4b781d4c78de60ab5e5d04798b60c9ca5775a05df5922c722aa2bfaefa
|
|
| MD5 |
36dfbb98b111edbf48e3f4c4a028dbbc
|
|
| BLAKE2b-256 |
babb5094742703ccb54bddfd690f15eb15501f6a51f56bfed3f101b7a7d63955
|
File details
Details for the file gulp_cli-1.0.5-py3-none-any.whl.
File metadata
- Download URL: gulp_cli-1.0.5-py3-none-any.whl
- Upload date:
- Size: 45.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69c77129a14808084febb244a3ca27bde85749cffbe1380daebc251ac896f5ac
|
|
| MD5 |
c2cac3171d1556f8bd274f2f0cacc5ba
|
|
| BLAKE2b-256 |
bcc67892b2b65412c4368e58c2a2b1835898ca91b08a74e705c17a2096e20c36
|