Skip to main content

Neutralts template engine for the Web, python package

Project description

Python package for Neutral TS

Neutral is a templating engine for the web written in Rust, designed to work with any programming language (language-agnostic) via IPC/Package and natively as library/crate in Rust.

Install Package

pip install neutraltemplate

Usage

See: examples

Basic usage with file

from neutraltemplate import NeutralTemplate

schema = """
{
    "config": {
        "cache_prefix": "neutral-cache",
        "cache_dir": "",
        "cache_on_post": false,
        "cache_on_get": true,
        "cache_on_cookies": true,
        "cache_disable": false,
        "disable_js": false,
        "filter_all": false
    },
    "inherit": {
        "locale": {
            "current": "en",
            "trans": {
                "en": {
                    "Hello nts": "Hello",
                    "ref:greeting-nts": "Hello"
                },
                "es": {
                    "Hello nts": "Hola",
                    "ref:greeting-nts": "Hola"
                }
            }
        }
    },
    "data": {
        "hello": "Hello World"
    }
}
"""

template = NeutralTemplate("file.ntpl", schema_str=schema)
contents = template.render()

# e.g.: 200
status_code = template.get_status_code()

# e.g.: OK
status_text = template.get_status_text()

# empty if no error
status_param = template.get_status_param()

# Check for errors
if template.has_error():
    # Handle error
    pass

Using Python dictionaries (schema_obj)

You can pass Python dictionaries directly without JSON serialization:

from neutraltemplate import NeutralTemplate

schema_dict = {
    "data": {
        "title": "Hello World",
        "items": ["one", "two", "three"]
    }
}

# Pass dict directly via schema_obj parameter
template = NeutralTemplate("file.ntpl", schema_obj=schema_dict)
contents = template.render()

Using set_source() for inline templates

from neutraltemplate import NeutralTemplate

template = NeutralTemplate()
template.set_source("{:;data.title:}")
template.merge_schema_obj({"data": {"title": "Hello"}})
contents = template.render()  # "Hello"

Multiple renders with the same NeutralTemplate instance

You can render the same NeutralTemplate instance multiple times:

from neutraltemplate import NeutralTemplate

template = NeutralTemplate("file.ntpl", schema_obj={"data": {"title": "Hello"}})

# First render
contents1 = template.render()

# You can modify the schema and render again
template.merge_schema_obj({"data": {"title": "World"}})
contents2 = template.render()

MessagePack schema

You can pass MessagePack bytes in the constructor or merge them later.

from neutraltemplate import NeutralTemplate

# {"data": {"key": "value"}}
schema_msgpack = bytes([
    129, 164, 100, 97, 116, 97, 129, 163, 107, 101, 121, 165, 118, 97, 108, 117, 101
])

template = NeutralTemplate("file.ntpl", schema_msgpack=schema_msgpack)
template.merge_schema_msgpack(schema_msgpack)

Performance Notes

For best performance, choose the schema input method based on your use case. Current project benchmarks are in local_bench/ and should be treated as workload-dependent:

Method Performance Notes
schema_obj Best in current local bench Python dict/list converted recursively to JSON internally
schema_msgpack Near best in current local bench Binary format, validated at API boundary
schema_str (JSON) Usually slower for larger schemas Requires JSON parsing

Recommendation: Use schema_obj for simplicity. For large schemas and hot paths, benchmark your own workload (local_bench/bench.py) before deciding.

# Recommended: schema_obj (fastest and simplest)
template = NeutralTemplate("file.ntpl", schema_obj={"data": {"title": "Hello"}})

# Good alternative: schema_msgpack (nearly as fast)
template = NeutralTemplate("file.ntpl", schema_msgpack=msgpack_bytes)

# Often slower for large schemas: schema_str (JSON parsing cost)
template = NeutralTemplate("file.ntpl", schema_str='{"data": {"title": "Hello"}}')

API Reference

Constructor

NeutralTemplate(
    path=None,           # Path to template file
    schema_str=None,     # JSON schema as string
    schema_msgpack=None, # MessagePack schema as bytes
    schema_obj=None      # Python dict/list as schema
)

Only one of schema_str, schema_msgpack, or schema_obj can be used at a time. schema_str and schema_msgpack are validated by neutralts during render().

Methods

Method Description
render() Render template (optimized internally with render_once)
set_path(path) Set template file path
set_source(source) Set template source code directly
merge_schema(schema_str) Merge JSON schema from string
merge_schema_msgpack(bytes) Merge MessagePack schema
merge_schema_obj(obj) Merge Python dict/list as schema
get_status_code() Get HTTP status code (e.g., "200")
get_status_text() Get HTTP status text (e.g., "OK")
get_status_param() Get additional error parameter
has_error() Returns True if error occurred during render

Advanced Usage Example

For those seeking to explore an advanced, production-ready implementation of this module within a full-featured Python Flask project, refer to the Neutral Starter Py repository. It demonstrates complex integration scenarios, including scalable architecture patterns, comprehensive error handling, advanced dependency management, automated testing workflows.

Links

Neutral TS template engine Python Package.

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

neutraltemplate-1.4.3.tar.gz (25.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

neutraltemplate-1.4.3-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

neutraltemplate-1.4.3-cp314-cp314-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

neutraltemplate-1.4.3-cp314-cp314-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

neutraltemplate-1.4.3-cp314-cp314-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

neutraltemplate-1.4.3-cp314-cp314-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

neutraltemplate-1.4.3-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

neutraltemplate-1.4.3-cp313-cp313-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

neutraltemplate-1.4.3-cp313-cp313-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

neutraltemplate-1.4.3-cp313-cp313-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

neutraltemplate-1.4.3-cp313-cp313-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

neutraltemplate-1.4.3-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

neutraltemplate-1.4.3-cp312-cp312-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

neutraltemplate-1.4.3-cp312-cp312-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

neutraltemplate-1.4.3-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

neutraltemplate-1.4.3-cp312-cp312-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

neutraltemplate-1.4.3-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

neutraltemplate-1.4.3-cp311-cp311-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

neutraltemplate-1.4.3-cp311-cp311-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

neutraltemplate-1.4.3-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

neutraltemplate-1.4.3-cp311-cp311-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

neutraltemplate-1.4.3-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

neutraltemplate-1.4.3-cp310-cp310-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

neutraltemplate-1.4.3-cp310-cp310-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

neutraltemplate-1.4.3-cp310-cp310-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

neutraltemplate-1.4.3-cp310-cp310-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file neutraltemplate-1.4.3.tar.gz.

File metadata

  • Download URL: neutraltemplate-1.4.3.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for neutraltemplate-1.4.3.tar.gz
Algorithm Hash digest
SHA256 3f21550950d1a22cff762095ec2a8b8363ff7c75b380990f276bc6550d3541ec
MD5 28d1cc5c0b4626d6b1a0f89af9b4e2d7
BLAKE2b-256 8f3927b22f31ec5b88916476c3fa1123a2a841c3fceefabb2e22a081494374ce

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 983a08d4d5f424b806e0f949748f9c0b03e39bb94f58f345bfdc62b31514612a
MD5 44886cccccc83fee4fb298434b6d3d97
BLAKE2b-256 43aa129f2bca243b14890617bf1a05ccf4d0333d3832bd3f67f4097e47f84253

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 30a18998418e50175124b469a01fa20b36c79ca3212dd44cf56d2a8af7518395
MD5 fad64f59f2544af38d26d00d7618aca3
BLAKE2b-256 1f873954339a505bd2539b3c9548718304e868bd7e3bc91fa710bfc55862f5b8

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 16e1cb65ca7e76fabe8b25a4340e86b819ab43bb71d7c1b44c8c7882892d1d47
MD5 f5f26445ef6381778708b8f17ae970b4
BLAKE2b-256 376f2fd0af643575ab57777d6dfca6a8ad3447912410802b7417b2274865db46

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d50da17927de5476f0dfc8898fc93a3621c9d9acd7ff7e2a124bd1434d00b85d
MD5 cb49a3cd7122a77524b24108c812a577
BLAKE2b-256 fe059ae367a2cc2037aeeeac8f338313448d0cee891a0365d62164ec2e1d3477

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b8e6589bdff38cef6ef7609d32c1fd1703978966f20264db7991596926ee9a5b
MD5 cb4a224bdaf7c01915563a9723d4609c
BLAKE2b-256 9612bfd6ef15a8358847d07ee14481add6f3a32dd56bced1a9c67519e5ba6c36

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 82ad75bd16cc6ffcf622dcbe6c557c1d5beae05f4e2a82cb995ea85c9a64732e
MD5 c03dfedeaf0f2ac571e01a0d1565a5e3
BLAKE2b-256 455d786728330c37d60916bb4d2669b79eedb416845ffcad0d1be04e6ca0d565

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5efd0446bf43c0deef636586672223aec0c00912688fd04e4e3384b7ffc85ee7
MD5 b21cceeea797cca89b449a00a8b7087b
BLAKE2b-256 bd6774350da968182800322f066063e8ca0764ad7d46ad3dc0e86b6f12bbfb33

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8a2560746625bda47dfa46c66bf94672f1881f1f0de79e91e2e0f4e3f9250708
MD5 27daf5b8b4eab361e3f01c2219451ce0
BLAKE2b-256 6a079f83beac17278ac35c09980d5a1f995b12df311d367cf7c43c45215f7f00

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f760c4d99ee8969894ef7c4d39f01e72542d829b49d049fb0eeed6ac1ebb255e
MD5 68aefbd5e76bce4a8b165682c20dd47b
BLAKE2b-256 5641f88dfaf5abcb73fe16dc0d707e4ad238265a8d19047489be173a50e2206e

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b75923ca68252aed256d4868d322a1cd69f66179b1f06575909e339f66db4bb8
MD5 e31685a19f9ca5c0af875949d43070e9
BLAKE2b-256 4c4b9287921fa13279037e5bef294a7216d396b42d0ed9020d96027514f0f3ac

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eb89aac540a77a1374a5d2d6d4beba41bcd071966e7f522fa57eda44d6483a34
MD5 5669941634a74b5a650e339c686aceef
BLAKE2b-256 dd498cba1b584042b23398758bdc040bd5280fe2642b68e68eed1c68f3afd8b6

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0080172e2c9458eb6f769a98fe003ad6dc7cc5831280df80bcffabcf76584402
MD5 3694e707302d2a98cbc4eb5aee0d02a4
BLAKE2b-256 8aee19962045b1302d3160d69ea11050fb10c93e2068d1bfaffe43d88be5eed4

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f535752cb7e3f5f275a90ee9ca39d38a4c5ab922d8753ccad8ba3759500cb815
MD5 544ace5692bce2e19024a20e35326736
BLAKE2b-256 44233b328602ffcf441f555fcfb95064a390adff712e949225841f98cc3a597a

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4b376ed702932eeda54017015cf2c2aa2dddfe6c2992b4671843f58d38df3b3
MD5 b9ec8c77fa74ceab76d6f8d1405bbd47
BLAKE2b-256 a6b4ddc2cad6a5ce51ccdaf87a344b04ad933e48f3269ded970d85516b56d3b4

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e25a59e92236816034e0851bbff1b3fdc0a4c309bcf01712742b8e5c67ac8489
MD5 fa516957486a7879c20583b39e1f21fe
BLAKE2b-256 21c9bef3eabb018c3793a71604f43cc01197b4f1147a004758349f70ac155e79

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d139398cf005f5373deac3b356e7b8d51c5006b037319195fc65e31150453459
MD5 91eed8c507982a377c18db46115406b3
BLAKE2b-256 a5624766dfe113d8bae3f16ad885fc47cbefef035644688a427e2eca20021be6

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0cbf2c39a69659f895fc87765d0fbeb3942728e6be3935e512c2ba8d8da08521
MD5 b82ce4760d75ffb1bb97720bca2dd6ba
BLAKE2b-256 141abeffb6dcf9dfb8bff17902617da5f12dec446b1c69ff63340064487a6b4e

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f680d4c9c34086f2de2497c4d565787dcf0cabd4c5f25f0cca80ed49f5d0ecb
MD5 6d7ead95dae9290c70f0c9bc7da1fef3
BLAKE2b-256 9a149a48b69a472d1d2d88211d81f48a00a1b513007061a4682e1058f8ca51b0

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 358895fc4c476bf8691fc151ffa1226c0752b645a3f7e0be1a915c8e85ff13c4
MD5 b4199242d33fe7da3d13a0a1e4a083c2
BLAKE2b-256 94b383c6d0350af26442ef0d69b83a63bb8057039f108619ce70da8cf710d16c

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 10685ba9270485023350a530fc7c87dff3c1b4884aadc4550039adf3b90acddf
MD5 feb638bd6a9501e1f1a3426e67810ad8
BLAKE2b-256 5ffe625721eb5862d04a24a6057396a5fa498fe5cd0a670307f7fb9c6466de7e

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 57e9e95af45ba14861e10e2d525ad917259a38c6c1336f095a3ebee4d0690042
MD5 9e89e69e895a85c39c42b38340f13901
BLAKE2b-256 c8a8369df13df8170ed57627de3e847aa6e576040a7dcde8dbd45bb65170e5b2

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 24e67501a3818a6202c09226937040b4bd5ca02bece7c2ddf94106491827652e
MD5 a76e093699ca02886d2ae22b578d4252
BLAKE2b-256 8b961a6be54701235924f7604602d5ab223e331a49cec05c7b7720ff8a31e315

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 19726385726a7fec468b5d5161870e64ab1621e45b17736ba760e7a2b330899d
MD5 dbbae8ea7e79936b7506ba0ea445734d
BLAKE2b-256 41198e097897d884ae7de7b96d05b98bcf92c2e533ae37da658ea6ec6e00dde4

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cec7371026fb465f2d749d7b8d4a40d27a90888c3f66b80655757d2a6ec60a0
MD5 8f012b900aad0b817bbb9bec1b59c62c
BLAKE2b-256 e4d3cf53fef4e4dafa338bce40bb1b2d04fc1b75c79572f4a215319176a7deb5

See more details on using hashes here.

File details

Details for the file neutraltemplate-1.4.3-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for neutraltemplate-1.4.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fba91e4acbb1399c606d39240bc6b48ae3a806fb6de58a1bba5f07b71fc4e847
MD5 c44b8afc70ac53b37da944d45231d62f
BLAKE2b-256 ac2c84ac67563facdb77db052a4c09126659475d71d3ae11af4a9b0a54cd0cd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page