JSON Type Definition Code Build
jtd-codebuild is a tool for generating language specific schemas and interfaces code from JSON Type Definition IDL files in either yaml or json format.
This tool is built on top of jtd-codegen so check out the documentation if you don't have a clue about JSON Type Definition.
Quick Example
In this example, we will generate Python and TypeScript code from JSON Type Definition IDL files.
First, copy and paste the following configuration file to the root of your project.
{
"include": [
"src"
],
"references": [],
"jtdBundlePath": "gen/schema.jtd.json",
"targets": [
{
"language": "python",
"path": "gen/python"
},
{
"language": "typescript",
"path": "gen/typescript"
}
],
"$schema": "https://raw.githubusercontent.com/01Joseph-Hwang10/jtd-codebuild/master/jtd_codebuild/config/project/config.json"
}
Then, we'll create some JSON Type Definition IDL files in the src directory.
# src/book.jtd.yaml
Book:
properties:
id:
type: string
title:
type: string
# src/user.jtd.yaml
User:
properties:
id:
type: string
name:
type: string
books:
elements:
ref: Book
Finally, run the following command to generate the code.
jtd-codebuild .
You can find the generated code in the gen directory.
More Examples
You can find more examples under the tests directory:
- Python Codegen Examples
- TypeScript Codegen Examples
- Monorepo Example (includes other languages' examples)
API Documentation
See the API Documentation for more information.
Contributing
Any contribution is welcome! Check out CONTRIBUTING.md and CODE_OF_CONDUCT.md for more information on how to get started.
License
jtd-codebuild is licensed under a MIT License.
Metadata
Release files for jtd-codebuild 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jtd_codebuild-1.0.1.tar.gz | 19.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jtd_codebuild-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.9 kB
Release files / jtd_codebuild-1.0.1.tar.gz
| Download URL | jtd_codebuild-1.0.1.tar.gz |
|---|---|
| Size | 19.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2728a94570cb410c62d93ab153903c9dff564e4c7f8e84aa902ef6e82075cdca
|
|
BLAKE2b-256 checksum How to use checksums |
c240132773180836f83d7012fbf941503dd15076a883b080af7fc5393209e8cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.11.9 Linux/6.5.0-1018-azure
|
Release files / jtd_codebuild-1.0.1-py3-none-any.whl
| Download URL | jtd_codebuild-1.0.1-py3-none-any.whl |
|---|---|
| Size | 35.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6431b9449f6d67c3d127dcba680908c36b254b426395bf42bacf973288a91c2c
|
|
BLAKE2b-256 checksum How to use checksums |
af3c5206810c3e418a733f6caa084b07c2f56d0da18dec2fe7ae1995874b5ec3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.11.9 Linux/6.5.0-1018-azure
|