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.3.11.tar.gz
(5.3 kB
view details)
File details
Details for the file tag-formatter-1.3.11.tar.gz
.
File metadata
- Download URL: tag-formatter-1.3.11.tar.gz
- Upload date:
- Size: 5.3 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 | 0d6fb63114b4e3f506d922aae035f3393b9e173601f442b0b8267ad4f506361d |
|
MD5 | a4e68fd946ae1898b3b32019ecfaea21 |
|
BLAKE2b-256 | 2a191e201de7348bddd3fb6a0b8e6337fbd433a684d6267158fed63fc9b25ad5 |