python

package
v0.23.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TypeMapping = map[string]string{
	"string":                 "str",
	"int":                    "int",
	"int8":                   "int",
	"int16":                  "int",
	"int32":                  "int",
	"int64":                  "int",
	"uint":                   "int",
	"uint8":                  "int",
	"uint16":                 "int",
	"uint32":                 "int",
	"uint64":                 "int",
	"float32":                "float",
	"float64":                "float",
	"bool":                   "bool",
	"time.Time":              "str",
	"time.Duration":          "int",
	"json.RawMessage":        "Any",
	"map[string]interface{}": "dict[str, Any]",

	"sql.NullString": "str | None",
	"sql.NullInt64":  "int | None",
	"sql.NullInt32":  "int | None",
	"sql.NullBool":   "bool | None",
	"sql.NullTime":   "str | None",
	"NullString":     "str | None",
	"NullInt64":      "int | None",
	"NullTime":       "str | None",
}

TypeMapping defines how Go types map to Python types

Functions

func FormatFile

func FormatFile(path string) error

FormatFile formats a Python file using black if available Returns nil if black is not found (graceful degradation)

func GenerateDataclass

func GenerateDataclass(name string, structType *ast.StructType) string

GenerateDataclass creates a Python dataclass from a Go struct

func GenerateEnum

func GenerateEnum(name string, values []string) string

GenerateEnum creates a Python Enum class from const values Uses (str, Enum) for JSON serialization compatibility

func GenerateInitFile

func GenerateInitFile(outputDir string, exports []PackageExport) error

GenerateInitFile creates an __init__.py file that re-exports all generated modules

func GeneratePyProjectToml

func GeneratePyProjectToml(outputDir string) error

GeneratePyProjectToml creates a pyproject.toml for the qntx-types package

func GenerateReadme

func GenerateReadme(outputDir string, exports []PackageExport) error

GenerateReadme creates a README.md file for the Python types package

func ParseFieldTags

func ParseFieldTags(tag *ast.BasicLit) util.FieldTagInfo

ParseFieldTags extracts json and pytype tags from a struct field tag. Exported for testing. Uses shared util.ParseFieldTags internally.

Types

type Generator

type Generator struct{}

Generator implements typegen.Generator for Python

func NewGenerator

func NewGenerator() *Generator

NewGenerator creates a new Python generator

func (*Generator) FileExtension

func (g *Generator) FileExtension() string

FileExtension returns "py"

func (*Generator) GenerateFile

func (g *Generator) GenerateFile(result *typegen.Result) string

GenerateFile creates a complete Python file from a typegen.Result

func (*Generator) GenerateInterface

func (g *Generator) GenerateInterface(name string, structType *ast.StructType) string

GenerateInterface converts a Go struct to a Python dataclass (implements typegen.Generator)

func (*Generator) GenerateUnionType

func (g *Generator) GenerateUnionType(name string, values []string) string

GenerateUnionType converts const values to a Python Enum class (implements typegen.Generator)

func (*Generator) Language

func (g *Generator) Language() string

Language returns "python"

type PackageExport

type PackageExport struct {
	PackageName string
	TypeNames   []string
	ConstNames  []string
	ArrayNames  []string
	MapNames    []string
}

PackageExport represents a package and its exported types for __init__.py

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL