Skip to main content

A parser library for a param string expression.

Project description

param-parser

PyPI Test Status Codecov

param-parser is a parser library for a param string expression. Those expressions are arbitrary strings with placeholders in it, where a placeholder consists of a name, an optional type and a list of options.

Installation

With a correctly configured pipenv toolchain:

pipenv install param-parser

You may also use classic pip to install the package:

pip install param-parser

Getting started

Examples of param string expressions look as follows:

this-is-a-{param:string:option1,option2,option3}-expression
this-is-a-{param:string}-expression
this-is-a-{param}-expression

As you see, a param is introduced by an opening curly bracket, followed by the name of the param, a colon, the type of the param, another colon and a comma separated list of options. The param configuration gets terminated by a closing curly bracket. Note that the type and option configuration are optional, but the name is mandatory.

To parse an expression shown above, use the Python code as follows:

import param_parser

result = param_parser.parse(r"this-is-a-{param:string:option1,option2,option3}-expression")

result[0]  # Gets a `param_parser.node.SequenceNode` instance
result[0].sequence_value  # Gets `"this-is-a-"` as a string

result[1]  # Gets a `param_parser.node.ParamNode` instance
result[1].param_name  # Gets `"param"` as a string
result[1].param_type  # Gets `"string"` as a string
result[1].param_options  # Gets `["option1", "option2", "option3"]` as a list of strings

result[2]  # Gets a `param_parser.node.SequenceNode` instance
result[2].sequence_value  # Gets `"-expression"` as a string

It is also possible to escape opening curly brackets, closing curly brackets, colons and commas as follows:

import param_parser

result = param_parser.parse(r"this-is-a-\{param:string:option1,option2,option3\}-expression")

result[0]  # Gets a `param_parser.node.SequenceNode` instance
result[0].sequence_value  # Gets `"this-is-a-{param:string:option1,option2,option3}-expression"` as a string

Supported versions

This Project Python Version
1.1.* 3.9-3.13
1.0.* 3.7-3.11

List of developers

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

param-parser-1.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

param_parser-1.1.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file param-parser-1.1.0.tar.gz.

File metadata

  • Download URL: param-parser-1.1.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for param-parser-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3480774be58cbf87a7a5a99d293cdbbb8c45ce745634d08c83f012619bd4d43f
MD5 a897d3bf6ce54a4b947aa27daa488e1e
BLAKE2b-256 4bdc1bda15b8d8b27ee75af4a83dc16524be8961765334047b99ec045579dd03

See more details on using hashes here.

File details

Details for the file param_parser-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for param_parser-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f49dd952096cce285136abcc5aeeeca127738d97220f7003c4ac9ca874297d93
MD5 765d5b410d0f0562fc406a238e9a67ae
BLAKE2b-256 2e9f4386478279924f9e82e6450664aa8290d60dee12fc605e960eeedb20ccc2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page