Skip to main content

Convert Python data structures into Hyperscript-compatible code blocks.

Project description

Hyperscript Dump

Hyperscript dump is a simple python library for turning python data into raw _hyperscript.


Installation

  1. Install using pip:
pip install hyperscript-dump
  1. Import and use build_hyperscript where needed
from hyperscript_dump import build_hyperscript

Usage

build_hyperscript turns python data into raw hyperscript.

build_hyperscript(data, name='myData')

will return hyperscript like:

"""
init
    set global myData to {'key': 'value'}
    then remove me
end
"""

Configuration

build_hyperscript has a set of additional keyword arguments to configure its behavior.

preserve

Type: bool | Default: False

Keeps the element the hyperscript is on in the DOM after initializing if True.

camelize

Type: bool | Default: True

"Camelizes" dictionary keys from snake case (snake_case) to camel case (camelCase) to fit JavaScript naming conventions.

flatten

Type: bool | Default: False

Each key value pair in a dictionary is assigned as a separate variable, rather than as a single object.

Note: Requires data to be a dictionary.

scope

Type: str | Default: global

Determines the scope of the hyperscript variable (global, element, or local).

event

Type: str, None | Default: init

Specifies the event that triggers assignment. The hyperscript "on" keyword should not need be provided. When set to none only the hyperscript assignment statements will be returned.

Note: If preserve is False (which it is by default), the element will not be removed until after the event is fired and values are set.

debug

Type: bool | Default: False

Logs the set variable name(s) and value(s).

Final example

build_hyperscript(data, 'myData', preserve=True, camelize=False, scope='element')

assuming data is {"my_value": 25}, the tag would output

"init set element my_data to {'my_value': 25} end"

In this example:

  • The hyperscript remains in the DOM since preserve is True
  • The keys within the dumped data remain in snake case since camelize is False
  • The variable is scoped to the element the hyperscript belongs to since scope is set to 'element'

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

hyperscript_dump-1.0.4.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

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

hyperscript_dump-1.0.4-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file hyperscript_dump-1.0.4.tar.gz.

File metadata

  • Download URL: hyperscript_dump-1.0.4.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for hyperscript_dump-1.0.4.tar.gz
Algorithm Hash digest
SHA256 f3cf99279e73c351cefce2396736e46625811f3a9c366b1537090414460b8e24
MD5 0715fb1bb7975f7f74bdfbfcb0d68cb3
BLAKE2b-256 f3e8a3c34dcd79ac3ba8871780de31da869a1009dd4ebd2d2540830665e435cb

See more details on using hashes here.

File details

Details for the file hyperscript_dump-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for hyperscript_dump-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dd55d7158d4d56391aaac6cfdc417278f21a1cc01259b6c816d44ed8bae7a5af
MD5 75d2ee3dfbb029faeda46e454bc7e0a0
BLAKE2b-256 087dd61f467773741c3ad92d33c40182abbca6d8f3a76d8d68590b2e42ccdefd

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