Skip to main content

Converts OpenMPT-supported tracker modules (mod, s3m, xm, it, mptm) to Amiga LSP (LightSpeed Player) format.

Project description

LSPX

LSPX is a tool that converts an OpenMPT-supported tracker module (mod, s3m, xm, it, mptm) into Amiga LSP (LightSpeed Player) format, while programmatically downsampling all of its samples to a configurable quality target. Composers can leverage the conveniences of modern tracker formats (no sample limit, 48KHz samples, transposing/root note, multi-sample instruments, volume/pitch envelopes, etc.) and use LSPX to convert it to an Amiga-playable format.

About

Historically, Amiga developers have primarily used ProTracker MOD format for music in games, demos, etc. Although many productions play MOD files directly using libraries like PTPlayer, there are computationally faster options. LightSpeed Player "renders" MOD files into a lower-level format that provides the Amiga audio hardware with pre-baked, frame-by-frame instructions.

Because the LSP format is little more than a set of low-level instructions for instrument offset, length, volume, and pitch, it's feasible to render other tracker module formats into LSP.

Advantages

Modern tracker formats like MPTM have many advantages over MOD to make composers' lives easier:

  • Any number of samples can be used (MOD files have a 32-sample limit).
  • More granular finetune.
  • Samples can have a root note, meaning notes plotted on the tracker are accurate to the actual tone of the sample.
  • Multi-sample instruments: An instrument can assign different samples to be played at different note ranges.
  • Instruments can have a volume envelope and pitch envelope, complete with sustain and release behaviors.
  • "Global volume" (i.e. master volume) on samples, instruments, and channels, which the volume command mixes with rather than overrides.
  • Volume slide and portamento can be triggered via the volume column, freeing the effect column for other uses on those rows.
  • Predefined sample cues (offset points) which can be triggered via the volume column.
  • The module can use source-quality samples (16-bit, 48000Hz).
  • Per-pattern customizable time signature and number of rows in the pattern.
  • Other advanced features like macros, MIDI integration, additional effect commands, and more.

LSPX aims to support all of these features. Notably, source-quality samples are automatically downsampled into an Amiga-supported range, individually calculated per sample, based on the lowest and highest pitch played on that sample. That means downsampling is no longer a manual process, nor does the composition of the module have any dependency on the sample rate.

Restrictions

Modules are still subject to Amiga hardware limitations; only 4 channels are processed, and effects that make no sense on Amiga (e.g. panning and post-processing effects like reverb) are ignored.

Requirements

LSPX requires SoX for audio processing. It is available for all major OSes via popular package managers (or, you can download a portable version and manually point LSPX to it using the --sox-path parameter).

Installation

LSPX is available for Python 3.12+ on PyPI:

pip install lspx

Usage

Command line

lspx [options] input_file

Options:

  • -h, --help: Show help and exit.
  • -q, --quiet: Run silently (do not output any text to stdout).
  • -o DIRECTORY: Specify output directory (default: current directory).
  • --no-output: Process only, do not output any files (dry run).
  • --sample-info: Print extra sample processing information.
  • --version: Print LSPX version number and exit.
  • --sox-path: Specify path to SoX executable instead of using system PATH.

Config overrides:

These are config file module options that can also be passed via command line arguments. If the option is also set in the config file, the command line argument will override it.

  • --cfg-ntsc: Use NTSC clock rate (instead of PAL) when calculating Amiga period values.
  • --cfg-max-rate RATE: The maximum sample rate at which samples will ever play. LSPX will downsample each sample such that the highest pitch it ever reaches is at or below this sample rate. The default is 28604, which is Amiga period 124 on PAL.
  • --cfg-min-rate RATE: The target minimum sample rate at which samples will play. LSPX will attempt to downsample each sample such that the lowest pitch it ever reaches in your module is equal to this sample rate. Note that depending on the pitch range of the sample, it may be downsampled further to ensure it doesn't overshoot max_rate.

Invoking from Python

from lspx.lsp import Module

mod = Module('path/to/module')
bank, score = mod.build() # Final LSP bank (.lsbank) and score (.lsmusic) bytes

Config file

Various processing options can be included in a TOML-formatted config file. Currently, a config file is loaded by sharing the same name and directory as your module, but with the .toml extension. For example, if your module is named cool-song.mptm, the config file would be named cool-song.toml and reside in the same folder as the module.

As of now, config files are primarily useful for manually adjusting the quality of individual samples, e.g. if some samples can afford a reduction in quality in exchange for smaller file size. More options will be supported over time, such as granular trimming controls, software mixer support, and post-processing effects like gain adjustment, sidechaining, and arbitrary SoX processing commands.

# Config options for the module in general
[module]
ntsc = true
max_rate = 28000
min_rate = 22050

# The default options for samples which don't explicitly provide their own
[default]
quality = 1

# Samples are referenced by name
[samples.kick]
quality = 0.5

# Use quotes for sample names with spaces or special characters
[samples."kick 2"]
quality = 0.8

Building from source

Building from source will also build the openmpt-lspx submodule, which expects your system to have a standard C/C++ build environment set up, e.g. make and gcc.

To manually build from source, clone this repository with submodules included, and then pip install the local copy:

git clone --recurse-submodule https://github.com/dansalvato/lspx
pip install ./lspx

Building on Windows has been tested primarily with Clang, i.e. CC=clang and CXX=clang++.

Planned features (not yet supported)

  • LSP special commands (set BPM, get/set position)

Issues

LSPX has not yet been thoroughly stress-tested, so there will possibly be issues with modules featuring complex behavior, or samples that require a high level of accuracy in their timing. Feel free to report any issues that arise, including a link to the affected module file if applicable.

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

lspx-0.1.3.tar.gz (30.7 MB view details)

Uploaded Source

Built Distributions

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

lspx-0.1.3-cp314-cp314-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.14Windows x86-64

lspx-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

lspx-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

lspx-0.1.3-cp314-cp314-manylinux_2_34_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

lspx-0.1.3-cp314-cp314-manylinux_2_34_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

lspx-0.1.3-cp314-cp314-macosx_11_0_arm64.whl (922.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

lspx-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl (978.3 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

lspx-0.1.3-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

lspx-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

lspx-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

lspx-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

lspx-0.1.3-cp313-cp313-manylinux_2_34_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

lspx-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (922.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

lspx-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl (978.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

lspx-0.1.3-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

lspx-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

lspx-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

lspx-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

lspx-0.1.3-cp312-cp312-manylinux_2_34_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

lspx-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (922.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

lspx-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl (978.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

File details

Details for the file lspx-0.1.3.tar.gz.

File metadata

  • Download URL: lspx-0.1.3.tar.gz
  • Upload date:
  • Size: 30.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lspx-0.1.3.tar.gz
Algorithm Hash digest
SHA256 975d9e33814ad4ac0c5830652803654afb312cb55df066d88cecd319923b1c81
MD5 31d6e26114cae901ec248b6e35636ac0
BLAKE2b-256 e2d425bc1ef4162812ec2f3bd95b838c88370f912b8e158a1dcd20521aa56ea5

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3.tar.gz:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: lspx-0.1.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lspx-0.1.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6580a6275aad2140bfd41f224f5f105a2068e1ee38dde4c8b523b0b0956506b0
MD5 a02bb5a7a598607022094d49e06286e0
BLAKE2b-256 675543abdfd5fa351a4b3069f785e128eafbbb95d25068e87719a572dae17ce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp314-cp314-win_amd64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f981f6d99da8b303112b8bf9b1ba42d1f910ac55c18558ac61bb66b3b0de2d84
MD5 fc4e049533d1c8d4db7aae72bf206325
BLAKE2b-256 6ef0045616546fab9caba33b9f207939edaf143d97d76303e38077678cd7119a

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 08916a74eeca5aeef715a42833bea807f7b50aaa11a9d687d125f978731d5703
MD5 96f7a03be191ddda602408fe33fd37a8
BLAKE2b-256 adc234d7ffb8ce16a476bcad3987dbd76d9aa371be7e001209a9022316dd48f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1289f60713dce0634deb7de2b93cb260b7cc4fea8751b150dca1bcfc756fb844
MD5 c82124e9992aabda52e3bf7eb27b40ab
BLAKE2b-256 8a7718ae01282d5fb7cd0c36a20beed32962aa0d007d175a9f492df6b742ca6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp314-cp314-manylinux_2_34_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 151fc4e71d5563b910c386fa61aca8c72143bd57cb7fb1d66f6e2486d9985776
MD5 aad87a87b0332e744a0aae9474755920
BLAKE2b-256 07216cc73d89e741086ab311a5d1886d9d958d3cae9e032dd404ab779acbb5b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp314-cp314-manylinux_2_34_aarch64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lspx-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 922.8 kB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lspx-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09c8e105f162cae91072550c2edabb92873b5c7b44d36bc5e9b6812e086a6b34
MD5 bcc152f0a4c47ca96ae567ca55202dd5
BLAKE2b-256 cba25c5bc720523d6546258a3832901d287cefe69e0bb529b1c69a8c6d5a8395

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4d4c7406621fa5ee6e7a0a8a18cffd0487395483a7f5a8512e9c6e23c71ed2e1
MD5 f6aed3e36ebd505991ee8ede69ab8df1
BLAKE2b-256 1a732bcf1f2dbcfa48f348eab57d1b2d822ed50c7fef48825268a375cf711bba

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: lspx-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lspx-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6e752752f7e9d39095424d79ce1d52bb20baea3f962b4e6fcef77560737eae3a
MD5 2868d5409eba8694579eb4bf24a12b92
BLAKE2b-256 c479f08777bb6dc45bee918c9cbd8786009b3f62d08821ef0ee6f110a3dcd43c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp313-cp313-win_amd64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ef2fe07341698a0bc1ee5e23bd9cc19ee0987303e5733c450812a28d6cd08c59
MD5 4925c5cbc33c778c3f955f22683d7514
BLAKE2b-256 0859f2f91d9f96a2cf551fba54847405c1a30a5e668554515383ab0c3796b3a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2a21eb9b32a02e43305e26e4115ce8dbf71d396635fbe90efda0ed4b94e72c6e
MD5 c43d32e9c342244762fa839d575a48e9
BLAKE2b-256 f345814f4e65ed92ad3fa0fe009926c9880cb4e48a968626448ebcedc33eecd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e503d4e6441e6359c0d35e0ff7b136d9fe67f00644f9d49dbac514310e90ab01
MD5 52272ecbad385c8ea4283d9b300849c6
BLAKE2b-256 ad06a1cc4ce316b2455ee9d35960e30f81e29d74b7a8006e8f4416e10702fb5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 91d3f9065488861fc3a99e3f32167120a6655ad4f0c884daa8193ab3a2924334
MD5 391cde095f650983628c1ee8a7e6e712
BLAKE2b-256 2fbdb5018d44ac0b56c82ed224b156e10de8613fe2c9505fb6ba85d3133c785d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lspx-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 922.8 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lspx-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54a45ad4348c0fff7818f75292d333f2a9a9c11204b372cc366e968d7a6ce3cf
MD5 7a096f5c8428c71b6979ffcd27ff199b
BLAKE2b-256 10ee6daa10364a1ec4266b09f5b8b734ad63e64ab4fea186d9ac1857baa3381b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b7c4270a6e3924d7f2829da7208ff404e91c14504f186e5663cb86b3fa67682a
MD5 48de31703c4caa189e8597e705377b6d
BLAKE2b-256 723c0d76bb31bb76d4490f3c70254bf4a01c976f842745a33e914e5822bdb03a

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: lspx-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lspx-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fb01017dd2491783ac9a51a0fc413f550ed0a2cbea5a3f52be8c2f31c00c09f3
MD5 7fa63aead20565b7d999f9a30bc4f7ed
BLAKE2b-256 a15474688390697bf7667a639b8a537726c463f1c1665e07e066db82a24f8e8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e28f61857915d1e939392859509355f810393cc046a880a0fd575dc8adc22300
MD5 5cb9174d68d1d490f9741b9cf736416c
BLAKE2b-256 bb498e40d14e11060fd31b9e2f873cbd206de2bea3c74f05de3d6eeca1d2e388

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7d2eb92f9bc807eca5d7de98e657e21c9a5b4c67332a743761d9eddc2b014e8c
MD5 c5195330285a92beb9940ad589e02763
BLAKE2b-256 0ae3dad231c68d877aa176566c952018f9894db4dcd48baaf95fafb4799f3cbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 af64cd0c60cb871decab22fbb2f366487d7bdf4da801f1c118cb3eb75e5e3cb0
MD5 7d1aee148e422fcfd7b3045ddef6d2f5
BLAKE2b-256 9dc90b4c9a3b340fd0c2b76269afc894c5936eb320699e78d023b6c6908b69b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 295c7640712488539272d4a74b3197b67fa7c23ad508251d9fc16434055c4429
MD5 1c5517a64362b6af43290846b3378886
BLAKE2b-256 9b933f41a92a503bd7f3105d23a36c80e9949789b6a2f7fff77b62146d1d7d58

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lspx-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 922.8 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lspx-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ddef786e62c62abe0ce06146d14ebb9b5357c895d72d28e4520f8682a102ead6
MD5 9cf802d4310727770c3652597c4bf0d8
BLAKE2b-256 24beca740c73ecb5be2a1798ea08d3caed037aeb005c61093c046c9ec464c7ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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

File details

Details for the file lspx-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lspx-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d390bf7a46422c9c7203a6667cb3fa89e0e890104a903cff3c4664cee1d41bf4
MD5 ccba3ad544082568a3280a6bdab9c6df
BLAKE2b-256 9d4d092de8b90b0e858822fa9634951a4878e91720da5fde3e054eba48353f55

See more details on using hashes here.

Provenance

The following attestation bundles were made for lspx-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish-to-pypi.yml on dansalvato/lspx

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