Skip to main content

Socratic Docs

Automated documentation generation, code extraction, and project management for Python projects.

Overview

Socratic Docs provides a comprehensive toolkit for generating, managing, and organizing project documentation. It automates the tedious process of creating documentation artifacts and managing project structure through git integration.

Features

Core Modules

  1. CodeExtractor - Extract and analyze source code

    • Parse Python modules and classes
    • Extract function signatures and docstrings
    • Generate code inventories
    • Support for package analysis
  2. DocumentationGenerator - Generate comprehensive documentation

    • Auto-generate README.md with project overview
    • Create API reference documentation
    • Generate architecture documentation
    • Produce setup and installation guides
  3. MultiFileCodeSplitter - Split large codebases into organized files

    • Organize code by module/package
    • Generate file structure
    • Support for custom naming conventions
    • Preserve code relationships
  4. ProjectTemplateGenerator - Create project scaffolding

    • Generate boilerplate project structures
    • Create standardized layouts
    • Support multiple project types
    • Include configuration files
  5. ArtifactSaver - Save documentation and artifacts

    • Write files to disk
    • Organize by directory
    • Support multiple formats (markdown, text, code)
    • Create index files
  6. GitRepositoryManager - Manage git repositories

    • Initialize repositories
    • Add and commit files
    • Track documentation changes
    • Integrate with version control
  7. GitInitializer - Setup git for projects

    • Initialize new repositories
    • Configure git settings
    • Create initial commits
    • Setup .gitignore files

Installation

Basic Installation

pip install socratic-docs

With Optional Dependencies

# With git integration
pip install socratic-docs[all]

Quick Start

Example 1: Extract Code and Generate Documentation

from socratic_docs import CodeExtractor, DocumentationGenerator, ArtifactSaver

# Step 1: Extract code information
extractor = CodeExtractor()
code_info = extractor.extract_from_package("my_package")

# Step 2: Generate documentation
generator = DocumentationGenerator()
docs = generator.generate_all(code_info)
# docs contains README.md, API.md, ARCHITECTURE.md, SETUP.md

# Step 3: Save artifacts
saver = ArtifactSaver(output_dir="./docs_output")
saver.save_documents(docs)
saver.create_index()

Example 2: Generate Project Template

from socratic_docs import ProjectTemplateGenerator

generator = ProjectTemplateGenerator()

template = generator.generate_template(
    project_name="my_awesome_project",
    project_type="library",
    description="An awesome Python library",
    author="Your Name"
)

Example 3: Git Integration Workflow

from socratic_docs import (
    GitInitializer,
    CodeExtractor,
    DocumentationGenerator,
    GitRepositoryManager,
    ArtifactSaver
)

# Initialize a new git repository
git_init = GitInitializer(repo_path="./my_project")
git_init.initialize()

# Extract code and generate docs
extractor = CodeExtractor()
code_info = extractor.extract_from_package("my_package")

generator = DocumentationGenerator()
docs = generator.generate_all(code_info)

# Save and commit
saver = ArtifactSaver(output_dir="./my_project/docs")
saver.save_documents(docs)

git_mgr = GitRepositoryManager(repo_path="./my_project")
git_mgr.add_files("docs/")
git_mgr.commit("docs: Add auto-generated documentation")

Example 4: Split Large Codebase

from socratic_docs import MultiFileCodeSplitter

splitter = MultiFileCodeSplitter()

result = splitter.split_by_module(
    input_file="monolithic_app.py",
    output_dir="./modular_structure"
)

Use Cases

Documentation for Open Source Projects

  • Auto-generate comprehensive README and API docs
  • Keep documentation in sync with code
  • Generate changelog and architecture guides
  • Create installation and setup guides

Internal Documentation

  • Document enterprise applications
  • Generate code inventories
  • Create architecture diagrams
  • Track project structure changes

Project Scaffolding

  • Quickly bootstrap new projects
  • Ensure consistent project structure
  • Auto-configure build tools
  • Generate config files

Documentation as Code

  • Version control documentation with code
  • Generate docs from code docstrings
  • Automate documentation updates
  • Integrate with CI/CD pipelines

Integration with Socratic Ecosystem

  • socratic-nexus: Use LLMs to improve documentation generation
  • socratic-analyzer: Analyze code quality and document findings
  • socratic-workflow: Integrate documentation generation into workflows
  • socratic-learning: Track improvements in documentation quality

Architecture

See ARCHITECTURE.md for detailed architecture documentation.

API Reference

See docs/API_REFERENCE.md for complete API documentation.

Examples

See the examples/ directory for complete, runnable examples:

  • 01_extract_and_generate.py - Extract code and generate documentation
  • 02_project_templates.py - Generate project scaffolding
  • 03_git_workflow.py - Git-based documentation workflow

Contributing

Contributions are welcome!

License

MIT License - see LICENSE for details.

Support

Release files for socratic-docs 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for socratic-docs 0.2.1
File Size Uploaded
socratic_docs-0.2.1.tar.gz 45.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for socratic-docs 0.2.1
File Interpreter ABI Platform
socratic_docs-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 94.0 kB

Release files / socratic_docs-0.2.1.tar.gz

Download URL socratic_docs-0.2.1.tar.gz
Size 45.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d32e5e28638ba556d01f6d19d67fbdd7466e4fd66460dfea5bdf07d95a41f7c5
BLAKE2b-256 checksum
How to use checksums
d3663d89a17898d414635f86a6e137cf7422328769d7f580a499fb2e9d1a859e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / socratic_docs-0.2.1-py3-none-any.whl

Download URL socratic_docs-0.2.1-py3-none-any.whl
Size 48.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f580c5132f521651412b0feba9499858a5153205f297213793f78af6f398e6b2
BLAKE2b-256 checksum
How to use checksums
947ecd7435a8cb90432ed94c78fba24c0497d379f382a002809b1d890c29f207
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page