Way to check, match & resist. Sofisticated object oriented regex-based text parser
Project description
VBML - perfect pythonistic parser / string manipulator :sparkles:
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
:book: 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
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
vbml-1.1.post1.tar.gz
(11.3 kB
view hashes)
Built Distribution
vbml-1.1.post1-py3-none-any.whl
(15.1 kB
view hashes)