Auto-generated Julia types from Sienna-Platform power system OpenAPI schemas.
This repository contains five Julia packages:
| Package | Role |
|---|---|
PowerCoreOpenAPIModels.jl |
Shared types, enums, base models |
PowerOperationsOpenAPIModels.jl |
Operations API stubs |
PowerInvestmentsOpenAPIModels.jl |
Investments API stubs |
PowerDynamicsOpenAPIModels.jl |
Dynamics API stubs |
PowerOpenAPIModels.jl |
Umbrella package |
using Pkg
# Load only operations
Pkg.add("PowerOperationsOpenAPIModels")
using PowerOperationsOpenAPIModels
# Load everything
Pkg.add("PowerOpenAPIModels")
using PowerOpenAPIModelsModels are auto-generated from OpenAPI schemas in SiennaSchemas. There are two ways to regenerate locally:
# Uses ../SiennaSchemas by default
make generate SCHEMA_DIR=/path/to/SiennaSchemasmake generate-docker# Build the codegen image
docker build -t power-codegen .
# Run generation (mount schemas and repo root)
make generate-docker CODEGEN_IMAGE=power-codegenEither make validate or
julia test/validate.jlDev and instantiate all models
julia --project=PowerOpenAPIModels.jl -e 'using Pkg
Pkg.develop([
PackageSpec(path="PowerCoreOpenAPIModels.jl"),
PackageSpec(path="PowerOperationsOpenAPIModels.jl"),
PackageSpec(path="PowerInvestmentsOpenAPIModels.jl"),
PackageSpec(path="PowerDynamicsOpenAPIModels.jl"),
])
Pkg.instantiate()'