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 (Recommended for Users)

Once published, you can install cod8a directly using pip:

pip install cod8a

Development & Contribution

If you want to contribute to the project or run it from source:

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:
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

Usage

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

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 src/my_project

# Generate a sequence diagram
cod8a uml -p src/my_file.py -d sequence

# Generate a flowchart
cod8a uml -p src/my_logic -d flow

Diagram Type Options:

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

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).

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.

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.1.0.tar.gz (19.0 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.1.0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cod8a-0.1.0.tar.gz
Algorithm Hash digest
SHA256 966fa247390e25568dd137cd1d4a950e20e4d1e70b5fbce280982121958f367a
MD5 b0f1b069fb791ea8fcdcaa4bf2ed377b
BLAKE2b-256 21c459162eed60ee054fe23c2daf2e81e0e4a107bfe7b1f2b1b4ec06e37beff9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cod8a-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4bfd791c23edc05de387e6a095e5ac0bd6ac2cd8c2d43acdddcc1b5e06389c74
MD5 92237b9145c21b497a69d8b3737341f6
BLAKE2b-256 f17ce313b980d637129bc8dd05c4a0ab7e1f87a766ed73bb16db0d95b2b36c14

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