The OpenFGA DSL Parser provides utilities for parsing DSL file string inputs into an AST representation, as well as transforming them into a JSON representation.
This library is meant to be a utility for services using OpenFGA for their authorization solution, but need a way to translate from their DSL to the JSON format the HTTP API expects.
pip install openfga-dsl-parser-python
from openfga_dsl_parser import dsl_to_json
input = """type group
relations
define member as self
type resource
relations
define writer as self
define reader as self but not writer"""
json = dsl_to_json(input)
print(json)
Setup Python environment & install Maturin:
python -m venv .venv
source .venv/bin/activate
pip install maturin
Install & build package using Maturin for local testing:
maturin develop