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
- Fork the repository
- Create a new branch (
feature-name) - Commit changes (
git commit -m "Added new feature") - Push to your branch (
git push origin feature-name) - Open a pull request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cd5d82d3cbca33568a3a8adda95131ab366c0bbf2c14f060faaa7948932ed79
|
|
| MD5 |
238ae48488790a8590c9776ba6877eec
|
|
| BLAKE2b-256 |
66e516704fe7ce4e85fb8db0a94d58ac852ec8896d2ad35097ece50253a7f0f4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03941ec93ec4861033014925f27aecd4a815f81de27c29b3c861fc75529aa879
|
|
| MD5 |
a5a85bfb9f92d7f272e36ac72f3a4f2f
|
|
| BLAKE2b-256 |
ac3959274b51683ddc484af1ad7ac33990efe41357f712c7c38caee34ca561ee
|