Tag-formatter is a Python Package designed to format strings that based on user-input.
Project description
tag-formatter
Tag-formatter is a Python Package designed to format strings that based on user-input.
For example, tag-formatter can parse something such as:
Hello there, {user}!
Into something like:
Hello there, John!
Installation
You can install tag-formatter using pip.
pip install tag-formatter
Features
- Highly customizable
- Uses regex delimiters that you can set.
- Uses a parser rather than things like
str.format
- Because this was meant for user input, str.format wouldn't work (invalid tags mean KeyErrors)
- str.replace on the other hand, would be too tedious and limited.
- Argument parsing for tags
- Basic and function-based converters
- Default values for arguments
Example
You can find more examples in the examples folder.
import random
import tagformatter
class User:
name = 'John'
age = 21
parser = tagformatter.Parser()
@parser.tag("user")
def user_tag(env):
return env["user"].name
@user_tag.tag("age")
def user_age_tag(env):
return env["user"].age
@parser.tag("random", alias="rng")
def rng_tag(env, low: int = 1, high: int = 10):
return random.randint(low, high)
print(parser.parse("{user} is {user.age} years old. Random number: {random:1, 20}",
env={"user": User()}))
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
tag-formatter-1.0.0.tar.gz
(5.1 kB
view details)
File details
Details for the file tag-formatter-1.0.0.tar.gz
.
File metadata
- Download URL: tag-formatter-1.0.0.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41e81ee57f3327afe13293d4198d40db85e5904d14c07dc76bf8da6749626484 |
|
MD5 | 720b2f9579ced6264aedf231ebff3a09 |
|
BLAKE2b-256 | 5efb0d85d24325fe1e167036f3948a7ead581b60566341f939619913cf96009f |