Skip to main content

Cyphal DSDL processing frontend

Project description

PyDSDL

Documentation PyPI - Downloads Forum

PyDSDL is a Cyphal DSDL compiler front-end implemented in Python. It accepts a DSDL namespace at the input and produces a well-annotated abstract syntax tree (AST) at the output, evaluating all constant expressions in the process. All DSDL features defined in the Cyphal Specification are supported. The library should, in theory, work on any platform and with any Python implementation.

Read the docs at pydsdl.readthedocs.io.

import pydsdl
try:
    types = pydsdl.read_namespace(target_directory, lookup_directories)
except pydsdl.InvalidDefinitionError as ex:
    print(f'{ex.path}:{ex.line}: Invalid DSDL: {ex.text}', file=sys.stderr)
    exit(1)
else:
    for t in types:
        print(t)  # Process the type -- generate code, analyze, etc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydsdl-1.24.3.tar.gz (99.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydsdl-1.24.3-py3-none-any.whl (116.6 kB view details)

Uploaded Python 3

File details

Details for the file pydsdl-1.24.3.tar.gz.

File metadata

  • Download URL: pydsdl-1.24.3.tar.gz
  • Upload date:
  • Size: 99.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pydsdl-1.24.3.tar.gz
Algorithm Hash digest
SHA256 3d847f0d65d4b5c9e69463a6790e674aef32033dc1bcfd2c57a171a70eac6eb9
MD5 388a5a364c4e95ce382afc6e537fab55
BLAKE2b-256 2f0b9875a0f45fc371fce0e56067e8ab923a3889935a99654f52d2a4e2cb9a62

See more details on using hashes here.

File details

Details for the file pydsdl-1.24.3-py3-none-any.whl.

File metadata

  • Download URL: pydsdl-1.24.3-py3-none-any.whl
  • Upload date:
  • Size: 116.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pydsdl-1.24.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d373fd003bca0c7d21d01b2c797328b92ca49031ec9dfe2d65763055a2306b0c
MD5 78c86bbeb2fb2e5fe5fb670918aa05d8
BLAKE2b-256 f361f328f1c9de3240f70ebd9481ac050d83193ac53952d3a9577458d137134c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page