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.3.tar.gz (13.3 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.3-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: google_docstring_2tsx-0.0.3.tar.gz
  • Upload date:
  • Size: 13.3 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.3.tar.gz
Algorithm Hash digest
SHA256 ea8e32ac668df600e469fa16f8d3fffb15299223b724818cf8972b5a6ec37947
MD5 7d4ad3dde90ec5cce25b09996c11c8ea
BLAKE2b-256 79a1c56a79bf4eb42a659669aa3e4c11714b38728d927b0dc1ddd0a6dfcad34b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for google_docstring_2tsx-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7cac5e4a26c6f93e12a287af1a1acc29973cd41ddacb3a2ea9838e161570baf6
MD5 a2c4cbb36a0eec32ede6f51a945608b8
BLAKE2b-256 e12fce352f91f0c44244b2fda81372164194232e786daeaf285a2b41a525c2fa

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