Skip to main content

No project description provided

Project description

GravitasML

GravitasML is a lightweight Python library for parsing custom markup languages. It provides a simple and intuitive API to convert markup into Python objects or dictionaries.

Features

  • Easy-to-use parser for custom markup languages.
  • Convert markup directly to Python dictionaries.
  • Handles nested and multiple root tags.
  • Customizable tag names with automatic whitespace conversion.
  • Syntax error detection for unmatched or improperly nested tags.

Installation

To install GravitasML, use pip as follows:

pip install gravitasml

Quick Start

Here's a quick example to get you started:

from gravitasml.token import tokenize
from gravitasml.parser import Parser

markup = "<tag1><tag2>content</tag2></tag1>"
tokens = tokenize(markup)
parser = Parser(tokens)
obj = parser.parse()

print(obj)  # Output: {'tag1': {'tag2': 'content'}}

Limitations

GravitasML is designed to be simple and intuitive, but there are some limitations to be aware of:

  • It does not support XML namespaces or schema validation.
  • It does not handle processing instructions or CDATA sections found in XML.
  • Currently, there is no support for attributes within tags; only tag names and content are parsed.
  • It does not provide functionality to write or generate markup, only to parse it.
  • GravitasML is not optimized for extremely large documents or streaming parsing.

Documentation

For detailed usage and documentation, please refer to the docs directory in this repository.

Tests

GravitasML comes with a comprehensive test suite. To run the tests, execute the following command:

python -m unittest discover -v

Contributing

We welcome contributions from the community. If you'd like to contribute, please fork the repository and submit a pull request.

License

GravitasML is licensed under the MIT License - see the LICENSE file for details.

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

gravitasml-0.1.3.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

gravitasml-0.1.3-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file gravitasml-0.1.3.tar.gz.

File metadata

  • Download URL: gravitasml-0.1.3.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for gravitasml-0.1.3.tar.gz
Algorithm Hash digest
SHA256 04d240b9fa35878252d57a36032130b6516487468847fcdced1022c032a20f57
MD5 78a907a6e15ed4932d96406a8af6c39c
BLAKE2b-256 64cef152c163368d7326744965321b08554a1d1d79fd0fafe698d996f2d57830

See more details on using hashes here.

Provenance

The following attestation bundles were made for gravitasml-0.1.3.tar.gz:

Publisher: cicd.yml on Significant-Gravitas/gravitasml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gravitasml-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: gravitasml-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for gravitasml-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 51ff98b4564b7a61f7796f18d5f2558b919d30b3722579296089645b7bc18b85
MD5 43394ca4ce480dc4d614836a1dc58d08
BLAKE2b-256 bfa5f8b54eac91c1f4e5c22b335602e413a268cd4c486f410d2781a362b22228

See more details on using hashes here.

Provenance

The following attestation bundles were made for gravitasml-0.1.3-py3-none-any.whl:

Publisher: cicd.yml on Significant-Gravitas/gravitasml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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