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.25.0rc0.tar.gz (126.9 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.25.0rc0-py3-none-any.whl (144.5 kB view details)

Uploaded Python 3

File details

Details for the file pydsdl-1.25.0rc0.tar.gz.

File metadata

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

File hashes

Hashes for pydsdl-1.25.0rc0.tar.gz
Algorithm Hash digest
SHA256 6c4fdadd261804b7a6aaa7b61a643cfe81c9e87ab586f701b81344d8bfb637fc
MD5 7867b3cfaccb188428c681641ff2afa4
BLAKE2b-256 6bb080e2984fee47cee8c74e26549a9d7b0335c95ce7fa21cddbee0b066b223e

See more details on using hashes here.

File details

Details for the file pydsdl-1.25.0rc0-py3-none-any.whl.

File metadata

  • Download URL: pydsdl-1.25.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 144.5 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.25.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b9c544a7e668e72693b8982bef04e27ec5b79fe0237be510ffa13cd13c814aa
MD5 6984abeaa8332488ea294d8cabc0be06
BLAKE2b-256 f3c6d4c819136f371143f4826ab5ad840362427c108743c841696b19efa4ec54

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