Skip to main content

Epistemic documentation coverage assessment - know what your docs know

Project description

📚 Docpistemic

Know what your docs know — and what they don't

PyPI Python License

What is Docpistemic?

Docpistemic applies epistemic principles to documentation assessment. Instead of just checking "does this function have a docstring?", it asks the harder question:

"Does the user know this feature exists?"

It measures the gap between what your code does and what your docs explain.

Installation

PyPI (Recommended)

pip install docpistemic

Docker

# Pull from DockerHub
docker pull nubaeon/docpistemic:latest

# Assess any GitHub repo
docker run --rm nubaeon/docpistemic assess https://github.com/user/repo

# Assess local project
docker run --rm -v $(pwd):/project nubaeon/docpistemic assess /project

Homebrew (macOS/Linux)

brew tap nubaeon/tap
brew install docpistemic

From Source

pip install git+https://github.com/Nubaeon/docpistemic.git

Quick Start

# If installed via pip/homebrew
docpistemic assess .

# Assess current project
docpistemic assess .

# Assess a GitHub repo
docpistemic assess https://github.com/user/repo

# JSON output for CI
docpistemic assess . --output json

# Thorough multi-pass analysis (turtle depth)
docpistemic assess . --depth 3 --verbose

# Log findings to Empirica (if you have an active session)
docpistemic assess . --log

Turtle Depth Levels

Depth Mode Modules Use Case
1 Quick 20 Fast CI checks
2 Standard 50 Regular assessment
3 Thorough 100 Pre-release audit

Example Output

============================================================
📚 DOCPISTEMIC ASSESSMENT
============================================================

🌔 Overall Coverage: 72.5%
   Features: 58/80 documented

📊 Epistemic Assessment:
   know: 0.72
   uncertainty: 0.28
   → Documentation has notable gaps

📋 Category Coverage:
--------------------------------------------------
   🌕 CLI Commands: 85% (17/20)
   🌓 Core Modules: 60% (12/20)
   🌒 API Endpoints: 35% (7/20)
   🌑 Configuration: 10% (2/20)

💡 Recommendations:
   • Document API Endpoints: /api/users, /api/auth, /api/settings
   • Document Configuration: DATABASE_URL, API_KEY, DEBUG
============================================================

How It Works

  1. Discovery - Auto-detects CLI framework (argparse, click, typer), modules, classes, API routes
  2. Documentation Scan - Reads README, docs/, docstrings
  3. Coverage Mapping - Maps features → documentation
  4. Epistemic Assessment - Calculates know/uncertainty vectors
  5. Recommendations - Prioritizes what to document next

Features

  • 🔍 Auto-discovery - No config needed, works on any Python project
  • 📊 Epistemic vectors - know/uncertainty scoring (powered by Empirica)
  • 🌙 Moon phases - Visual coverage indicators
  • 🎯 Actionable recommendations - Prioritized list of what to document
  • 🔧 CI-ready - JSON output, exit codes for quality gates
  • 🌐 Remote repos - Assess any public GitHub repo

Supported Frameworks

Category Frameworks
CLI argparse, click, typer, fire
Web FastAPI, Flask, Django
Docs README.md, docs/, docstrings

Philosophy

Traditional tools ask: "Is there a docstring?" (binary)

Docpistemic asks: "Would a user discover this feature?" (epistemic)

This shifts focus from code coverage to user coverage.

Powered by Empirica

Docpistemic uses Empirica for epistemic assessment — the same framework used by AI agents for genuine self-awareness.

Why Empirica?

Empirica provides:

  • Epistemic vectors (know/uncertainty) - calibrated self-assessment
  • Moon phase indicators - visual coverage signals
  • Finding logging - track documentation gaps over time
  • Session continuity - maintain assessment history across sessions

Empirica Integration

When you install docpistemic, Empirica is installed as a dependency. You can optionally:

# Initialize Empirica in your project
empirica project-init

# Create a session
empirica session-create --ai-id your-name

# Run docpistemic with logging to track findings
docpistemic assess . --log

# View your documentation debt over time
empirica finding-log --list

This lets you track documentation coverage improvements across releases.

License

MIT License

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

docpistemic-0.1.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

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

docpistemic-0.1.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: docpistemic-0.1.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for docpistemic-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6f558a5b1ad502f1118001dc27a1cd758ce3022c8c1532f5e88e8b07cd10247b
MD5 9a5117a46d365cdc432a481d2493b7e4
BLAKE2b-256 7caa32c3197ee83fdf7be4ce124fdf4f72a23a1c6529333e523f73113df58ba9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: docpistemic-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for docpistemic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9621250e29034829ffac53870172f07aee4fc43092b288e52980aca956900acc
MD5 96d0800763c0dccbb71ee64d5fc02da9
BLAKE2b-256 38fd824b6c1b869003896fc3d4330cd5b1233c123b340eb639eecb187a5b0d14

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