Documentation
¶
Index ¶
- Variables
- func FormatFile(path string) error
- func GenerateDataclass(name string, structType *ast.StructType) string
- func GenerateEnum(name string, values []string) string
- func GenerateInitFile(outputDir string, exports []PackageExport) error
- func GeneratePyProjectToml(outputDir string) error
- func GenerateReadme(outputDir string, exports []PackageExport) error
- func ParseFieldTags(tag *ast.BasicLit) util.FieldTagInfo
- type Generator
- func (g *Generator) FileExtension() string
- func (g *Generator) GenerateFile(result *typegen.Result) string
- func (g *Generator) GenerateInterface(name string, structType *ast.StructType) string
- func (g *Generator) GenerateUnionType(name string, values []string) string
- func (g *Generator) Language() string
- type PackageExport
Constants ¶
This section is empty.
Variables ¶
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 ¶
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 ¶
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 ¶
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 (*Generator) FileExtension ¶
FileExtension returns "py"
func (*Generator) GenerateFile ¶
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 ¶
GenerateUnionType converts const values to a Python Enum class (implements typegen.Generator)