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.16

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.16
File Size Uploaded Provenance
tumfl-0.3.16.tar.gz 59.1 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 126.4 kB

Release files / tumfl-0.3.16.tar.gz

Download URL tumfl-0.3.16.tar.gz
Size 59.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d8df83a3710f15c52d21bc9eb5f1ee3f50e09f1b6975104c52dbf273dd9d75ff
BLAKE2b-256 checksum
How to use checksums
07c3754eaabaf5db49d5cf3dc46605e1f8e886cf909c07c073d145da0b23af59
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.16-py3-none-any.whl

Download URL tumfl-0.3.16-py3-none-any.whl
Size 67.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e387b9b4bb5e881cf2d265991f1316f9f575dc3241f83f3c35d82f01660c7516
BLAKE2b-256 checksum
How to use checksums
075e4721977481171742ea51352aba4815845eb40cd6a1f921b682cbc594aafe
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.16

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.16 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