Skip to main content

Socratic Analyzer

Status: Independent library extracted from Socrates monolith (v0.1.5)

Code analysis and workflow optimization library for project development, quality assessment, and architectural insights. Part of the Socratic Ecosystem.

Python 3.9+ MIT License Code Quality

Overview

Socratic Analyzer provides tools for analyzing project workflows, assessing code complexity, tracking maturity, and identifying optimization opportunities.

Key Capabilities

  • Workflow Analysis - Analyze project workflows and process paths
  • Complexity Metrics - Calculate workflow costs and identify bottlenecks
  • Code Validation - Validate dependencies, syntax, and test execution
  • Project Context - Model projects with phases, team structure, and maturity tracking
  • Quality Assessment - Track project maturity across phases and categories
  • Insight Categorization - Categorize insights and recommendations by workflow phase

Architecture

Core Modules

Workflow Analysis:

  • WorkflowCostCalculator - Calculate execution costs of workflow paths
  • WorkflowPathFinder - Discover optimal workflow paths
  • WorkflowRiskCalculator - Assess risks in workflow execution

Code Quality:

  • InsightCategorizer - Categorize insights by phase and workflow
  • DependencyValidator - Validate project dependencies
  • SyntaxValidator - Validate code syntax
  • TestExecutor - Execute and track test results

Data Models:

  • ProjectContext - Complete project information and state
  • TeamMemberRole - Team member roles and skills
  • WorkflowDefinition - Workflow paths and execution states

Analytics:

  • AnalyticsCalculator - Calculate metrics from project data
  • MaturityCalculator - Assess project maturity
  • TokenUsage - Track LLM usage and costs

Installation

# Basic installation
pip install socratic-analyzer

# With framework integrations
pip install socratic-analyzer[langchain]
pip install socratic-analyzer[nexus]

# Development
pip install socratic-analyzer[dev]

Dependencies

Core:

  • socratic-maturity>=0.1.1 - Maturity tracking and assessment
  • socratic-nexus>=0.3.6 - Multi-provider LLM integration

Optional:

  • langchain>=0.1.0 - LangChain integration
  • langgraph>=0.0.1 - Graph-based workflows

Quick Start

Analyze a Project

from socratic_analyzer.models import ProjectContext
from socratic_analyzer.core import WorkflowCostCalculator

# Create project context
project = ProjectContext(
    project_id="proj-123",
    name="MyProject",
    owner="user@example.com",
    phase="analysis",
    created_at=datetime.now(),
    updated_at=datetime.now()
)

# Analyze workflow costs
calculator = WorkflowCostCalculator()
costs = calculator.calculate_workflow_costs(project)
print(f"Estimated cost: {costs}")

Validate Code Dependencies

from socratic_analyzer.utils.validators import DependencyValidator

validator = DependencyValidator()

# Check dependency compatibility
issues = validator.validate_dependencies("./requirements.txt")
for issue in issues:
    print(f"Issue: {issue['type']} - {issue['message']}")

Track Project Maturity

from socratic_analyzer.maturity_calculator import MaturityCalculator

calculator = MaturityCalculator()

# Calculate overall maturity
maturity = calculator.calculate_maturity(project)
print(f"Project maturity: {maturity.overall_score}%")
print(f"Phase scores: {maturity.phase_maturity_scores}")

Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=src/socratic_analyzer

# Run specific tests
pytest tests/test_module_imports.py -v

Current Coverage: 15.76% (import verification tests) Required Threshold: 5% ✅

Code Quality

All checks passing:

  • ✅ Black formatting
  • ✅ Ruff linting
  • ✅ Mypy type checking (pragmatic for extracted library)

Configuration Examples

Workflow Analysis

from socratic_analyzer.models import WorkflowDefinition, WorkflowNode, WorkflowEdge

# Define workflow
workflow = WorkflowDefinition(
    workflow_id="wf-123",
    name="Analysis Workflow",
    description="Project analysis process",
    nodes=[
        WorkflowNode(id="start", name="Start", node_type="start"),
        WorkflowNode(id="analysis", name="Analysis", node_type="process"),
        WorkflowNode(id="review", name="Review", node_type="process"),
        WorkflowNode(id="end", name="End", node_type="end"),
    ],
    edges=[
        WorkflowEdge(source="start", target="analysis", cost=10),
        WorkflowEdge(source="analysis", target="review", cost=15),
        WorkflowEdge(source="review", target="end", cost=5),
    ]
)

Documentation

Part of the Socratic Ecosystem

Socratic Analyzer integrates with:

See Socratic Ecosystem for complete overview.

Contributing

Contributions welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - See LICENSE for details.

Support


Built as part of the Socratic ecosystem

Made by @Nireus79


Part of Socrates AI Ecosystem

This package is a component of Socrates AI, a production-ready platform for building intelligent multi-agent systems with constitutional governance.

Use This Package Standalone:

pip install socratic-analyzer

Or As Part of Socrates Platform:

pip install socrates-ai  # Includes 37+ modules + all 11 packages

Integration Example:

See the Socrates ECOSYSTEM.md for detailed integration examples showing how to use socratic-analyzer with other Socratic packages.

Related packages you might use together:

More Information:


Metadata

Release files for socratic-analyzer 0.1.7

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-analyzer 0.1.7
File Size Uploaded
socratic_analyzer-0.1.7.tar.gz 60.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for socratic-analyzer 0.1.7
File Interpreter ABI Platform
socratic_analyzer-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 130.7 kB

Release files / socratic_analyzer-0.1.7.tar.gz

Download URL socratic_analyzer-0.1.7.tar.gz
Size 60.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7d2ed15a21b3b1952f35609ecf949340c26ffa441621830c906046353800427d
BLAKE2b-256 checksum
How to use checksums
93a888fe140b80636410356b68864ace8817610f58e568c59852518159fdaae9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / socratic_analyzer-0.1.7-py3-none-any.whl

Download URL socratic_analyzer-0.1.7-py3-none-any.whl
Size 70.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
169413e2751579ac1c691c584ffd7d14599d2b0dfda079eb6ba2c41229a1fbbe
BLAKE2b-256 checksum
How to use checksums
535b90efaa83144a40e6a7b6ff1078c2fe4aadfc11cd33f76567b58bc013a210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

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