Skip to main content

Grammar-driven ASN.1 (X.680/X.690 DER subset) parser plugin for swarmauri-sdk using Lark Earley.

Project description

swarmauri-asn1

Grammar-driven ASN.1 schema parsing (X.680) + minimal DER decoding (X.690) for swarmauri-sdk.

  • Parser uses Lark Earley (MIT-only path; no standalone LALR).
  • Includes a minimal DER TLV decoder covering common UNIVERSAL types, SEQUENCE/SET[/OF], CHOICE, OPTIONAL/DEFAULT, and basic tagging.

Layout

swarmauri_asn1/
  ├─ swarmauri_asn1/
  │  ├─ grammar/asn1.lark
  │  ├─ parser.py
  │  ├─ tool.py
  │  ├─ der_codec.py
  │  ├─ transformer.py
  │  ├─ ir.py
  │  └─ __init__.py
  ├─ specs/Example.asn
  ├─ examples/standalone_decode.py
  └─ examples/data/question.der

Quick demo (standalone)

python examples/standalone_decode.py

Expected output:

{"id": 42, "question": "Hello"}

swarmauri integration

Install into the same environment as swarmauri-sdk, then instantiate the parser:

from swarmauri.parsers import ASN1Parser

parser = ASN1Parser(asn1_files=["./specs/Example.asn"])
docs = parser.parse("examples/data/question.der", type_name="Question")
print(docs[0].content)

Ensure you have swarmauri-sdk installed; this package registers via entry points.

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

swarmauri_parser_asn1-0.1.1.dev1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

swarmauri_parser_asn1-0.1.1.dev1-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file swarmauri_parser_asn1-0.1.1.dev1.tar.gz.

File metadata

  • Download URL: swarmauri_parser_asn1-0.1.1.dev1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_parser_asn1-0.1.1.dev1.tar.gz
Algorithm Hash digest
SHA256 5f51fde75da7df2cb5fcdfc51ded555e0f3d7536853de7f999d15ea76b1ca870
MD5 14c0016da05c19ad836fbc8b0d94c375
BLAKE2b-256 a485a9c0e78c6cbe395ca3203cebb6dbd35c4f66e4301e3bd56a38ccd43334d4

See more details on using hashes here.

File details

Details for the file swarmauri_parser_asn1-0.1.1.dev1-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_parser_asn1-0.1.1.dev1-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_parser_asn1-0.1.1.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 dfbdb697bc962d3110a18d32f50ecb9cae73c12d0ad87235e741cb270b90f558
MD5 882d2999ca5ea25d7ce392e96047bc95
BLAKE2b-256 d9e2e57799f852c7b1f868955fd6c883a1057ebf4267e35dadc87dd5245415da

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