Skip to main content

Fast and smart HTML + JS minifier

Project description

minify-html

An HTML minifier meticulously optimised for both speed and effectiveness, available for Rust, Node.js, Python, Java, and Ruby.

  • Advanced minification strategy beats other minifiers with only one pass.
  • Uses zero memory allocations, SIMD searching, direct tries, and lookup tables.
  • Well tested with a large test suite and extensive fuzzing.
  • Natively binds to esbuild for super fast JS minification.

Performance

Comparison with html-minfier and minimize, run on the top web pages. See the breakdown here.

Chart showing speed of HTML minifiers Chart showing effectiveness of HTML minifiers

Usage

CLI

Precompiled binaries are available for x86-64 Linux, macOS, and Windows.

Get

Linux | macOS | Windows

Use

Use the --help argument for more details.

minify-html --src /path/to/src.html --out /path/to/output.min.html

API

Rust
Get
[dependencies]
minify-html = { version = "0.3.4", features = ["js-esbuild"] }

Building with the js-esbuild feature requires the Go compiler to be installed as well, to build the JS minifier.

If the js-esbuild feature is not enabled, cfg.minify_js will have no effect.

Use
use minify_html::{Cfg, Error, FriendlyError, in_place, copy, with_friendly_error, truncate};

fn main() {
    let mut code = b"<p>  Hello, world!  </p>".to_vec();
    let cfg = &Cfg {
        minify_js: false,
    };

    // Minifies a slice in-place and returns the new minified length,
    // but leaves any original code after the minified code intact.
    match in_place(&mut code, cfg) {
        Ok(minified_len) => {}
        Err(Error { error_type, position }) => {}
    };

    // Creates a vector copy containing only minified code
    // instead of minifying in-place.
    match copy(&code, cfg) {
        Ok(minified) => {}
        Err(Error { error_type, position }) => {}
    };

    // Minifies a vector in-place, and then truncates the
    // vector to the new minified length.
    match truncate(&mut code, cfg) {
        Ok(()) => {}
        Err(Error { error_type, position }) => {}
    };

    // Identical to `in_place` except with FriendlyError instead.
    // `code_context` is a string of a visual representation of the source,
    // with line numbers and position markers to aid in debugging syntax.
    match with_friendly_error(&mut code, cfg) {
        Ok(minified_len) => {}
        Err(FriendlyError { position, message, code_context }) => {
            eprintln!("Failed at character {}:", position);
            eprintln!("{}", message);
            eprintln!("{}", code_context);
        }
    };
}
Node.js
  • Package: @minify-html/js
  • Binding: N-API
  • Platforms: Linux, macOS, Windows; Node.js 8.6.0 and higher
Get

Using npm:

npm i @minify-html/js

Using Yarn:

yarn add @minify-html/js
Use
const minifyHtml = require("@minify-html/js");

const cfg = minifyHtml.createConfiguration({ minifyJs: false });
const minified = minifyHtml.minify("<p>  Hello, world!  </p>", cfg);

// Alternatively, minify in place to avoid copying.
const source = Buffer.from("<p>  Hello, world!  </p>");
// This is a Buffer representing a slice of `source`, not newly allocated memory.
const minified = minifyHtml.minifyInPlace(source, cfg);

minify-html is also available for TypeScript:

import * as minifyHtml from "@minify-html/js";
import * as fs from "fs";

const cfg = minifyHtml.createConfiguration({ minifyJs: false });
const minified = minifyHtml.minify("<p>  Hello, world!  </p>", cfg);
// Or alternatively:
const minified = minifyHtml.minifyInPlace(fs.readFileSync("source.html"), cfg);
Java
Get

Add as a Maven dependency:

<dependency>
  <groupId>in.wilsonl.minifyhtml</groupId>
  <artifactId>minify-html</artifactId>
  <version>0.3.4</version>
</dependency>
Use
import in.wilsonl.minifyhtml.MinifyHtml;

MinifyHtml.Configuration cfg = new MinifyHtml.Configuration.Builder()
    .setMinifyJs(false)
    .build();
try {
    String minified = MinifyHtml.minify("<p>  Hello, world!  </p>", cfg);
} catch (MinifyHtml.SyntaxException e) {
    System.err.println(e.getMessage());
}

// Alternatively, minify in place:
assert source instanceof ByteBuffer && source.isDirect();
MinifyHtml.minifyInPlace(source, cfg);
Python
  • Package: minify-html
  • Binding: PyO3
  • Platforms: Linux, macOS, Windows; Python 3.5 and higher
Get

Add the PyPI project as a dependency and install it using pip or pipenv.

Use
import minify_html

try:
    minified = minify_html.minify("<p>  Hello, world!  </p>", minify_js=False)
except SyntaxError as e:
    print(e)
Ruby
  • Package: minify_html
  • Binding: Rutie
  • Platforms: Linux, macOS; Ruby 2.5 and higher
Get

Add the library as a dependency to Gemfile or *.gemspec.

Use
require 'minify_html'

print MinifyHtml.minify("<p>  Hello, world!  </p>", { :minify_js => false })

Minification

Whitespace

minify-html has advanced context-aware whitespace minification that does things such as:

  • Leave whitespace untouched in pre and code, which are whitespace sensitive.
  • Trim and collapse whitespace in content tags, as whitespace is collapsed anyway when rendered.
  • Remove whitespace in layout tags, which allows the use of inline layouts while keeping formatted code.

Methods

There are three whitespace minification methods. When processing text content, minify-html chooses which ones to use depending on the containing element.

Collapse whitespace

Applies to: any element except whitespace sensitive elements.

Reduce a sequence of whitespace characters in text nodes to a single space (U+0020).

BeforeAfter
<p>↵
··The·quick·brown·fox↵
··jumps·over·the·lazy↵
··dog.↵
</p>
<p>·The·quick·brown·fox·jumps·over·the·lazy·dog.·</p>
Destroy whole whitespace

Applies to: any element except whitespace sensitive, content, content-first, and formatting elements.

Remove any text nodes between tags that only consist of whitespace characters.

BeforeAfter
<ul>↵
··<li>A</li>↵
··<li>B</li>↵
··<li>C</li></ul>
<ul>↵
··<li>A</li><li>B</li><li>C</li></ul>
Trim whitespace

Applies to: any element except whitespace sensitive and formatting elements.

Remove any leading/trailing whitespace from any leading/trailing text nodes of a tag.

BeforeAfter
<p>↵
··Hey,·I·<em>just</em>·found↵
··out·about·this·<strong>cool</strong>·website!↵
··<sup>[1]</sup></p>
<p>Hey,·I·<em>just</em>·found↵
··out·about·this·<strong>cool</strong>·website!↵
··<sup>[1]</sup></p>

Element types

minify-html recognises elements based on one of a few ways it assumes they are used. By making these assumptions, it can apply optimal whitespace minification strategies.

Group Elements Expected children
Formatting a, strong, and others Formatting elements, text.
Content h1, p, and others Formatting elements, text.
Layout div, ul, and others Layout elements, content elements.
Content-first label, li, and others Like content but could be layout with only one child.
Formatting elements

Whitespace is collapsed.

Formatting elements are usually inline elements that wrap around part of some text in a content element, so its whitespace isn't trimmed as they're probably part of the content.

Content elements

Whitespace is trimmed and collapsed.

Content elements usually represent a contiguous and complete unit of content such as a paragraph. As such, whitespace is significant but sequences of them are most likely due to formatting.

Before
<p>↵
··Hey,·I·<em>just</em>·found↵
··out·about·this·<strong>cool</strong>·website!↵
··<sup>[1]</sup></p>
After
<p>Hey,·I·<em>just</em>·found·out·about·this·<strong>cool</strong>·website!·<sup>[1]</sup></p>
Layout elements

Whitespace is trimmed and collapsed. Whole whitespace is removed.

These elements should only contain other elements and no text. This makes it possible to remove whole whitespace, which is useful when using display: inline-block so that whitespace between elements (e.g. indentation) does not alter layout and styling.

Before
<ul>↵
··<li>A</li>↵
··<li>B</li>↵
··<li>C</li></ul>
After
<ul><li>A</li><li>B</li><li>C</li></ul>
Content-first elements

Whitespace is trimmed and collapsed.

These elements are usually like content elements but are occasionally used like a layout element with one child. Whole whitespace is not removed as it might contain content, but this is OK for using as layout as there is only one child and whitespace is trimmed.

Before
<li>↵
··<article>↵
····<section></section>↵
····<section></section>↵
··</article></li>
After
<li><article><section></section><section></section></article></li>

Tags

Optional closing tags are removed.

Attributes

Any entities in attribute values are decoded, and then the shortest representation of the value is calculated and used:

  • Double quoted, with any " encoded.
  • Single quoted, with any ' encoded.
  • Unquoted, with "/' first character (if applicable), > last character (if applicable), and any whitespace encoded.

class and d attributes have their whitespace (after any decoding) trimmed and collapsed.

Boolean attribute values are removed. Some other attributes are completely removed if their value is empty or the default value after any processing.

type attributes on script tags with a value equaling a JavaScript MIME type are removed.

If an attribute value is empty after any processing, everything but the name is completely removed (i.e. no =), as an empty attribute is implicitly the same as an attribute with an empty string value.

Spaces are removed between attributes if possible.

Entities

Entities are decoded if valid (see relevant parsing section) and their decoded characters as UTF-8 is shorter or equal in length. Some entities are longer decoded than encoded, so they're left encoded.

Numeric entities that do not refer to a valid Unicode Scalar Value are replaced with the replacement character.

If an entity is unintentionally formed after decoding, the leading ampersand is encoded, e.g. &&#97;&#109;&#112;; becomes &ampamp;. This is done as &amp is equal to or shorter than all other entity representations of characters part of an entity ([&#a-zA-Z0-9;]), and there is no other conflicting entity name that starts with amp.

It's possible to get an unintentional entity after removing comments, e.g. &am<!-- -->p.

Left chevrons after any decoding in text are encoded to &LT if possible or &LT; otherwise.

Comments

Comments are removed.

Ignored

Bangs, processing instructions, and empty elements are not removed as it is assumed there is a special reason for their declaration.

Parsing

Only UTF-8/ASCII-encoded HTML code is supported.

minify-html does no syntax checking or standards enforcement for performance and code complexity reasons.

For example, this means that it's not an error to have self-closing tags, declare multiple <body> elements, use incorrect attribute names and values, or write something like <br>alert('');</br>

However, there are some syntax requirements for speed and sanity.

Tags

Tag names are case sensitive. For example, this means that P won't be recognised as a content element, bR won't be considered as a void tag, and the contents of Script won't be parsed as JavaScript.

Tags must not be omitted. Void tags must not have a separate closing tag e.g. </input>.

Entities

Well-formed entities are decoded, including in attribute values.

They are interpreted as characters representing their decoded value. This means that &#9; is considered a whitespace character and could be minified.

Malformed entities are interpreted literally as a sequence of characters.

If a named entity is an invalid reference as per the specification, it is considered malformed.

Numeric character references that do not reference a valid Unicode Scalar Value are considered malformed.

Attributes

Backticks (`) are not valid quote marks and not interpreted as such. However, backticks are valid attribute value quotes in Internet Explorer.

Special handling of some attributes require case sensitive names and values. For example, CLASS won't be recognised as an attribute to minify, and type="Text/JavaScript" on a <script> will not be removed.

Script and style

script and style tags must be closed with </script> and </style> respectively (case sensitive).

minify-html does not handle escaped and double-escaped script content.

Issues and contributions

Pull requests and any contributions welcome!

If minify-html did something unexpected, misunderstood some syntax, or incorrectly kept/removed some code, raise an issue with some relevant code that can be used to reproduce and investigate the issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

minify_html-0.3.4-cp38-none-win_amd64.whl (5.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

minify_html-0.3.4-cp38-cp38-manylinux1_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.8

minify_html-0.3.4-cp38-cp38-macosx_10_7_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

minify_html-0.3.4-cp37-none-win_amd64.whl (5.0 MB view details)

Uploaded CPython 3.7 Windows x86-64

minify_html-0.3.4-cp37-cp37m-manylinux1_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.7m

minify_html-0.3.4-cp37-cp37m-macosx_10_7_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

minify_html-0.3.4-cp36-none-win_amd64.whl (5.0 MB view details)

Uploaded CPython 3.6 Windows x86-64

minify_html-0.3.4-cp36-cp36m-manylinux1_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.6m

minify_html-0.3.4-cp36-cp36m-macosx_10_7_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.6m macOS 10.7+ x86-64

minify_html-0.3.4-cp35-none-win_amd64.whl (5.0 MB view details)

Uploaded CPython 3.5 Windows x86-64

minify_html-0.3.4-cp35-cp35m-manylinux1_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.5m

minify_html-0.3.4-cp35-cp35m-macosx_10_7_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.5m macOS 10.7+ x86-64

File details

Details for the file minify_html-0.3.4-cp38-none-win_amd64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.4

File hashes

Hashes for minify_html-0.3.4-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 7ea366afb3ede97aad00b36325ea9d736467e94a48fa8db30627277b67717f04
MD5 450633333138d177312448d6a47aaed0
BLAKE2b-256 68dc968183cd1a7a47946928f850e582acb331e1354b65f1644c5c58b5785ef0

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

File hashes

Hashes for minify_html-0.3.4-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c1a7f716a7b19c2dc60488fadc04142f7ca16f2bda6bd5255071cbcdfc5c7ee4
MD5 2014b655f698ea0303c02a9d34825e8d
BLAKE2b-256 b2df132a35faa2dc08db18d9fc97abf259203ee76db0867f7d665b6f053e5244

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp38-cp38-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.8, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

File hashes

Hashes for minify_html-0.3.4-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f5035b35b38ef13bcdfc6d0ee44070d37ac9597e6372008d74de4dd393c80f79
MD5 ab4cd255885374fc6ffa1cb6ce5dfee0
BLAKE2b-256 e926446f88affe79ae5763463d58b2476c9c937e39de6e7f174e62b9dcde9176

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp37-none-win_amd64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for minify_html-0.3.4-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 b991ddf04fb61139daa2dbb2dbcdaaa8388008cc22eadbe462d84691aed2b0cf
MD5 9898917efd55787bc1c45d1353c3ce71
BLAKE2b-256 d5f613ad5fbbcab05bcde0fe75a919197269322eeea679706be1ba3757eab76b

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for minify_html-0.3.4-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d4f9835c6dd23c9e992980c7ba6c247538b05f8a25e638f4852759608dc465c4
MD5 1423397741e1468c476cfddb0c1bf039
BLAKE2b-256 d1c9211720443fb899e761a1b9299dbae92033ee287b80f40212fea9ffdc517c

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp37-cp37m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.7m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.8

File hashes

Hashes for minify_html-0.3.4-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 e7cd7c83d551e75f75073925d94114e6ebf4e828c861ab1ed9783e1e171da4dc
MD5 5768c4de27937018cdd42262eee7de7f
BLAKE2b-256 3b16baef70fa4fcd325c6f2cc3f573d9f2bbb3332369f095f27ce6474087a9e9

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp36-none-win_amd64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp36-none-win_amd64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.6, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.8

File hashes

Hashes for minify_html-0.3.4-cp36-none-win_amd64.whl
Algorithm Hash digest
SHA256 d0fd91b9658d16d370b455658835234be4655cb6a282ddeeadc83576325c1e78
MD5 211d9d0b0652cdc04a7fb4e168c5f3d3
BLAKE2b-256 a829cd5b3481aa5fb20eb0c8358f2ea6688060fbd9ec09bcca597111eb166499

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.11

File hashes

Hashes for minify_html-0.3.4-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f43fb18715f112546033b690bd245e70c9226e2206e1d0b089c55c20c9fb8b7b
MD5 ee00d4bf6270ffb8b9a16e1a4154c563
BLAKE2b-256 0f687dd8b8b213a18692961addc9c244d5032c541403d31c10d738fb0633107f

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp36-cp36m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp36-cp36m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.6m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.11

File hashes

Hashes for minify_html-0.3.4-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 6b798295b527879b642da43bbceacee3c9d0312b8d2e3a7016dce06d12651c90
MD5 8b8763c315cae7cfffb8056d38c445fd
BLAKE2b-256 b3f2c67bea4f0faeb40fbe54a92e4d94e01c90ada1f676c72e454a8b12508e36

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp35-none-win_amd64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp35-none-win_amd64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.5, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.5.4

File hashes

Hashes for minify_html-0.3.4-cp35-none-win_amd64.whl
Algorithm Hash digest
SHA256 7e664790a79a84431b99360114256e8e2355ec57cbe339488c640279d7ee4d17
MD5 6e2165b5d18ddb82a501b64f2f862189
BLAKE2b-256 7dde6b3d155bf9c0a17342fcb074222da59c52fb8e8b74b293a07c9d970a4f64

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.5.9

File hashes

Hashes for minify_html-0.3.4-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c06a7ed5f953fbe106acb61ed6634b3540386b0e442205d2d8719cc755da0d79
MD5 131f6899c5e3cac4e6b159d90e677b81
BLAKE2b-256 96710a946074fc9101e6cb1c49a28860abc9b67e47b4a6dc3a7649ba29b4ea97

See more details on using hashes here.

File details

Details for the file minify_html-0.3.4-cp35-cp35m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: minify_html-0.3.4-cp35-cp35m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.5m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.5.9

File hashes

Hashes for minify_html-0.3.4-cp35-cp35m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 d2bcbf39df60d03622d79a096a875017c2e140a747f761f732956a292274773a
MD5 ab45b7898b2ed902ac6b63a7c07b3ae4
BLAKE2b-256 c670fb81bc92043d1f5072a68b2a75288b351354b7ec57bc15d78dbf17873f24

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