Skip to main content

Tumfl: The Ultimate Minimizer For Lua

codecov Code style: black

This package contains the best minimizer you'll find on the market, or so I hope.

Executable

Compile a source file into a destination file, resolving all requires. Optionally recompiles every time the source files change (using -f). Optionally replaces placeholders (using -c).

Placeholders

Using a lua config file like

parameter = "value"
numbered_parameter = 3.14
table_parameter = {foo = 1, "bar"}

it can replace placeholders like

foo("$$parameter")
bar = "$$numbered_parameter"
baz = "$$table_parameter"

by compiling using tumfl source.lua -c config.lua with

foo("value")
bar = 3.14
baz = {foo = 1, "bar"}

The prefix is configurable via --config-prefix

usage: tumfl [-h] [-d DESTINATION] [-v] [-f] [-c CONFIG_FILE] [--config-prefix CONFIG_PREFIX] source_file

Compile lua files

positional arguments:
  source_file           Source file to compile

options:
  -h, --help            show this help message and exit
  -d DESTINATION, --destination DESTINATION
                        Destination file
  -v, --verbose         Be verbose
  -f, --follow          Follow file changes
  -c CONFIG_FILE, --config-file CONFIG_FILE
                        Replace placeholders using config file. Config file is a normal lua file, with top level assignments of
                        `name = value`, not limited to strings. To use an replacement, just use a string int the target file like
                        `"$$name"` (if `$$` is your prefix, and `name` the name to look up).
  --config-prefix CONFIG_PREFIX
                        Prefix for names to be replaced by config values (default: $$)
  -m, --minify          Minify the output

Current status

Parser

  • On par with Lua
  • No support for arbitrary byte strings (only valid UTF-8)

Formatter

  • Highly configurable formatter
  • Can produce both minified and prettyfied results
  • Minified results have minimal amount of characters (only required semicolons, etc.)
  • Lossy in the sense that it does not preserve (all) comments

Minifier

  • Minifies Names (normal variables)
  • Creates aliases (i.e. when table is used often, creates a=table and uses a instead of table)

Metadata

Release files for tumfl 0.3.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tumfl 0.3.18
File Size Uploaded Provenance
tumfl-0.3.18.tar.gz 58.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tumfl 0.3.18
File Interpreter ABI Platform
tumfl-0.3.18-py3-none-any.whl Python 3 none any Details

Total release size: 125.0 kB

Release files / tumfl-0.3.18.tar.gz

Download URL tumfl-0.3.18.tar.gz
Size 58.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a644fc766421b6f9bc9337f93883bce1cc4aef3fd668b10859520da29f7a4588
BLAKE2b-256 checksum
How to use checksums
dc3c5619f373878a38868e90c8a4679788f1cab28b5ecf668c330a5478986f9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / tumfl-0.3.18-py3-none-any.whl

Download URL tumfl-0.3.18-py3-none-any.whl
Size 66.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
570cd482567e41815edca498e4970c47a42b8071862a994c885e776b2d0d1941
BLAKE2b-256 checksum
How to use checksums
ffa5606520bdd186f731e4b9641788d4c386cc4a1d8611ea5a5030f4790fcb97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for tumfl 0.3.18

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.3.18 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page