Skip to main content

A parser for AVRON (A Very Readable Object Notation)

Project description

AVRON Parser

AVRON (A Very Readable Object Notation) is a human-friendly data format that is also easy for machines to parse.
This package provides a parser for AVRON, allowing you to read AVRON files and convert them into Python objects.


Features

  • Simple, indentation-based syntax (like YAML but better for machines)
  • Supports nested objects, lists, and inline data
  • Multi-line strings and comments
  • Boolean, numeric, and null values auto-detected
  • Customisable formatting

Usage

Parse an AVRON File

from avron_parser import parse_avron

parsed_data = parse_avron("example.avron")
print(parsed_data)

Example AVRON File (example.avron)

title: "A Very Readable Object Notation"
version: 1.0
author: "Kohan Mathers"

description: """
This is an example of an AVRON file.
It supports multi-line strings, lists, nested objects, and more.
"""

# Here is a comment!

###
And here is a
multi-line comment!
###

features:
  - "Simple syntax"
  - "No unnecessary characters"
  - 100
  - true
  - null

tags: ["format", "human-readable", "parser"]

settings:
  display:
    resolution:
      width: 1920
      height: 1080
    fullscreen: true
  theme: "dark"

###
You can also use optional formatting settings, as displayed below

[INDENT_LEVEL: 2]
[TAB_MODE: false]
[COMMENT_SYNTAX: #]
[BOOLEAN_STYLE: true-false]
[NULL_STYLE: null]
[MULTILINE_STYLE: ''']

NOTE: Settings MUST be placed at the TOP of the file, before anything else.
###

metadata: { created_by: "QTI", last_updated: "11-03-2025" }

Accessing Specific Data

print(parsed_data["title"])
print(parsed_data["settings"]["display"]["resolution"]["width"])

Development

Clone the Repository

git clone https://github.com/kohanmathers/avron-parser.git
cd avron-parser

License

This project is licensed under the MIT License.


Contributing

  1. Fork the repository
  2. Create a new branch (feature-name)
  3. Commit changes (git commit -m "Added new feature")
  4. Push to your branch (git push origin feature-name)
  5. Open a pull request

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

avron_parser-0.2.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

avron_parser-0.2.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file avron_parser-0.2.1.tar.gz.

File metadata

  • Download URL: avron_parser-0.2.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for avron_parser-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9cd5d82d3cbca33568a3a8adda95131ab366c0bbf2c14f060faaa7948932ed79
MD5 238ae48488790a8590c9776ba6877eec
BLAKE2b-256 66e516704fe7ce4e85fb8db0a94d58ac852ec8896d2ad35097ece50253a7f0f4

See more details on using hashes here.

File details

Details for the file avron_parser-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: avron_parser-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for avron_parser-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 03941ec93ec4861033014925f27aecd4a815f81de27c29b3c861fc75529aa879
MD5 a5a85bfb9f92d7f272e36ac72f3a4f2f
BLAKE2b-256 ac3959274b51683ddc484af1ad7ac33990efe41357f712c7c38caee34ca561ee

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