Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

atproto/lexicon: package for working with lexicon schemas, and runtime data validation #420

Draft
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

bnewbold
Copy link
Collaborator

@bnewbold bnewbold commented Nov 7, 2023

This is currently a branch on top of #407

  • parse lexicon schema JSON
  • load entire directories of schema JSON files from disk as a catalog
  • check lexicon schema semantics (eg, can't have min greater than max)
  • validate runtime data (map[string]any) against lexicons
  • whole bunch of corner-case tests
  • CLI tool for some live-network testing
  • CLI tool to validate prod firehose
  • CLI tool to validate CAR files
  • configurable flexible to legacy blobs and lenient datetime parsing (?)
  • clarify specs around unions: only object and token types?
  • clarify specs around unknown: only object type?
  • add support for tid and record-key lex formats (not in specs yet)
  • validate rkey type against lexicon

probably in a later iteration:

  • validate other "primary" lexicon types: subscription, HTTP body, HTTP URL params, etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant