Skip to main content

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


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.1.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file tag-formatter-1.3.1.tar.gz.

File metadata

  • Download URL: tag-formatter-1.3.1.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

Hashes for tag-formatter-1.3.1.tar.gz
Algorithm Hash digest
SHA256 9345f5fd6ad25c9460191e327db2f35ec1fd840828dbd703b5d2bc008a10c22e
MD5 14ed2ae535a4fc4ba25af1a3cf288af7
BLAKE2b-256 379c6407bc6472f7c551fc44482c6a09dfa65bede6a2f395627766e8fc11bcc1

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