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

Uploaded Python 3

File details

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

File metadata

  • Download URL: swarmauri_parser_asn1-0.1.2.dev3.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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.dev3.tar.gz
Algorithm Hash digest
SHA256 301542b3c3750c313592caa198e27a0e3c7c6eee570b5c41cf2bac2b94dfd55f
MD5 bc8c95baed3162c74d41661d14dffe04
BLAKE2b-256 b7dd34f29a75df732657ed9dde906351fb80f13412abd4859398a66070ac1dab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swarmauri_parser_asn1-0.1.2.dev3-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 a3257ea50b3de88fdbbdec8abf93a48cac14cd80576c00e22956602c6c8e4dfe
MD5 f8c1044ea24a51eb552cad8e38e8b2f9
BLAKE2b-256 15e76a8b43d225caefe67c5ed151616bdb1348556a32c7ca45b52a82cc6ae041

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