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.2.dev2.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.2.dev2-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file swarmauri_parser_asn1-0.1.2.dev2.tar.gz.

File metadata

  • Download URL: swarmauri_parser_asn1-0.1.2.dev2.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.2.dev2.tar.gz
Algorithm Hash digest
SHA256 fbb48ead75c0dc173511d0fe18ae951de7154a8ca60e51a6feb9e3c7dac5f925
MD5 8a5c0986fe533fc5c07a5133f0419243
BLAKE2b-256 fe52f55db646b9b168af8927db19b5f71cdb8ae92fff21e3ab9d26c0f1ede9f7

See more details on using hashes here.

File details

Details for the file swarmauri_parser_asn1-0.1.2.dev2-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_parser_asn1-0.1.2.dev2-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.2.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 f46b9937662d32ad103437c18bf2b9b96a9381950e05d5e0921ee3c4a2d35527
MD5 d10f0b0b020e8d5b79fb1d2c4e918886
BLAKE2b-256 efd9cb6b293b35057cc9e81e8a7b216c35448ed8b2a876ee230284dc840c9d9b

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