Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gura Python parser

CI

This repository contains the implementation of a Gura (compliant with version 1.0.0) format parser in Python.

Installation

pip install gura

Usage

import gura

gura_string = """
# This is a Gura document.
title: "Gura Example"

an_object:
    username: "Stephen"
    pass: "Hawking"

# Line breaks are OK when inside arrays
hosts: [
  "alpha",
  "omega"
]
"""

# Loads: transforms a Gura string into a dictionary
parsed_gura = gura.loads(gura_string)
print(parsed_gura)  # {'title': 'Gura Example', 'an_object': {'username': 'Stephen', 'pass': 'Hawking'}, 'hosts': ['alpha', 'omega']}

# Access a specific field
print(f"Title -> {parsed_gura['title']}")

# Iterate over structure
for host in parsed_gura['hosts']:
    print(f'Host -> {host}')

# Dumps: transforms a dictionary into a Gura string
print(gura.dumps(parsed_gura))

Contributing

All kinds of contributions are welcome! If you want to contribute:

  1. Fork this repository.
  2. Create a new branch and introduce your new changes there.
  3. Make a Pull Request!

Or you can join to our community in Discord!

Tests

To run all the tests: python -m unittest. More info in official Unittest docs

Building

  1. Create a virtual environment: python3 -m venv venv
  2. Activate it: source venv/bin/activate
  3. Install some dependencies: pip install -r requirements.txt
  4. Clean and build rm -rf ./dist/* && python3 setup.py sdist

License

This repository is distributed under the terms of the MIT license.

About

A Gura parser implementation for Python

Resources

Stars

18 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages