Skip to main content

Python bindings for softcut-lib (the norns softcut DSP engine) with nanobind

Project description

softcut

CI

Python bindings for softcut-lib — the per-voice DSP engine behind monome norns' softcut — with realtime audio I/O via miniaudio. Built with nanobind.

The primary API exposes softcut as idiomatic Python objects. An optional norns-compatible layer (softcut.norns) additionally mirrors the flat norns Lua softcut API for porting existing scripts.

Concepts

  • Voice wraps one softcut::Voice: a crossfading read/write head over an audio buffer, with rate, loop points, record/play, fades, and pre/post state-variable filters. Parameters are plain attributes; the buffer is a numpy float32 array you own (softcut-lib never allocates buffer memory). Buffer length must be a power of two — use softcut.next_power_of_two or Engine.allocate, which rounds up for you. The same array can be shared by several voices.

  • Engine is the multi-voice host: it owns a set of voices and a miniaudio device, and runs them either live (realtime mic/speaker I/O on a background audio thread) or offline via Engine.render. It is a context manager and a sequence of voices.

Live looping

import softcut, time

with softcut.Engine(voices=2) as eng:          # opens the audio device
    eng.allocate(seconds=8)                    # shared power-of-two buffer
    eng[0].configure(loop_region=(0, 4), rate=1.0, level=0.8, pan=-0.3)

    with eng[0].record(at=0):                  # rec + play on; head cut to 0s
        time.sleep(4)                          # capture 4s of mic input
    # on exit: rec off — the voice keeps looping what it captured

    eng[1].configure(loop_region=(0, 4), rate=-0.5, level=0.6, pan=0.3)
    eng[1].record_for(4, at=0)                 # blocking variant: record 4s, then stop

    time.sleep(8)                              # listen to both loops
# device closed automatically

eng.start() returns immediately and audio runs on a background thread, so the REPL stays live — set a parameter and you hear the change on the next block. record() is the non-blocking context-manager gesture; record_for(seconds) blocks the calling thread for a fixed capture.

Offline rendering

No device; process a mono numpy block through the voices and get the mixed stereo output back. This is the deterministic path used by the tests:

import numpy as np, softcut

eng = softcut.Engine(voices=1, mode="playback")
v = eng[0]
v.buffer = np.zeros(2**16, dtype=np.float32)
v.configure(loop_region=(0, 1), rate=1.0)
v.rec = v.play = True
v.cut_to(0)

out = eng.render(np.random.randn(48000).astype(np.float32))   # (48000, 2) float32

Load/save audio with whatever you like (e.g. soundfile) and assign the array to voice.buffer.

Routing and devices

Voices mix to stereo via each voice's level and pan. Engine.feedback(src, dst, amount) routes one voice's output into another's input (one block delayed; src == dst is a self-feedback delay line), and each voice's input_gain scales the engine's external (mic) input into it:

eng.feedback(0, 1, 0.4)     # voice 0 -> voice 1 input
eng[1].input_gain = 0.0     # voice 1 ignores the mic

Pick a specific device by index from softcut.list_devices():

softcut.list_devices()                      # [{'index':0,'name':...,'type':'playback',...}, ...]
eng = softcut.Engine(output_device=1, input_device=0)

norns-compatible API

For porting norns scripts (and the muscle memory that goes with them), softcut.norns mirrors the flat, 1-based, singleton norns softcut Lua API: 6 voices indexed from 1 and 2 global mono buffers numbered 1/2. Import it under the name norns scripts expect and call the functions verbatim:

from softcut import norns as softcut

softcut.buffer_clear()
softcut.buffer_read_mono("loop.wav", ch_dst=1)   # numpy + stdlib wave, no extra dep
softcut.loop(1, 1)
softcut.loop_start(1, 0.0)
softcut.loop_end(1, 4.0)
softcut.rate(1, 1.0)
softcut.level(1, 0.8)
softcut.play(1, 1)

softcut.start()                                  # open the audio device
  • Attribute passthroughrate, level, pan, play/rec/loop, loop points, position, the pre/post filters, slews, phase, buffer, voice_sync, level_cut_cut, reset.
  • Buffer/disk opsbuffer_read_* / buffer_write_*, buffer_copy_*, buffer_clear*, in pure numpy plus the standard-library wave module (WAV only, no new dependency), with preserve/mix crossfade, edge fade_time and reverse. Operations write in place, so they are safe against the running audio thread; reads are non-resampling, matching norns.

softcut.render / softcut.start / softcut.stop drive audio (norns runs its audio continuously; here you render offline or open the device explicitly). Phase polling and per-sample level/pan slews are not yet implemented; see docs/dev/norns-api.md for the full mapping and status. demos/12_norns_api.py is a narrated walkthrough built entirely on this layer.

Build and test

make sync     # set up the environment
make test     # run the test suite
make qa       # test + lint + typecheck + format

Set SOFTCUT_TEST_AUDIO=1 to additionally exercise a real audio device in the test suite. Use make help for more targets (wheel, sdist, clean, etc.).

Releasing

CI runs QA and a Linux/macOS/Windows build smoke on every push and pull request. Pushing a v* tag builds wheels for CPython 3.10-3.14 across Linux (x86_64/aarch64), macOS (x86_64/arm64) and Windows with cibuildwheel, plus the sdist, and publishes them to PyPI via trusted publishing. make release bumps the version and creates the tag; pushing it triggers the release. (TestPyPI is available via the workflow's manual workflow_dispatch.)

Notes

  • Realtime parameter updates are safe: while the device is running, voice DSP parameter changes from Python are enqueued and applied on the audio thread via a lock-free queue rather than racing it. (The mix scalars level/pan/ input_gain and the feedback matrix are plain aligned writes.)

  • The vendored softcut-lib carries small host-portability fixes (uninitialized members that relied on embedded zero-init static storage, and an oversized debug buffer stubbed out); see the comments in thirdparty/softcut-lib.

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

softcut_py-0.1.1.tar.gz (504.7 kB view details)

Uploaded Source

Built Distributions

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

softcut_py-0.1.1-cp314-cp314-win_amd64.whl (161.0 kB view details)

Uploaded CPython 3.14Windows x86-64

softcut_py-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (238.7 kB view details)

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

softcut_py-0.1.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (228.3 kB view details)

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

softcut_py-0.1.1-cp314-cp314-macosx_11_0_arm64.whl (200.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

softcut_py-0.1.1-cp314-cp314-macosx_10_15_x86_64.whl (216.4 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

softcut_py-0.1.1-cp313-cp313-win_amd64.whl (156.4 kB view details)

Uploaded CPython 3.13Windows x86-64

softcut_py-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (238.6 kB view details)

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

softcut_py-0.1.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (228.1 kB view details)

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

softcut_py-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (200.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

softcut_py-0.1.1-cp313-cp313-macosx_10_14_x86_64.whl (216.3 kB view details)

Uploaded CPython 3.13macOS 10.14+ x86-64

softcut_py-0.1.1-cp312-cp312-win_amd64.whl (156.5 kB view details)

Uploaded CPython 3.12Windows x86-64

softcut_py-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (238.6 kB view details)

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

softcut_py-0.1.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (228.2 kB view details)

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

softcut_py-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (200.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

softcut_py-0.1.1-cp312-cp312-macosx_10_14_x86_64.whl (216.3 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

softcut_py-0.1.1-cp311-cp311-win_amd64.whl (156.9 kB view details)

Uploaded CPython 3.11Windows x86-64

softcut_py-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (239.8 kB view details)

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

softcut_py-0.1.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (229.1 kB view details)

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

softcut_py-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (202.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

softcut_py-0.1.1-cp311-cp311-macosx_10_14_x86_64.whl (217.2 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

softcut_py-0.1.1-cp310-cp310-win_amd64.whl (157.1 kB view details)

Uploaded CPython 3.10Windows x86-64

softcut_py-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (240.3 kB view details)

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

softcut_py-0.1.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (229.5 kB view details)

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

softcut_py-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (202.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

softcut_py-0.1.1-cp310-cp310-macosx_10_14_x86_64.whl (217.5 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

File details

Details for the file softcut_py-0.1.1.tar.gz.

File metadata

  • Download URL: softcut_py-0.1.1.tar.gz
  • Upload date:
  • Size: 504.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for softcut_py-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a8ec5d183190e2db0e7b0a469b544eceaee8eb9c00a7bd884f361bc4c51ff385
MD5 eb6db0115a9c0619aaa716bdf9a56b95
BLAKE2b-256 343007b09833d93ce050901ffd3cba8058854d37e091966478c14254a4b5d3d9

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: softcut_py-0.1.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 161.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for softcut_py-0.1.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5688b06127e9c29ede732c5f617b19bfa13586cf744fbe056f4ddd943b740976
MD5 c7beadbb34b7e54dc700847f5e7ae464
BLAKE2b-256 906055ea518a9a8a40f3dc7492208c1f40b2aeb3f3467197861934d8f409504b

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a39c477aa8e48cea55c264f7dc0a8f6260db3b431d3edc1efccb56e8b8ca469
MD5 144a9607f033e2495d28e2f5948171f3
BLAKE2b-256 531006e381f4b806b5e9e44d98136e95d09ed65c0d1c44e4397700e51fa6dde8

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0ad270d9a4d5a270febebbfecc20f456b96f0b98ced0d717e234f1bd2c4e1028
MD5 3773ec1cf4d9602c147df2b39244adfe
BLAKE2b-256 fa58d5e256161e30f73c479ef5f95249dcfdc58e67471f0b8f81d5e8550a10c5

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2c0c62381599d02c5cc12974ce3b049ba7572120764304098c0f012575f502b
MD5 6f979a9c7dcc7a6a85e1d47dadff3965
BLAKE2b-256 de021c49e976de9c301df226c14a4e78d9ed18366ae7f1bffaf4bf82a32f7a3b

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 622c791127dd5b9a19457676035fe67078b206a492236125f51840e69c56db22
MD5 838609efa4c56a8f16f9428c49fb7961
BLAKE2b-256 9147deca78861fa75ed2abbccee83d8ef889a3a0ae0b9d93df7664b4035fc0f0

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: softcut_py-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 156.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for softcut_py-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4cca9bb907202a4c96b5468cdaab45c62e3ac80d028a1ca34459af28a08086b4
MD5 ffac6180f2b949dda2d464ec778d3627
BLAKE2b-256 2806b6e8e5a3fb6f1f540ce016072a221a52b0c9f80d2c7fdde7b7941c6ffe5a

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5aea1241307295fb2b7eb9e35fb6701aa8e010fb05aee9f231ce4dc9faed7971
MD5 1ada6ce39752539b17256183f583e314
BLAKE2b-256 28c3c9ea3f99322a91eab4b33a33244c5b950f03408b635b22ba19cc15cb3958

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a5dba6156dcc3348411fc3156cf2563775ed174874305ab2a8b31335bea4963b
MD5 58828156bbfa84eaa03508ae5a63dea4
BLAKE2b-256 2808cd41d8012095ace0a2b92930e9c3863a8028dd030071ecd39f4f476ae846

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee502d000c2fbd7f051cbbbec412e64eef2e575da2b037060a20a28e99ebe46d
MD5 957b0aa37163820882357d32dfd9086d
BLAKE2b-256 019f3291c1b03146800542b42c732f5f0dcaf051244238aa64ac1885ce561cc6

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 fafb4b681c0941dde8e97fae212d7243402eca3c1c80486969c9135b0037c961
MD5 06780f84a0e00533656e5e0f62d60435
BLAKE2b-256 06ad2941c01d1fd19f110224361404ad0672291b6735e27b5fdd412261b28e4d

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: softcut_py-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 156.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for softcut_py-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0bee23acabfb0cd1d775f6a1bb5c4c4d706148b0be8470cf34e14ef22b5b66d7
MD5 694d03a91eb9fd476b0831290548c7fa
BLAKE2b-256 a2a02d9f34cbbd299415f9212bbf900cbe2d25c4ffeec70bbc7f4c848c909f9f

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2364903c645f03d07f54df5055262866d7e2e01a8c5e6d3d3605b434b2519a8
MD5 623a045adebd73f1213e2c84c959df2d
BLAKE2b-256 91a54d64ccad9d42680bb6e9bab2a11df2c0b5b183a402fa69d9944ac250d47d

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9f2c90a8da889daa5bf7e18860786469ee75b1a73c8061e4e799e95229862551
MD5 9b51099976d8bc47914cf676dd181672
BLAKE2b-256 0efd7a7073cffde86119611d879ae473bd5e3081b37e03e420b344e5a16097ee

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 721f76a6b4901110167d51d3b5b364ffb43054c35b7ac660c8d385ea629b3719
MD5 cf378ef96a7723b377c720165f3fcef2
BLAKE2b-256 cb002e51c5c36e4614b963bc84d4465133e71a75583ccf161db30a45df0e0a16

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 e56f145b181f27df69b9d7c250dd72fdf89b532ab8b4934f16b44484915cb0dc
MD5 29692a0465802872d9b33f59c51bbe2d
BLAKE2b-256 971222da28d72b7eac5c923ddfc9c137932c2edba8341fad89a92dab056230b4

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: softcut_py-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 156.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for softcut_py-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bf9ae457bbb305c5c9c75d7cb71ea5dc59d68c5c95c6857d8eebf6dd7b419eef
MD5 eb4cf658ffb99f11dedec23258ee15f2
BLAKE2b-256 2a9610a7e669d0e2a72ea695e0084cabcbd54ed1aeb6b73c378ecbde94bed780

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 572b560cc289cbfd0308309ef34bcc191fdd399a9000f63e5a4753c601c9b60c
MD5 5686da5483510f5fce5482744e268136
BLAKE2b-256 725d21904a24233676f6cde6eefa911d11b56196ccc6de19f976a8c5d6ab61e4

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2e1617b2d8a81e5db794bcc947dc01c558d2dce1cec20bb85792b7ecd1dbca84
MD5 d83809d5a997d60605b0cff1f5ad78de
BLAKE2b-256 d5420d818f7c946503de026742fde47d4c4546c1ab86e31ffe6a24074e2675d1

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd83fdebe3b7454cee2149f97464b705e27cbfcd7ca812631bb5f308e308624f
MD5 192958de11c2df36800a11603ba14a34
BLAKE2b-256 b738eec1e35f27b5947ddca85fdfa7342b3345228e4f0221772cf56f548b7bbb

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a0b1e4437d7db0600ed05e110eae480b822367fd98a1e0b18d31a283704ba15b
MD5 ed3852e5529998c34f2cb27afddea5fc
BLAKE2b-256 88b7a8425c7d6fef82024ebdf0a263a420c3ced67285df2baafde4710fa1e056

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: softcut_py-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 157.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for softcut_py-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ba23febfce16f15cfb7e7b851f0ff962363f1e4facb4cee5a90aa342e6611fff
MD5 4cdd9e78c02b5c3ce312b498de82c48e
BLAKE2b-256 abe6812d254c21d2ccfc2ad2ca11ee64e4eafba25f36309445386a277987b64f

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7b0eff0b793ff6e62b912877c54bf4198ff677df0019572ae4359edf1be9a7e2
MD5 bf39855d2559071e5ee4e6f2024370d0
BLAKE2b-256 18885ae67bd2e9b1fe1ddd0e33622ceedc7c5e3f296476e3dfeec65c834236aa

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 60e8449a43e72d43c531a321df51ab0c69f8aaba45caa4777bb8eaee39b6f5f6
MD5 9117c3627d3da5411d6b37bb676c1bdc
BLAKE2b-256 2055b734eabc0a6b9af6206921864dc33dd5a418d391821b2da914ea45083fcb

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4336639b831076154431def58298e9128c237edc196eafee6fb152cd3a65b8ad
MD5 b92740ed24f6f993c16c26f03248e7b4
BLAKE2b-256 fc7fd8e9ded829e74d1cf5f96d10b3408093a42ebfccb82358a408f43ef9968f

See more details on using hashes here.

File details

Details for the file softcut_py-0.1.1-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for softcut_py-0.1.1-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 57efb56340afbbd203f9cc8e7710988c66f6e6a1c5b21f8984ca4d1bc553ee29
MD5 d2d48de7eb21dcbd0bd72c20dab086f9
BLAKE2b-256 0f900db328058cd3f6f87a1ef1550450a2c0497714b4f214c7701b54a4e9a3f3

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