Skip to main content

NPM version PyPI version Maven Central .NET version Release

alps-unified-ts

That is an enhanced TypeScript library of alps-unified. With it you can convert an ALPS API spec to other API spec like openApi, Graph QL Schema.

Very useful to understand the idea of ALPS API is this video on YT: https://www.youtube.com/watch?v=oG6-r3UdenE

Want to know more about ALPS? --> please visit:

Features

  • generating and publishing alps unified libraries for JavaScript, TypeScript, Python, Java and .NET
  • Type support for ALPS specs (see example 'Create from Spec' down below)

Examples

Load from YAML file

You can load the ALPS spec directly from a YAML file. JSON ist atm not supported.

Convert to OpenApi

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Alps.unified(Alps.load_yaml("test/todo-alps.yaml"),
    format_type=FormatType.OPENAPI
)

Convert to GraphQL Schema

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Alps.unified(Alps.load_yaml("test/todo-alps.yaml"),
    format_type=FormatType.SDL
)

Create from Spec

Creating the API specification from the spec is very powerful. As it gives you much support in an idea like VS as it is typed and documented. So you alway produce valid API specs.

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Alps.unified(
    Alps.spec(
        alps={
            "version": "1.0",
            "doc": {
                "value": "Simple Todo list example"
            },
            "ext": [{
                "type": "metadata",
                "name": "title",
                "value": "simpleTodo",
                "tags": "oas"
            }, {
                "type": "metadata",
                "name": "root",
                "value": "http://api.example.org/todo",
                "tags": "oas"
            }
            ],
            "descriptor": [{
                "id": "id",
                "type": "semantic",
                "text": "storage id of todo item"
            }
            ]
        }
    ))

For Python to benefit from the types better do this:

import alps_unified_ts as alps

alps_def = alps.AlpsDef(
    version='1.0',
    descriptor=[alps.DescriptorDef(id="id", type="semantic", text="sotrage id of todo item")],
    doc=alps.DocDef(
        value="Simple Todo list example"),
        ext=[
            alps.ExtDef(
                name="root",
                tags="oas",
                type="metadata",
                value="http://api.example.org/todo"),
            alps.ExtDef(
                name="title",
                tags="oas",
                type="metadata",
                value="simpleTodo")])

alps.Alps.unified(alps_document=alps.Alps.spec(alps=alps_def), format_type=alps.FormatType.OPENAPI)

Thanks to

  • The AWS CDK Community for the repo tool projen which I use for this repo.

Metadata

Release files for alps-unified-ts 0.0.40

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for alps-unified-ts 0.0.40
File Size Uploaded Provenance Actions
alps-unified-ts-0.0.40.tar.gz 209.6 kB Without provenance Details for alps-unified-ts-0.0.40.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for alps-unified-ts 0.0.40
File Interpreter ABI Platform Actions
alps_unified_ts-0.0.40-py3-none-any.whl Python 3 none any Details for alps_unified_ts-0.0.40-py3-none-any.whl

Total release size: 417.5 kB

Release files / alps-unified-ts-0.0.40.tar.gz

Download URL alps-unified-ts-0.0.40.tar.gz
Size 209.6 kB
Tags Source
SHA-256 checksum
How to use checksums
66aa8490ffdb6ec45f3de320adda933368d83b4925521bf3ce46659b96d26fe2
BLAKE2b-256 checksum
How to use checksums
6f3dace93b459db2e4eb5216b7f97c1f79bc2cc821b1db3cbf13ee5c9d3bb7b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

Release files / alps_unified_ts-0.0.40-py3-none-any.whl

Download URL alps_unified_ts-0.0.40-py3-none-any.whl
Size 208.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1e7ff44a67bd330814958ff3651ff537c3f7268611c3bef586bcc1c470b0c5d
BLAKE2b-256 checksum
How to use checksums
5cacdeae4dd81299c4ca539cd21f2ea610c928d92dae4e63db284c09e58b9eb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

Security for alps-unified-ts 0.0.40

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.40 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page