Skip to main content

A tool to convert Google-style docstrings to TSX format for Next.js documentation

Project description

Google Docstring to TSX Converter

A tool that converts Python package docstrings to TSX files for Next.js documentation, with a focus on generating beautiful, interactive documentation.

License

This software is licensed under a custom license agreement. The Albumentations Team and their official contributors have free access to use this software for their projects. All other users must obtain a paid license.

For licensing inquiries, please contact: Vladimir Iglovikov (iglovikov@gmail.com)

See the LICENSE file for full details.

Features

  • Converts Google-style docstrings to TSX format with modern UI components
  • Preserves type information and parameter descriptions with syntax highlighting
  • Maintains the original package structure in the output
  • Generates source code with toggle functionality for each class/function
  • Supports both class and function documentation
  • Creates a table of contents for easy navigation
  • Handles module-level docstrings
  • Preserves code examples and formatting
  • Supports complex type definitions with interactive display
  • Generates responsive, dark-themed documentation

Installation

pip install google-docstring-2md

Usage

python -m src --package-name PACKAGE_NAME --output-dir OUTPUT_DIR

For example:

python -m src --package-name albumentations --output-dir albumentations-docs/src/app/docs

This will:

  1. Import the specified package
  2. Extract docstrings from all classes, functions, and modules
  3. Convert them to TSX format with modern UI components
  4. Create a directory structure matching the package
  5. Write TSX files for each module with proper routing

Output Structure

The tool creates a directory structure that matches the input package:

output_dir/
  module1/
    page.tsx
  module2/
    submodule/
      page.tsx

Each page.tsx file contains:

  • Module name and description in a styled container
  • Table of contents with links to classes and functions
  • Interactive source code display with toggle functionality
  • Parameter descriptions with type information
  • Return values and exceptions with proper formatting
  • Code examples with syntax highlighting
  • References and links to related documentation

Development

# Install dependencies
pip install -e .

# Run tests
pytest

# Run pre-commit hooks
pre-commit run --all-files

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

google_docstring_2tsx-0.0.4.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

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

google_docstring_2tsx-0.0.4-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file google_docstring_2tsx-0.0.4.tar.gz.

File metadata

  • Download URL: google_docstring_2tsx-0.0.4.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for google_docstring_2tsx-0.0.4.tar.gz
Algorithm Hash digest
SHA256 859650ce2d9a99a83ed737b91b91dc4526a2a7df29a1bde45dbff3e675a98e74
MD5 44d77fffcb61b373ed51a03348367fbb
BLAKE2b-256 86c4727809459c2ad7477f79f8587642cd7645e89d8dcce62d0545d77413c34c

See more details on using hashes here.

File details

Details for the file google_docstring_2tsx-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for google_docstring_2tsx-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ab2de2f96957ce88d93d81b6f0dfcc71acf904228a691dfc421bd719a8cf8acf
MD5 f8224a35a054ab6c6345a454cd6c0058
BLAKE2b-256 874658580c9d439f3c70eb433cc115d29b9b675824a84a71287090a0f8737d96

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