Skip to main content

True Python lazy string (rope-like) implemented as a C++ extension

Project description

CI

True Python Lazy String

Package Description

This package provides a true lazy string type for Python, designed to efficiently represent and manipulate Unicode strings without unnecessary copying or eager materialization. Unlike standard Python strings, which are always represented as separate contiguous memory regions, the lazy string type allows operations such as slicing, joining, and formatting to be composed and deferred until the stringified result is actually needed. This approach can dramatically reduce memory usage and can sometimes improve performance in workloads involving large or complex string manipulations.

The core of the package is implemented as a C++ extension for maximum speed, with a clean Python interface. It is especially useful in scenarios where many intermediate string objects would otherwise be created, such as text processing pipelines, or templating engines. The package aims to be a drop-in enhancement for advanced users who need both the expressiveness of Python and the efficiency of lazy evaluation for string data.

AI/Agent-oriented documentation

If you are an AI agent (or using AI-assisted tooling) and want a repository map, invariants, and extension/optimization guidance, see AI_CONTEXT.md.

AI-assisted development

This project is developed and maintained with the help of AI-assisted tooling. AI suggestions may be used for code, tests, documentation, and refactoring, but changes are reviewed and accepted by the maintainer(s).

Models/tools known to have been used during development (update as needed).

  • Anthropic — Claude Sonnet 4.5
  • GitHub Copilot — GPT-5.2
  • OpenAI — GPT-4.1
  • OpenAI — GPT-5 mini
  • Microsoft Copilot — (model varies)

Installation

Stable version from the PyPI package index:

pip install lstring

Latest development version from GitHub:

pip install git+https://github.com/nnseva/python-lstring.git

Usage

To use the lazy string type, import the L class from the lstring package and construct an L instance from any str. Most operations on L are lazy—they create new L objects that record the operation for later evaluation.

from lstring import L

# Create a simple lazy string from a regular Python string
s = L("Hello, world!")

# Lazy operations (no data copied yet)
s2 = s[7:] + L("!") * 3  # slicing, multiplication, and concatenation are all lazy

# repr() shows the internal structure of the lazy string
print(repr(s2))
# output: (L'Hello, world!'[7:13] + (L'!' * 3))

# Materialize the result as a real Python string back when needed
result = str(s2)
print(repr(result))
# output: 'world!!!!'

You can chain multiple operations (slice, join, format, etc.) without creating intermediate strings. The actual computation and memory allocation happen only when you explicitly convert to a standard Python string (e.g., with str()), or when passing to APIs that require a real string.

The lazy string type is Unicode-aware and supports most common string operations.

Similar to str, L is immutable at the public API level: no operation changes an existing L instance in place (internal caches may be updated).

Internal Representation

A simple L instance constructed directly from str is represented as a string prefixed with L:

print(repr(L('qwerty')))

# output: L'qwerty'

The L instance keeps a reference to the str passed to the constructor.

A compound lazy L instance is constructed when any of the following operations is applied: + (concatenation), * (multiplication), or slicing ([:]).

Note: future versions of the package may extend the variety of compound lazy value kinds.

Calling repr() on any instance of L returns a string that represents the instance’s value’s internal structure.

Note: repr(L(...)) is intended for debugging/testing. It is not optimized and the exact structure may change between versions.

from lstring import L

print(repr((L('x') + L('y'))[0:1]))

# output: (L'x' + L'y')[0:1]

Lazy Operations

Slicing

Applying a slicing operation constructs a lazy L instance that refers to the original L instance with the given slice:

print(repr(L('qwertyuiop')[2:4]))

# output: L'qwertyuiop'[2:4]

Stored slicing indices may be adjusted depending on the actual length. Negative indices are also adjusted to their slicing equivalents:

print(repr(L('qwertyuiop')[-4:-2]))

# output: L'qwertyuiop'[6:8]

print(repr(L('qwertyuiop')[2:15]))

# output: L'qwertyuiop'[2:10]

A step other than 1 is also supported:

print(repr(L('qwertyuiop')[2:15:2]))

# output: L'qwertyuiop'[2:10:2]

print(repr(L('qwertyuiop')[15:2:-2]))

# output: L'qwertyuiop'[9:2:-2]

Multiplication

Applying multiplication constructs a new L instance that represents repeating the original value:

print(repr(L('x') * 3))

# output: (L'x' * 3)

Joining (concatenation)

Applying concatenation (+) constructs a new L instance that references the two operands:

print(repr(L('x') + L('y')))

# output: (L'x' + L'y')

You can concatenate L with str in any order, an L instance for the str operand is created on demand:

print(repr(L('x') + 'y'))

# output: (L'x' + L'y')
print(repr('x' + L('y')))

# output: (L'x' + L'y')

Repeated concatenation with + automatically rebalances the concatenation tree (exact shape may vary):

print(repr(L('1') + '2' + '3' + '4' + '5' + '6' + '7' + '8' + '9'))

# output: (((L'1' + L'2') + (L'3' + L'4')) + ((L'5' + L'6') + ((L'7' + L'8') + L'9')))

Specific L Operations

Construction from string

A simple L instance can be constructed from a string:

print(repr(L('qwerty')))

# output: L'qwerty'

Indexed Access

Unlike str, indexing an L returns a one-character str (not L):

print(repr(L('qwerty')[3]))

# output: 'r'

String Conversion

You may convert an L instance back to str by applying str() to it.

print(repr(str((L('x') + L('y') + L('z') * 3)[1:3])))

# output: 'yz'

String formatting or printing also leads L to be converted back to the str:

print((L('x') + L('y') + L('z') * 3)[1:3])

# output: yz

Note: a simple L instance constructed from str returns the original str object from str(L(...)) (no copy).

Small-result materialization

lstring.set_optimize_threshold(threshold: int) sets a length threshold: results shorter than the threshold will be materialized into a simple L (backed by a str), rather than remaining as a compound lazy value:

lstring.set_optimize_threshold(10)
print(repr((L('x') + L('y') + L('z') * 3)[1:3]))

# output: L'yz'

lstring.set_optimize_threshold() is process-global and affects all L operations.

The lstring.get_optimize_threshold() function returns the current threshold value.

Formatting methods and operators

The format and format_map methods

L.format and L.format_map behave similarly to str.format and str.format_map, respectively.

Actually, the implementation splits the format string to static and dynamic parts, and concatenates static parts with values converted by the str.format function calls. The result is a compound L value.

print(repr('value: {}'.format(1)))
# output: 'value: 1'

print(repr(L('value: {}').format(1)))
# output: (L'value: {}'[0:7] + L'1')

print(repr(str(L('value: {}').format(1))))
# output: 'value: 1'

%-style (printf-like) formatting

The % operator behaves similarly to the % operator of the str.

Actually, the implementation splits the format string to static and dynamic parts, and concatenates static parts with values converted by the % operation of the str. The result is a compound L value.

print(repr('value: %s' % 1))
# output: 'value: 1'

print(repr(L('value: %s') % 1))
# output: (L'value: %s'[0:7] + L'1')

print(repr(str(L('value: %s') % 1)))
# output: 'value: 1'

f-string-like formatting

An f-string is Python-specific syntax sugar that allows using the f prefix on a string literal to embed runtime values and format them.

L supports similar behavior via the L.f() method. Almost any Python expression is allowed, similar to standard f-strings.

You may pass globals() and locals() explicitly to L.f(). By default it uses the caller's globals() and locals().

Actually, the implementation splits the format string to static and dynamic parts, and concatenates static parts with values converted by the format method of the str. The result is a compound L value.

print(repr(f'value: {1}'))
# output: 'value: 1'

print(repr(L('value: {1}').f()))
# output: (L'value: {1}'[0:7] + L'1')

print(repr(str(L('value: {1}').f())))
# output: 'value: 1'

Standard string operations

Most commonly documented str operations are supported:

  • formatting
    • L.format and L.format_map (see above)
    • f-string formatting (L.f() method see above)
    • % (printf-like) formatting (see above)
    • L.zfill
  • Searching and replacing
    • L.find, L.rfind
    • L.index, L.rindex
    • L.startswith, L.endswith
    • L.count
    • L.replace
  • Splitting and joining
    • L.split, L.rsplit
    • L.splitlines
    • L.partition, L.rpartition
    • L.join
  • Classification
    • L.isalpha
    • L.isdecimal
    • L.isdigit
    • L.isnumeric
    • L.isalnum
    • L.isidentifier
    • L.islower
    • L.isupper
    • L.istitle
    • L.isspace
    • L.isprintable
  • Case manipulation
    • L.lower
    • L.upper
    • L.casefold
    • L.capitalize
    • L.title
    • L.swapcase
  • Translation and Encoding
    • L.translate
    • L.maketrans
    • L.encode

Note: for maximum compatibility, some methods are implemented by converting to str and delegating to CPython:

  • All case manipulation operations
    • L.lower
    • L.upper
    • L.casefold
    • L.capitalize
    • L.title
    • L.swapcase
  • Some classification operations
    • L.isidentifier
  • All translation and encoding
    • L.translate
    • L.maketrans
    • L.encode

Implementation of these methods may be improved in the future package versions to avoid conversion to str instance.

Non-standard searching methods

Several additional searching methods are provided on L. They use implementation-specific details to search characters efficiently.

They search for the position of a single character or any character from a character set, and return -1 if not found.

The start and end parameters define the search slice [start, end).

The r-prefixed methods search the position from the right.

Find a single character

L.findc(ch, start=None, end=None)
L.rfindc(ch, start=None, end=None)

Find a single character code point ch.

The character may be represented as a single-char string, or a codepoint integer value.

Find a character set

L.findcs(cs, start=None, end=None, invert=False)
L.rfindcs(cs, start=None, end=None, invert=False)

Find any character code point from the character set cs.

The character set may be represented as str or L value.

The invert parameter may be used to invert the character set.

Find a character range

L.findcr(startcp, endcp, start=None, end=None, invert=False)
L.rfindcr(startcp, endcp, start=None, end=None, invert=False)

Find any character code point from the character range [startcp, endcp).

Both startcp and endcp may be represented as integer values, or single-character str instances.

The invert parameter may be used to invert the searching character set to exclude the character range from the full Unicode character range instead.

Find a character class

L.findcc(class_mask, start=None, end=None, invert=False)
L.rfindcc(class_mask, start=None, end=None, invert=False)

Find any character code point related to the character classes of the class_mask.

The class_mask may be combined from the lstring.CharClass enum values using bitwise OR, like:

class_mask = CharClass.LOWER | CharClass.DIGIT

The invert parameter may be used to invert the searching character class mask.

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

lstring-0.0.9.tar.gz (116.9 kB view details)

Uploaded Source

Built Distributions

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

lstring-0.0.9-cp314-cp314-win_amd64.whl (60.3 kB view details)

Uploaded CPython 3.14Windows x86-64

lstring-0.0.9-cp314-cp314-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

lstring-0.0.9-cp314-cp314-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

lstring-0.0.9-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (587.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lstring-0.0.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (576.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

lstring-0.0.9-cp314-cp314-macosx_11_0_arm64.whl (61.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

lstring-0.0.9-cp314-cp314-macosx_10_15_x86_64.whl (62.3 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

lstring-0.0.9-cp313-cp313-win_amd64.whl (59.2 kB view details)

Uploaded CPython 3.13Windows x86-64

lstring-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

lstring-0.0.9-cp313-cp313-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

lstring-0.0.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (587.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lstring-0.0.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (575.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

lstring-0.0.9-cp313-cp313-macosx_11_0_arm64.whl (61.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

lstring-0.0.9-cp313-cp313-macosx_10_13_x86_64.whl (62.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

lstring-0.0.9-cp312-cp312-win_amd64.whl (59.2 kB view details)

Uploaded CPython 3.12Windows x86-64

lstring-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

lstring-0.0.9-cp312-cp312-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

lstring-0.0.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (587.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lstring-0.0.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (575.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

lstring-0.0.9-cp312-cp312-macosx_11_0_arm64.whl (61.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

lstring-0.0.9-cp312-cp312-macosx_10_13_x86_64.whl (62.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

lstring-0.0.9-cp311-cp311-win_amd64.whl (58.8 kB view details)

Uploaded CPython 3.11Windows x86-64

lstring-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

lstring-0.0.9-cp311-cp311-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

lstring-0.0.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (578.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lstring-0.0.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (566.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

lstring-0.0.9-cp311-cp311-macosx_11_0_arm64.whl (60.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

lstring-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl (62.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

lstring-0.0.9-cp310-cp310-win_amd64.whl (58.7 kB view details)

Uploaded CPython 3.10Windows x86-64

lstring-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

lstring-0.0.9-cp310-cp310-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

lstring-0.0.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (536.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lstring-0.0.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (527.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

lstring-0.0.9-cp310-cp310-macosx_11_0_arm64.whl (60.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

lstring-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl (62.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file lstring-0.0.9.tar.gz.

File metadata

  • Download URL: lstring-0.0.9.tar.gz
  • Upload date:
  • Size: 116.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lstring-0.0.9.tar.gz
Algorithm Hash digest
SHA256 042f89ce0a9af4531805d65bfc597fff28d000a0f693548d24ef4edff4b37eaa
MD5 a11c4537253c9bc1ad4df1b5baf467eb
BLAKE2b-256 1199db830e8857a1c319d5bc43012cf62632f728f7d46a496d3dc45cd237b6fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9.tar.gz:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: lstring-0.0.9-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 60.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lstring-0.0.9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 935550d66a152fb855410faaf2fda0ba23c8e8965268d4b4b2a975227c7ede52
MD5 f3b86b7504c5e70bf53d1b19f11d2316
BLAKE2b-256 62ea02012d8bf045ea3dc23370fe8bdf5f27ef5bef93b0399fd36e2db0032139

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 96a26b4d87d9f1eba66dda231e7390a22adcfe1381baf0ad9f1a0aeee80df4f4
MD5 0754a249f5914b89c830060a62ea8319
BLAKE2b-256 f48a619f195bb0943fd4779eca95aaf42680f3a4eb88ec02bb7b7273c0eb8372

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1d612f60294a53ff92d31d4771fbff0c50be5632a33370b07d757526909fc763
MD5 e031fc62f1f7e9764654400c6766f8f2
BLAKE2b-256 a94c331089600fa1e444459ba6d28219b4d95a13a83ea53f8fac5873cbc0c823

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ed3d6a0006f5adce8a129dabede2fd37fc5c246e6ac93e03f26a23752a92672
MD5 9254801c9c080e774a33ed753561e000
BLAKE2b-256 8fd3eb302f565628ca8a83570f54be1d04371588a249fd22d2095e5fa3537dd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7d62595a517306328f20c40e6ba852cf4de6924e5630462d81c63044d21ef664
MD5 961b054daaed807d3513ae02153d8a15
BLAKE2b-256 5b2961cf545f07f8f3e8c0c67569e95eefaecaf695ea46769c6f693f2b21af77

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 800cc8d90ee8774b7a781c5d1c15d3196f6dc3d490a016b30c2327f4138be16b
MD5 1f0a8eaecf54f02c0f61f1f5ca59d816
BLAKE2b-256 03902687d408ecada484da53d1d43f23c462476a18e7bbd44f007aa1af53caef

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 16abbe5e15815753fc7007b1c63bbc2b7adb3445116637f59fc422d3ca1bcec2
MD5 b7c4d5ac3f0c175ad4b3f34d11aa917e
BLAKE2b-256 1268f9b5f7d61d7f3b69b16de0741849543bdbc9935cca2717dccf1d9d52f843

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: lstring-0.0.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 59.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lstring-0.0.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d8daca2dd3eadeb2cdaee54225c5f5dfd8ec0f8338ada3ec31e89cb5cd4e8607
MD5 16ab3f9f6197331ed6b65910e7ee40e0
BLAKE2b-256 c72f02f9f7be12e6ff8120e067e0617626b72cec2998a6521ccc629fc9ad4b8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4fed6b5540cc60f1907c0baff3ff8a3db116b3d476e9a84189ddb6ee9276667b
MD5 ad600ed8c6c3f2a67a1861217dd391a8
BLAKE2b-256 a0eb0e68cf2ee13b8fb9c58cc4e62493f7d57c064c8fff0058f6b9a727124339

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b9ff018a5ae8a34d028fad9844c872c9ca7e16b81eefb4527b4a14d9c1caaac1
MD5 789b44821516e37e371ceddaeb3077b0
BLAKE2b-256 83a57650dc2aa7ade4b5ae436c469e85eee80c1de6981ea4aa066fe2cc9d3288

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f724585d60608079f313ebf50706762daa17e74b1cc0af75710dc940639ced63
MD5 a8fa9f4287409bd79a4526f770956d04
BLAKE2b-256 d1066a4b0c0fe929103e936e99e2120802f53b51e6919e58604a7a3b5e7aa923

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f45082c2057806c1581d451fb89e839ec8a704d934030793cbe573d4a4b4759d
MD5 8478d6f0b3ef0c380fd5dd3f66c493f8
BLAKE2b-256 3c0a879bd4d1f789cb55082ef35338810c4444f93eb42dc61604317f077dff4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eebf8d1bc810c7a61eff2a9925eafdfa4590bbd67b26c7cc18d3a041dca43060
MD5 87a65f3139ed0d7b3c2642918f354205
BLAKE2b-256 02e65b806cc96bf2cb700fd534e35fe95f0dbfea1890e89baf6c968fa9b07510

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 03898cd3bf5a362329f40a4125e65faca1ac9796f291cfb197a91aa58e62ed06
MD5 f4b3d066cf3c2b7e8f2654bbd8d2c955
BLAKE2b-256 f20900e3d6118f81fe83817fd68c9624e2c6bd96d14f9c299c1d83ffa601a212

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: lstring-0.0.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 59.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lstring-0.0.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 76baea30aae46360f2b2985362759578b0d3762669c8dd93cdd6ab42b14c67cc
MD5 fe903e671891485a21b43711be666cc5
BLAKE2b-256 bb310cc1b628ffd60f65d6d19f03bb93f63f5b091665d5508ac620f3217af886

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1a014b63890178b57e644503289a985a4b39e09eb7e454dbdebf757eb4853662
MD5 3e2533bc05240c4ba70b4201dc988516
BLAKE2b-256 f808259c212c3ec034eb6fd5cbeb35febb89f23c1774b302fbc3dbc756918df6

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f817258db2936284f831988d97a6e2c5e2d9cb0e4b5516dc067eebc0ca2a6ca1
MD5 17c061ccd9e73df2a1ef5fc6d6611fac
BLAKE2b-256 d9b37921ee5e3a22a78fc6b7955e253024d2c5f5fd343f29a5d8deb76b27e00f

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e73e3df1df983b7a5905f274a747db3aa6ad9d0d3133579823f83e0d9b74e17
MD5 c5e8337416964eac152d83310af62d84
BLAKE2b-256 7d087ef8316e930ed15b1768151767da6a3d57150c4cdc0a1158b527feb133dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 265faf157220c97a3fa97a3ecd382698e9839df19f3b3f28c2e7ecea68975f5f
MD5 0f6c8b86fb0df9bf7921fb203d2df705
BLAKE2b-256 4b20f0e425ee94d1a497b6bd1c098afe1da7d32294c13df000bbed3a3669fb05

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55ae9804b617b0852ef242bf9d312bc98e213edae3771005f2ff1b7485b226bf
MD5 23cdc800f39abe2ff44b67f17c2dfe4f
BLAKE2b-256 e1aa4a2bde21fec724a6ba8e4a7b1990cf75deab8bcf4438f580d9ec1c26e30d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c65ea2dfcd50241f8aab214af39e37729de560b3cdec5c38caa56f3c3b486f2f
MD5 cc2e41e2d1ca70210c49b4c38807ed71
BLAKE2b-256 51e80ee5e3d63a1dd7523caa6cbd3d4d4d23ce49d876429fc424d167cc1491df

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: lstring-0.0.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lstring-0.0.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 36af1b33d0ea134763e1bfe31d399e55b172f71ae3bd04005603ca59812d3a02
MD5 482d0ce973f1e43f506d7e953337e345
BLAKE2b-256 92d5e66be8cd2272ccc313fb25181bad9912c8e124ea091ab157f9d25eec5969

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9a88043f11b7314e961d3110b7be9e32af66d50efae964f28e0baeda7e4c1a51
MD5 97725cce978214714bf88666ba5e7db4
BLAKE2b-256 f8d154d946f36d8af61154d52fa581747cc3838e37483ed99eb0a4da99ceaacb

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ee1a063dd9a1b38b42901ebf070360348008777bb91c34f8c7b9a083de36dad2
MD5 039ba724d4b75e046cf596dae97ed805
BLAKE2b-256 966037f7b6a75632b67d6b8a866269cba2e617fc368542a0c8b0fcdc40ad68b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73889ddd47e28af38f72d17591da9bebc8a7475ace89b437a719a2019cfbd013
MD5 7a6535f87ba420673cb1eb1b97f85810
BLAKE2b-256 e3c28a49e705a6d4f1ff49bd26c8cc2fa4afd93100feaf06008fc53f16f49361

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0c596e93c3cb6ae09a1db25e644226034dc38feb7be3e433f231524bf28745a8
MD5 f70f83f112428b1b4e7d035551178890
BLAKE2b-256 da9c0bec3470237614dbe29c00a452d9c265cc227296489ad6791eb35077111f

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f3db3a57c78d0c8dc78e7ed97755bc6b9dd444bc88fa2da414372e013153b9c5
MD5 bdcdcc11ab4f6dca2faad151c296bb48
BLAKE2b-256 1fd6be86ccfe25c2df609fa714d6d6c71a388ac826b877991801e9262f1cd947

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b3a8967dfd186b87280e40c758459e6fa7623e97fc8215849fceeb4ac75dc50a
MD5 e34e5e088099f7829e3d643bfd1a9134
BLAKE2b-256 774e78069b244d180e7df79d22732a75f150c2c217ba9a6257108fd435d37238

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: lstring-0.0.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 58.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lstring-0.0.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0318aa1a64a77f8f94dd71698f4457cfd972f41ec4f1ec3a9fc7076d29140373
MD5 a38bd784ea1a3ee398a1b7231ec9b3ef
BLAKE2b-256 9c1a5846aa474dddd3112e02dab723b480b0d3ea76e121a63dccdc878cca85c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6a18183d51efd4b17b1c009178f7bebe7793c9197f507255c176de62ce06f67b
MD5 80a9d03539f1380a76acf6456bb741b5
BLAKE2b-256 313e4cd8297700d2ec56aba2618e45f060a7b7fa8a0c22509445af27bd4c0ff9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6dc3f12777f4e84bb45afc9f812edfd4d9ccdf2df2977a9177f9f38c12e434b8
MD5 46a0bdfcdedab02510320c685391d367
BLAKE2b-256 d09a9623b19b1c39930a9a09f8f2f4ff6296e360ad9d8b9ce7d03178fa7d077b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 da94bceb169cbc63183423612140b2464bd1f37ac873092128b43f49d79e49a5
MD5 713629d15aafd9528b93fc3889303f59
BLAKE2b-256 76a45d63cd72320b6e73afa48f4fdf4757b3973ec3deb572ce070120ac95ffe3

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8c760064f3d05783197e0d0f69e9cd2b7a84991ca6ee26b56544b2c9f177d8b9
MD5 c2dab2742d17048b9bbc4b9cb581378b
BLAKE2b-256 0e4b5377bb8ba7adb27a5229efffac99f2568dbfe09315f99812b7d8180dadf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 19b133f6e3e24abece9244dcdd5cf9b522fa0b23f33603378b9c12cf2e136690
MD5 145c36d88ba87024b4b85e69424b297e
BLAKE2b-256 bf3aedf7a4d214843ffbf21f27c26d5fe3495378376c9375161a8503f62e4ad0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lstring-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lstring-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2406d315685270e079f9c3b0a24434be527c52a77cc2af3ca9a6a5ecf9a721fd
MD5 2a8d530958a3e951e40e73b506251c73
BLAKE2b-256 bd755a0297a131eea972469ff619ead7152f998e3da3ca8c1f04b58c36157720

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstring-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on nnseva/python-lstring

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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