Skip to main content

cod8a is a code documentation and visualization tool for Python and .NET projects

Project description

cod8a

cod8a pronounced codetta, is a code documentation and visualization tool for Python and .NET projects.

Installation

Prerequisites

From PyPI

Install cod8a directly using pip:

pip install cod8a

Usage

The tool uses a CLI interface to analyze code and generate mermaid diagrams.

UML Diagrams

Generate Mermaid-compatible diagrams (Class, Sequence, Flowchart):

# General syntax
cod8a uml -p <path_to_source> -d <diagram_type>

# Generate a class diagram (default)
cod8a uml -p <path_to_source>

# Generate a sequence diagram
cod8a uml -p <path_to_source> -d sequence

# Generate a flowchart
cod8a uml -p <path_to_source> -d flow

# Summarize a large project (omit fields/methods)
cod8a uml -p <path_to_source> --summarize

# Force full diagram details for a large file
cod8a uml -p <path_to_source> --no-summarize

Diagram Type Options:

  • Class: class, c
  • Sequence: sequence, seq, s
  • Flowchart: flowchart, flow, f

Samples

Below are detailed example Mermaid diagrams generated by cod8a based on its own src/cod8a/models/models.py file:

CLI Options

  • -p, --path: Path to the file or directory to analyze.
  • -d, --diagram: Type of diagram to generate (default: class).
  • -o, --output: Output file path (saves as .mmd).
  • -s, --summarize / --no-summarize: Enable or disable diagram summarization. When enabled, details like fields and methods are omitted (useful for large files). Defaults to auto-summarize for large files.

Documentation (In development)

Note: This feature is currently in development.

Generate Markdown documentation from code structure:

# Not yet implemented
cod8a doc -p path/to/source

Features

  • Mermaid Integration: Generates high-quality Mermaid.js diagrams for visualization.
    • Supported Diagrams: Class, Sequence, and Flowchart diagrams.
  • C# Support: Uses a Roslyn-based analyzer targeting .NET 10.0 to extract deep structural information.
  • Python Support: Uses AST-based parsing for Python files.
  • Markdown Documentation (TODO): Detailed markdown generation for code documentation is currently in development.

Development

Setup

  1. Fork the repository on GitHub.
  2. Clone your fork:
git clone https://github.com/yourusername/cod8a.git
cd cod8a

Development Options

1. Local Setup

  1. Install Python dependencies:

Using Poetry (recommended):

poetry install
  1. Optional: Ensure .NET 10.0 is installed (if documenting C#)
dotnet --version

2. VS Code Dev Container (Recommended)

If you use VS Code, you can skip the local setup by using the provided Dev Container. It comes pre-configured with Python 3.13, .NET 10.0, and Poetry.

  • Simply open the project in VS Code and click "Reopen in Container" when prompted.

3. Docker

You can also run cod8a as a standalone container without installing any dependencies locally:

# Build the image
docker build -t cod8a .

# Run the tool
docker run -v $(pwd):/app/data cod8a uml -p /app/data/src

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

cod8a-0.2.2.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

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

cod8a-0.2.2-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file cod8a-0.2.2.tar.gz.

File metadata

  • Download URL: cod8a-0.2.2.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for cod8a-0.2.2.tar.gz
Algorithm Hash digest
SHA256 d5a0eaf01daa4e08fb91764e554f673ea49cb029870442f826808815dee40fde
MD5 b40c4e4cc5a4468a9eb4431a719c5593
BLAKE2b-256 2aeeeffdc3453e357083eccf071fa4cbd7065df62c7345e181ec00204f71615a

See more details on using hashes here.

File details

Details for the file cod8a-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: cod8a-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for cod8a-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4e8bde9b5310704be5ac0cc145011de1fd0ff3a7d5010c468378992a70c7a817
MD5 0e81b57b69b8f44dc6c90f990366b566
BLAKE2b-256 362f13be83c4ee13eac83d0ed3b77318a0cce0d4ecdb65dd6056fd9786b8d62a

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