tesseradecade / vbml

String validation tool compiling into regex

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VBML - perfect pythonistic parser / string manipulator ✨

PyPI - License PyPI - Downloads GitHub repo size GitHub issues by-label

Features

  • Clean regex-based parser
  • Easy-to-understand validators / Custom validators
  • Lots of features out-of-box

I am <name>, i am <age:int> years old + I am Steven, i am 20 years old = {"name": "Steven", "age": 20}

Installation

Install with pip:

pip install vbml

Or with poetry:

poetry add vbml

Run tests

Clone repo from git:

git clone https://github.com/tesseradecade/vbml.git

Go to repository and run tests with poetry:

cd vbml
poetry install
poetry run pytest

📖 Documentation

Full documentation contents are available in docs/index.md

Simple example

from vbml import Patcher, Pattern

patcher = Patcher()
pattern = Pattern("I have <amount:int> apples. They are <adj>")

result1 = patcher.check(pattern, "I have 3 apples. They are green")
result2 = patcher.check(pattern, "I have three apples. They are green")
result3 = patcher.check(pattern, "Something irrelevant")

result1 # {"amount": 3, "adj": "green"}
result2 # None
result3 # None

Leave a star if this project helped you
Made by timoniq

About

String validation tool compiling into regex

License:MIT License


Languages

Language:Python 100.0%