Skip to main content

Add your description here

Project description

kscli

CLI tool for the Knowledge Stack platform. Wraps the auto-generated ksapi Python SDK with a Click-based command interface using a resource-first routing pattern.

kscli folders list
kscli folders describe <id>
kscli documents create --name "My Doc" --parent-path-part-id <id>
kscli chunks search --query "semantic search" --folder-id <id>

Installation

Requires Python 3.12+ and uv.

# From PyPI
uv tool install kscli

# From source
git clone https://github.com/knowledgestack/ks-cli.git
cd ks-cli
uv sync --all-extras --group dev

Quick Start

1. Authenticate

Create an API key under My Account / API Keys after signing up on app.knowledgestack.ai.

kscli login --api-key <your-api-key>

You can also point at a different environment:

kscli login --api-key <your-api-key> --url https://api.knowledgestack.ai

2. Use the CLI

# Verify identity
kscli whoami

# Browse folders
kscli folders list
kscli folders list --format tree

# Work with documents
kscli documents list --folder-id <id>
kscli documents describe <doc-id>
kscli documents ingest --name "report.pdf" --file ./report.pdf --parent-path-part-id <id>

# Search chunks
kscli chunks search --query "quarterly revenue" --folder-id <id>

Commands

Top-level

Command Description
login Authenticate with a user-scoped API key
logout Remove stored credentials
whoami Show current authenticated identity
settings environment <name> Set environment preset (local/prod)
settings show Print resolved configuration

Resource groups

Each resource group supports a subset of verbs (list, describe, create, update, delete, and resource-specific actions):

Resource Verbs
folders list, describe, create, update, delete
documents list, describe, create, update, delete, ingest
document-versions list, describe, create, update, delete, contents, clear-contents
sections describe, create, update, delete
chunks describe, create, update, update-content, delete, search
tags list, describe, create, update, delete, attach, detach
workflows list, describe, cancel, rerun
tenants list, describe, update, delete, list-users
users update
permissions list, create, update, delete
invites list, create, delete, accept
threads list, describe, create, update, delete
thread-messages list, describe, create
chunk-lineages describe, create, delete
path-parts list, describe

Output Formats

Control output with --format / -f (can appear anywhere in the command):

kscli folders list --format json       # JSON output
kscli folders list -f yaml             # YAML output
kscli folders list -f table            # Rich table (default)
kscli folders list -f tree             # Tree view for hierarchical data
kscli folders list -f id-only          # Just IDs, one per line (useful for piping)
kscli folders list --no-header         # Suppress table headers

The default format can be set via KSCLI_FORMAT env var or kscli settings.

Configuration

Configuration resolves in order: CLI flags > environment variables > config file > defaults.

Environment Variable Description Default
KSCLI_BASE_URL API base URL http://localhost:8000
KSCLI_FORMAT Default output format table
KSCLI_VERIFY_SSL Enable SSL verification true
KSCLI_CA_BUNDLE Path to custom CA certificate bundle (system default)
KSCLI_CONFIG Config file path ~/.config/kscli/config.json
KSCLI_CREDENTIALS_PATH Credentials file path /tmp/kscli/.credentials

See docs/configuration.md for the full configuration reference.

Development

# Install dev dependencies
make install-dev

# Lint
make lint

# Lint + autofix
make fix

# Type check
make typecheck

# Run unit tests
make test

# Run full pre-commit checks (lint + typecheck + tests)
make pre-commit

Running E2E Tests

E2E tests require a running ks-backend instance. See docs/e2e-testing.md for the full guide.

# Quick start (with ks-backend checked out alongside ks-cli):
cd ../ks-backend
make e2e-stack    # Start Docker stack (postgres, API, worker)
make e2e-prep     # Seed database

cd ../ks-cli
make e2e-test     # Waits for API readiness, then runs tests

CI/CD

The GitHub Actions pipeline (.github/workflows/workflow.yml) runs three jobs:

  1. lint — ruff + basedpyright
  2. e2e — spins up the ks-backend Docker stack, seeds data, runs CLI e2e tests
  3. release — semantic-release to PyPI (gated on both lint and e2e passing)

See docs/ci.md for pipeline details.

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kscli-1.3.1.tar.gz (80.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kscli-1.3.1-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file kscli-1.3.1.tar.gz.

File metadata

  • Download URL: kscli-1.3.1.tar.gz
  • Upload date:
  • Size: 80.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kscli-1.3.1.tar.gz
Algorithm Hash digest
SHA256 cc5ee590bd0a3e621a858bf877daa613f76829b661f6c1378843ba0e0669cdcf
MD5 dd7a2c50c903fab75ea5281de3844822
BLAKE2b-256 8b9c8c2424c58e2d32f7e0dfe084bed43bc23db3905e9ce6e038570a6d3dc9bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for kscli-1.3.1.tar.gz:

Publisher: workflow.yml on knowledgestack/ks-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kscli-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: kscli-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kscli-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70e2b714468d746606d40bb3257d090d3f95451e094385e5389ba1971c36390c
MD5 7918e4b2e08a2b0b3ddb8274d7877018
BLAKE2b-256 04cd5d268acb1a0bf8aa69336bd76a80a146e1850a3e74c460c181bd587e9692

See more details on using hashes here.

Provenance

The following attestation bundles were made for kscli-1.3.1-py3-none-any.whl:

Publisher: workflow.yml on knowledgestack/ks-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page