Skip to main content

Vespera

Local-first AI due diligence.

Review a dataroom without sending confidential documents to a third-party AI provider.

pip install vespera
vespera review ./dataroom

Vespera scans the documents in a local folder — contracts, board minutes, NDAs — and produces a structured due diligence report with evidence-backed findings, each linked to its source document and page. All analysis runs on your machine via Ollama. Document contents never leave your network.

What it does

Vespera performs the first-pass review of a document collection for M&A, VC, and PE due diligence:

  • Recursively discovers PDF, DOCX, TXT, and Markdown documents
  • Extracts text and analyses it with a local LLM
  • Produces structured findings across categories including change-of-control clauses, termination rights, assignment restrictions, exclusivity, IP ownership, material liabilities, missing signatures, and cross-document inconsistencies
  • Writes a Markdown report and a machine-readable JSON evidence file
Vespera

Reviewing ./dataroom

Documents found: 6
Documents processed: 6

Findings:
- Change-of-control clauses: 1
- Termination rights: 3
- Missing signatures: 1
- IP ownership / assignment: 2

Report: vespera-output/report.md
Evidence: vespera-output/findings.json

All document analysis was performed locally.

Every finding carries its category, severity, a short verbatim evidence excerpt, a confidence score, and the source file and page.

Privacy model

  • No cloud calls for analysis. Inference runs on a local Ollama server (localhost by default).
  • No telemetry, no accounts, no database. Vespera reads your documents and writes two output files. That's it.
  • The only network activity you'll ever need is ollama pull to download a model once.

Quick start

  1. Install Ollama and pull a model:

    ollama pull qwen3:8b
    
  2. Install Vespera (Python 3.12+):

    pip install vespera
    
  3. Review a dataroom:

    vespera review ./dataroom
    

Try it on the included synthetic example:

git clone https://github.com/VesperaSystems/vespera
cd vespera
vespera review ./examples/sample-dataroom

Commands

vespera review PATH [--model qwen3:8b] [--output vespera-output] [--host http://localhost:11434]
vespera models      # show default + locally installed Ollama models
vespera --version

Supported document types

Format Notes
PDF Priority format; per-page source references
DOCX Paragraphs and tables; no page numbers
TXT / MD Plain text

Scanned image-only documents are not analysed in this version (no OCR).

Limitations

Vespera is automated document triage. It is not legal, financial, or investment advice, and it does not replace review by qualified professionals. Local language models can miss issues and misread context; findings must be verified against the source documents. Vespera is designed to tell a human professional where to look first — not to make decisions.

Roadmap

  • OCR for scanned documents
  • More document formats (XLSX, EML, PPTX)
  • Additional local model providers (llama.cpp, MLX)
  • Configurable finding categories and custom review checklists
  • Multi-language document support

Development

git clone https://github.com/VesperaSystems/vespera
cd vespera
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest

The LLM is behind a tiny provider interface (vespera/llm/base.py), so tests inject a fake provider and never require Ollama.

License

Apache-2.0

Download files

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

Source Distribution

vespera-0.1.0.tar.gz (67.2 kB view details)

Uploaded Source

Built Distribution

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

vespera-0.1.0-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file vespera-0.1.0.tar.gz.

File metadata

  • Download URL: vespera-0.1.0.tar.gz
  • Upload date:
  • Size: 67.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for vespera-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b628e70c722473f5700c26fa16a514bba779554f5541fba0c9e917b81158228f
MD5 d6088ac4a9cc4ce9963eaf9f74597cc1
BLAKE2b-256 21bfc142b77a42b822b2c651a1f0a4bcfa666c54134823c22bf55651d864a6fe

See more details on using hashes here.

File details

Details for the file vespera-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vespera-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for vespera-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a82580467a4339831145e3ee954e743d09e63f6a0c22b15ad0684bd6e5fde55
MD5 5445f592943e15990862bf515907fdfa
BLAKE2b-256 ea5960089af310449d7690b6c21aa9fd1d1e0eeda5e9ad06f4059ba02d5e7da6

See more details on using hashes here.

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