Skip to main content

A Low Frequency Oscillator

Project description

LFO - A Low Frequency Oscillator

One of my many interests is playing the modular synth. That instrument is not imaginable without the help of LFOs. They are used to control every controllable knob or slider, they control the speed of oscillators, the fading in and out of filters, they can control each other, the possibilities are literally endless.

Synopsis

lfo = LFO(period, *, ...)
from lfo import LFO
from time import sleep

orbit = LFO(10)
while orbit.cycle < 3:
    print(f'{orbit.sine=} {orbit.cosine=}  {orbit.triangle=}  {orbit.sawtooth=}  {orbit.square=}')
    print(f'{orbit.inv_sine=} {orbit.inv_cosine=}  {orbit.inv_triangle=}  {orbit.inv_sawtooth=}  {orbit.inv_square=}')
    sleep(0.1)

What is an LFO?

So what is an LFO? LFO stands for "Low Frequency Oscillator". It's a curve that doesn't stop and that you can pull out values from. The simplest form is probably a sine wave. Regardless of how often you travel along the circle, you always get consistent and reproducible values out of it.

But LFOs come in many different shapes. Here are the ones implemented right now, but I'm open to suggestions to extend this list:

  • A sine wave (and a cosine wave that I don't count extra)
  • A triangular wave
  • A sawtooth wave
  • A square wave
  • A wave that always outputs 1
  • A wave that always outputs 0
  • The inverse of all these

The lfo registers the start time of its instantiation. Its constructor receives a period, the duration of one single wave until the wave repeats.

When ever you now query a value from the lfo, it gives you the proper function result of that wave for this specific point in time. Also, you can query all of the wave forms from the same lfo.

There's one important difference to the lfo you might know from your DAW or synth. Since most programmers will use these to ramp other values by multiplication, this lfo is not centered around the 0 point of the y axis, but all waves are positioned so that they return a value between 0 and 1. There are per-wave parameters to change this.

Terminology / Parameter Names

The LFO class

An instance lfo of type LFO offers the following attributes with their default values:

Primary Instancing Attributes, Read/Write

  • lfo.period: float = 1.0
  • lfo.frequency: float = 1.0 (rw) - Internally an alias for 1 / lfo.period

Wave Outputs, Read-Only

  • lfo.sine: float, lfo.inv_sine: float
  • lfo.cosine: float, lfo.inv_cosine: float
  • lfo.triangle: float, lfo.inv_triangle: float
  • lfo.sawtooth: float, lfo.inv_sawtooth: float
  • lfo.square: float, lfo.inv_square: float
  • lfo.one: float, lfo.inv_one: float
  • lfo.zero: float, lfo.inv_zero: float

Waveform Control Parameters

  • lfo.sine_attenuverter: float = 1.0
  • lfo.sine_offset: float = 0.0
  • lfo.cosine_attenuverter: float = 1.0
  • lfo.cosine_offset: float = 0.0
  • lfo.triangle_attenuverter: float = 1.0
  • lfo.triangle_offset: float = 0.0
  • lfo.sawtooth_attenuverter: float = 1.0
  • lfo.sawtooth_offset: float = 0.0
  • lfo.square_attenuverter: float = 1.0
  • lfo.square_offset: float = 0.0
  • lfo.one_attenuverter: float = 1.0
  • lfo.one_offset: float = 0.0
  • lfo.zero_attenuverter: float = 1.0
  • lfo.zero_offset: float = 0.0
  • lfo.pw: float = 0.5
  • lfo.pw_offset: float = 0.0

Read-Only Status Attributes

  • lfo.frozen: bool - Frozen state of the lfo
  • lfo.t: float - Time within the current cycle of the lfo
  • lfo.normalized: float - Like lfo.t, but normalized to 0 - 1
  • lfo.cycle: int - The number of the current cycle of the lfo

Primary Instancing Attributes, Read/Write

lfo.period, lfo.frequency

lfo.period is the primary setting for the lfo. It's the duration between wave repeats.

lfo.frequency is the inverse of the period. While the period defines the duration of one wave cycle, the frequency defines the number of cycles per second.

Wave Outputs, Read-Only

If you have ever tried making sounds on a computer, you will be very familiar with the available wave types.

All wave forms come with an inverted version named inv_<waveform>.

Sine, Cosine (And important configuration parameters!)

`lfo.sine`, `lfo.cosine`, `lfo.inv_sine`, `lfo.inv_cosine`

Your off-the-mill sine and cosine waves.

Note: In the first iteration of this library, I thought it was a good idea to position the sine and cosine waves in the range or 0 - 1. This idea does not work well in reality, so they now deliver the values any programmer will expect.

See <waveform>_attenuverter and <waveform>_offset below on how to change this.

Triangle

`lfo.triangle`, `lfo.inv_triangle`

A triangle wave ramps up from 0 to 1 over half of the period. Then it ramps down back to zero for the second half, creating a triangular shape.

Sawtooth

`lfo.sawtooth`, `lfo.inv_sawtooth`

A sawtooth wave starts at 1 and ramps down to 0 over the full length of the period.

Square

`lfo.square`, `lfo.inv_square`

The square wave holds 0 over a given time that defaults to half the period, then it switches to 1.

See lfo.pw and lfo.pw_offset below for some configuration options.

One, Zero

`lfo.one`, `lfo.inv_one`, `lfo.zero`, `lfo.inv_zero`

While it may sound useless to have an object that puts out a constant value, one and zero can be very useful if you want to deactivate an changing behaviour in an object without adding a special if-clause or changing its interface.

Waveform Control Parameters

These settings all control the different wave forms. They are configurable both at class instantiation, as well as in runtime.

The consequence of that is that they can be modulated by another lfo...

<waveform>_attenuverter, <waveform>.offset

All waveforms offer these two modifiers. They can passed to the LFO() init when instantiating, and also during runtime

The weird term attenuverter also comes from the world of modular synths and is a combination of attenuator - a scale factor - and inverter - because a negative scale will invert the wave.

A good use case for these settings are the sine and cosine waves, which return values between -1 and 1. If you want to use them for scaling something instead, you set their attenuverter to 0.5. Now they return values from -0.5 to 0.5. Then you offset them by 0.5 and you have your scaling factor.

So the attenuverter and offset alwasy return

`wave * attenuverter + offset`
lfo = LFO(period, sine_attenuverter=1, sine_offset=0, ...)

This first scales the sine wave back to the range of -1 to 1, and then removes the position shift from the defaults.

Even lfo.one and lfo.zero are impacted by these.

lfo.pw and lfo.pw_offset

NOTE: Mighth be renamed to square_pw and square_pw_offset.

pw stands for pulse width. In a synth, it's the duration a signal is up or down. By default, the square wave is up for half of the period, then switches to down. It's pulse width (up) is 0.5. Setting lfo.pw = 1/3 instead will make the square wave generate a 1 for the first 3rd of the period, and a 0 for the remaining time.

Note: The value of the pulse width parameters is normalized to 0-1. That way, you won't have to modify it every time you change the period of the LFO.

The lfo.pw_offset now shifts the start position of the pulse. By default, it starts at the beginning of the period. But if you would want a narrow pulse in the middle of the wave, you can shift the start.

lfo = LFO(10, pw=2, pw_offset=4)

Will result in a square wave that return 0 until the start of the 4th second. Then it will switch to 1 from second 4 to second 6. Finally, it will be back to 0 from second 6 until the end of the period at second 10.

So with lfo.pw you control the width of the "on-phase", and with lfo.pw_offset you control its position.

Read-Only Status Attributes

lfo.t, lfo.normalized

lfo.t will give you the current time within the current cycle of the curve. This will be a value between 0 and lfo.period.

lfo.normalized will give you the same, but scaled into the range of 0 to 1.

Both attributes will reset after each period.

lfo.cycles

The number of the loop that the lfo is currently in. Increments after each period.

Methods

An LFO is mostly a fire and forget object. But it still offers a small handful of methods

lfo.reset() -> None

Resets the start time of the lfo to the current time. With short periods, this will most likely not be relevant, but an lfo can also run for a very long time, e.g. to ramp up enemy spawns over a level, and you don't want to have it deep in its cycle when the next level begins.

lfo.freeze() -> None, lfo.unfreeze() -> None, lfo.is_frozen() -> bool

Pauses the lfo. The current value is held until the pause is terminated. Note that the lfo's start time shifts so, that the wave it outputs is continuous. It will not jump once it's reactivated.

If you prefer a function interface over the status attribute lfo.frozen above, use lfo.is_frozen(), which returns a bool.

Python Magic Methods

LFO instances properly convert to bool, int and float and can thus be directly compared to all of them.

Note that as of now, the sine curve is used. This might be configurable later... FIXME

So e.g. bool(lfo) is the same as bool(lfo.sine).

LFO instances also provide __call__, so if you prefer the function interface, use lfo() to fetch the sine value from the lfo.

In addition, lfo is both an iterator and iterable.

from lfo import LFO
from time import sleep

l = LFO(10)
next(l)
>>> 0.2457116119475273

for i, v in zip(range(10), l):
    print(i, v)
    sleep(0.25)

>>> 0 -0.9886300710248443
>>> 1 -0.9999805639536082
>>> 2 -0.9866305171025227
>>> 3 -0.9488620508175084
>>> 4 -0.8876400367987355
>>> 5 -0.804481428399949
>>> 6 -0.7013677240075332
>>> 7 -0.5811011443144513
>>> 8 -0.44612926127688374
>>> 9 -0.3002298909230939

Example

_NOTE 1: to preserve the zero-dependencies of lfo, examples/demos will be published in a dedicated package lfo_demos, which is currently in the making but not published yet.

_NOTE 2: This example requires pygame-ce, but the code should be straight forward enough to be directly translated to other frameworks like pyglet.

NOTE 3: Please don't use the badly maintained pygame project anymore.

#!/bin/env python3

import pygame
import pygame._sdl2 as sdl2

from lfo import LFO

TITLE = 'pygame minimal template'
SCREEN = pygame.Rect(0, 0, 1024, 768)
FPS = 60
DT_MAX = 3 / FPS

clock = pygame.time.Clock()
window = pygame.Window(title=TITLE, fullscreen_desktop=True)
renderer = sdl2.Renderer(window)
renderer.logical_size = SCREEN.size

RADIUS = 256
SATELITE_RADIUS = 32

orbit = LFO(10, sine_offset=0.0, cosine_offset=0.0)
satelite = LFO(5, sine_offset=0.0, cosine_offset=0.0)
speedo = LFO(20, sine_attenuverter=0.3, sine_offset=1.0, cosine_attenuverter=0.3, cosine_offset=1.0)
color = LFO(3)

rect = pygame.Rect(0, 0, 10, 10)

running = True
while running:
    dt = min(clock.tick(FPS) / 1000.0, DT_MAX)

    for e in pygame.event.get():
        if e.type == pygame.QUIT:
            running = False
        elif e.type == pygame.KEYDOWN:
            if e.key == pygame.K_ESCAPE:
                running = False

    renderer.draw_color = 'darkslategrey'
    renderer.clear()

    renderer.draw_color = ('red', 'green')[int(color.square)]

    renderer.draw_rect(rect.move_to(center=SCREEN.center))

    x = orbit.cosine * RADIUS + SCREEN.centerx
    y = orbit.sine * RADIUS + SCREEN.centery
    renderer.draw_color = ('yellow', 'magenta')[int(color.square)]
    renderer.draw_rect(rect.move_to(center=(round(x), round(y))))

    x += satelite.cosine * SATELITE_RADIUS
    y += satelite.sine * SATELITE_RADIUS
    renderer.draw_color = ('cyan', 'orange')[int(color.square)]
    renderer.draw_rect(rect.move_to(center=(round(x), round(y))))

    satelite.period = speedo.sine

    x = orbit.sine * 2 * RADIUS + SCREEN.centerx + satelite.sine * SATELITE_RADIUS
    y = orbit.cosine * 2 * RADIUS + SCREEN.centery + satelite.cosine * SATELITE_RADIUS
    renderer.draw_color = ('green', 'red')[int(color.square)]
    renderer.draw_rect(rect.scale_by(2).move_to(center=(round(x), round(y))))


    renderer.present()

    window.title = f'{TITLE} - time={pygame.time.get_ticks()/1000:.2f}  fps={clock.get_fps():.2f}'

Installation

Note that this module is in very early draft, and while it is already useful and functional, things might change...

Installation via pip

lfo is available on pypi and can be installed by

pip install lfo

(You are using venvs, right? RIGHT?!?)

lfo comes with no additional requirements, but it is very good to create input for easing functions from rpeasings. lfo was primarily created as a tool for my pygame projects, but it's a generalized control tool that can be used in many different scenarios and environments.

Pre-built wheels for Windows, Mac and Linux...

...are available on the github releases page at

https://github.com/dickerdackel/lfo/releases

Install from source

Again, use a venv!

lfo is packaged following the python packaging authority at https://www.pypa.io/

You can simply clone the github repo from https://github.com/dickerdackel/lfo

Then change into this directory and install the package - INTO YOUR VENV! - with pip install .

# clone repo
dickerdackel@minime:~$ git clone https://github.com/dickerdackel/lfo
...

# create venv
dickerdackel@minime:~/lfo$ python3 -m venv --prompt lfo .venv

# activate venv
dickerdackel@minime:~/lfo$ . .venv/bin/activate

# install lfo
(lfo) dickerdackel@minime:~/lfo$ pip install .

(lfo) dickerdackel@minime:~/lfo$

Support / Contributing

Issues can be opened on Github

Credits / Acknowledgements

  • Thanks to all the modular synth vendors that showed me the versatility of LFOs

License

This software is provided under the MIT license.

See LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lfo-0.0.4.tar.gz (21.2 kB view details)

Uploaded Source

Built Distributions

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

lfo-0.0.4-cp314-cp314-win_arm64.whl (16.8 kB view details)

Uploaded CPython 3.14Windows ARM64

lfo-0.0.4-cp314-cp314-win_amd64.whl (18.5 kB view details)

Uploaded CPython 3.14Windows x86-64

lfo-0.0.4-cp314-cp314-win32.whl (17.6 kB view details)

Uploaded CPython 3.14Windows x86

lfo-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl (41.7 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

lfo-0.0.4-cp314-cp314-musllinux_1_2_aarch64.whl (41.3 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

lfo-0.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (42.0 kB view details)

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

lfo-0.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (42.9 kB view details)

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

lfo-0.0.4-cp314-cp314-macosx_11_0_arm64.whl (16.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

lfo-0.0.4-cp314-cp314-macosx_10_13_x86_64.whl (15.9 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

lfo-0.0.4-cp313-cp313-win_arm64.whl (16.5 kB view details)

Uploaded CPython 3.13Windows ARM64

lfo-0.0.4-cp313-cp313-win_amd64.whl (18.1 kB view details)

Uploaded CPython 3.13Windows x86-64

lfo-0.0.4-cp313-cp313-win32.whl (17.3 kB view details)

Uploaded CPython 3.13Windows x86

lfo-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl (41.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

lfo-0.0.4-cp313-cp313-musllinux_1_2_aarch64.whl (41.2 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

lfo-0.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (41.9 kB view details)

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

lfo-0.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (42.8 kB view details)

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

lfo-0.0.4-cp313-cp313-macosx_11_0_arm64.whl (16.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

lfo-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl (15.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

lfo-0.0.4-cp312-cp312-win_arm64.whl (16.5 kB view details)

Uploaded CPython 3.12Windows ARM64

lfo-0.0.4-cp312-cp312-win_amd64.whl (18.1 kB view details)

Uploaded CPython 3.12Windows x86-64

lfo-0.0.4-cp312-cp312-win32.whl (17.3 kB view details)

Uploaded CPython 3.12Windows x86

lfo-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl (41.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

lfo-0.0.4-cp312-cp312-musllinux_1_2_aarch64.whl (41.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

lfo-0.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (41.9 kB view details)

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

lfo-0.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (42.8 kB view details)

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

lfo-0.0.4-cp312-cp312-macosx_11_0_arm64.whl (16.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

lfo-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl (15.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

lfo-0.0.4-cp311-cp311-win_arm64.whl (16.5 kB view details)

Uploaded CPython 3.11Windows ARM64

lfo-0.0.4-cp311-cp311-win_amd64.whl (18.1 kB view details)

Uploaded CPython 3.11Windows x86-64

lfo-0.0.4-cp311-cp311-win32.whl (17.3 kB view details)

Uploaded CPython 3.11Windows x86

lfo-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl (41.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

lfo-0.0.4-cp311-cp311-musllinux_1_2_aarch64.whl (41.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

lfo-0.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (41.9 kB view details)

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

lfo-0.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (43.0 kB view details)

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

lfo-0.0.4-cp311-cp311-macosx_11_0_arm64.whl (16.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

lfo-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl (15.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

lfo-0.0.4-cp310-cp310-win_arm64.whl (16.5 kB view details)

Uploaded CPython 3.10Windows ARM64

lfo-0.0.4-cp310-cp310-win_amd64.whl (18.1 kB view details)

Uploaded CPython 3.10Windows x86-64

lfo-0.0.4-cp310-cp310-win32.whl (17.3 kB view details)

Uploaded CPython 3.10Windows x86

lfo-0.0.4-cp310-cp310-musllinux_1_2_x86_64.whl (41.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

lfo-0.0.4-cp310-cp310-musllinux_1_2_aarch64.whl (41.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

lfo-0.0.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (41.8 kB view details)

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

lfo-0.0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (42.9 kB view details)

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

lfo-0.0.4-cp310-cp310-macosx_11_0_arm64.whl (16.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

lfo-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl (15.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file lfo-0.0.4.tar.gz.

File metadata

  • Download URL: lfo-0.0.4.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4.tar.gz
Algorithm Hash digest
SHA256 04bc6c3d0de0045fb8f6a7c27275852b530e6aa4c51e8bd0a41e0a445151d22c
MD5 e683640928501cdf493d902571ad2491
BLAKE2b-256 b2e0d6671a4a4b5f4505b27a3249297b50b9c66fbcdfe42233dc261dc9ebb70d

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 11ced0420c656a6d8168eec0552644c9a62f70212b56df7ad765f7b9f41b5054
MD5 431469077d50c5aa54c32796b833cad5
BLAKE2b-256 7184b59ee67c648719afde980a3ad542961a7ad2880f48006f13bfa6c72ecc1d

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 10823eac1250f38479a6e469f732182b44fcf80173a9e2d154794896b3e252d3
MD5 01e4608a07daa4dcc47e5b64ff7d263b
BLAKE2b-256 238af859cb115957add5adeb398c2ff7e437ec86652f1187515a6a255b7896f9

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-win32.whl.

File metadata

  • Download URL: lfo-0.0.4-cp314-cp314-win32.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 4c29371969b08322ba5ee82df3b1aa4547f1c91aa4c7d66b690a45d86ae35e8c
MD5 2b9805738f73b5c08f093a81c22f452d
BLAKE2b-256 00ff3b7a55d30bd19c1fa10593e5d44a9a6d06b62ee100891caf56caa09039e6

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0f1601b708b678262cad5015ef4ad9079e0f04241aa933fceb7a2c3619311864
MD5 67704a1a0cf9bc0f4bb64a36faac2126
BLAKE2b-256 81c2ce22d7e11971f062a6742e45854bc2adcd83547408177c15eafaeb627704

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cd11dd6195c1f7560b5c50cfe9bc8845fa7b4a7db1172152e2f8533e31875386
MD5 49306c345ee7932f6756921aeed89dc1
BLAKE2b-256 840e85c3cc62c1fa1a5311f62ca1e20ec599e23719ec784d8065190c9c91de06

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c1d166f7f8ad1045f3aad344677e5b80f4e472684c0a3397d34173866764805
MD5 6309d73cbd3779eae54741dab6d76d32
BLAKE2b-256 73d1c6bec07d4dd1811a231685d539ce28b63813562f0daaf4b36ce3548e4dbe

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 44bc5d78329c25fd746d9100a0ad86f0229d4ced23b0e85a37e36b965a96905a
MD5 de8561ba78bf4a9042ea6be478ce747f
BLAKE2b-256 2ed7c87d34e5bd941c17b042971bc86a40357f90fdcf604c5e395e8d624ecd7f

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca6d975a5bd154c748b09f35038e66bbb1fa6a35bed8762adb1ccd8b62fcc13c
MD5 5757f149695cbeec684b79aaa77b9803
BLAKE2b-256 f95b0e52146aa022ef57affacdfbda6e209e4354538a0ebec929d33c51848d1a

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6c0be7a3f12af057d8bb54fc193c54ec3c2c358c723d2d4107ba1b7cef6a0b07
MD5 182e68ade413ed0c564cecbcb907e604
BLAKE2b-256 9d31ef3fd7a95bdf9e5f9e02fb74b7ed5574c90e186c5eded60befcb1d3ff709

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 3272a1864f06fe17fb246e2a5bf07cedffe086b11ee7ff7fe4d92ee4a5edaebe
MD5 a0a0f4ec90219fa8bdb88a6c23f29f45
BLAKE2b-256 fc86435fe96ab4be8ee7c90c3fc5a423b222c3b1e9ddb813efaa8ecf38445e4b

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 39b3cf0032927260e4f4e17a990e3a8274c652ea712b7394810a500534e744a3
MD5 7b5f6ec69f8eb5cde09d5d8ae09dcd40
BLAKE2b-256 976cc09fb1ebbf163b90671a4e536543b70361940fd3205a423f6fea17327bd8

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-win32.whl.

File metadata

  • Download URL: lfo-0.0.4-cp313-cp313-win32.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 c1938eb4896fead118c580755ce5cdcd4df30c2538a324a2ae9c7b2dfd0248ed
MD5 4eef569bdcc850224fe2d4d6898bcf49
BLAKE2b-256 c9d1dcee52db04790fd000cd0a46db8f98638e6de6d595c73f7cc561c1a20fd3

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0f9a2aef10a31f31cb07ad39d09293048b291514a2c64843548746d804a41fdc
MD5 98a35ae1c7a1d90edfccdea6298c04b4
BLAKE2b-256 9e0ea9331e2df8cbd4ccb9c8d64cc21af4f17d9abfda8a6d36077dd84a00bc18

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d66a70e5fdcd3fcfd3900422145ff505b95b2f046cb30499f0b9abce2896dee
MD5 9e939a96b0f0033b84a67b5f863beec8
BLAKE2b-256 fcb9539f45ed06a3a60d0815b464ea46c344e132913fb58325f6ece2734704a1

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6685efa9c64bd61a61837f67a2f1d89eec189cfe5107a8eb08047e4431d32454
MD5 838cfd8e543bd259450765fe1ac21ad3
BLAKE2b-256 1f998a0ea0d402f9d38b638ef31f621a0227ff53642c6c6460c0a3aa1e47a5c9

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15eac5db81c7fb33280aa45e314d27f9c8ad71a9da7c65bbb7c41976388ed73d
MD5 27fe2b7a2e60f8ac5a5a8dccabb4f264
BLAKE2b-256 4cad3b370f8568216640b593b2883c082fa1e7b27a812f12fe0c9a45907ca876

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 112533ea5fac82f9970676cdde1ae38b47530f2e790c31676f840c7177d9fde9
MD5 0a3696b0261d029f21a63f0a92475053
BLAKE2b-256 48d9f2ab5fced7bc73e7dc824769fbc33a8ea78dc246fef854a05d72398b05f8

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6816047ee46c8607bc0d50e881275821701dd570391d4a512fc35d7dae8b5407
MD5 a0ebc7723b8cf777f00d5033abf60418
BLAKE2b-256 1c21520078ae9533737db1f1635525b5600d886afcdc10d7ae32fcb8b7d02c1d

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 d0bd407ef4e691a00a1a70feba6ce9e0d67e4ebe917a52522d916df2b5af87aa
MD5 a564d5d91ca669deeb7efd8d558bdd1c
BLAKE2b-256 f06daba83f65b29f035cc76302c18ca7d9f8f3cef1811bcd8eed0ea452fbb1cb

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1b2feb72ea1c81368642b7d975be5f432a815cd4f6f890b3d62c93c656214a36
MD5 bf9316d082c5be3f7ef17b71bc1bcaef
BLAKE2b-256 d748be184114b7700db322bc59dbe0350dd5cbfa830772a3127c508557295435

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-win32.whl.

File metadata

  • Download URL: lfo-0.0.4-cp312-cp312-win32.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 bec3b608c4b29ddeef56a8215eaa63bcffaea5cd1081577297e9d828d90e4ec8
MD5 1589d0f5fd6c84d1991180d4983d3cb4
BLAKE2b-256 48a12b9784c2ad1cd906d6a377792ea7a184c6096df380cb28d546df42b6b9bc

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fc6d3eae5fe19777132b1c832f1f9fbdadf873df243de579e41f2c69cf3ec548
MD5 ac94c0cda13b93209a90cc8e8297689b
BLAKE2b-256 fdd76a2aec78cb63cac91839b78a2ac848c69885e27cefd4d89bd4eaf6b40475

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8e858fffe41c895e50034cb4702d743a5410be00d3b86cbd22b1dcaabe44a075
MD5 2b0c028ada01a61b31645c757c3988fd
BLAKE2b-256 bdc0df360f887e5015d25d2d2e62395b887b9816be1d42e0dac54bf6dae51d4c

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf289a99fcffa3a26ee6edd153abbc0d207fb469e844a98150ce91ccd8f44853
MD5 96189e3528973d3ae0948ecd111be82a
BLAKE2b-256 c70db1811033dc59cadfaf7acd96173ccda4ba9c52bb1384fbe4e1b445802254

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0e71127eef78eae1ec6300a046b7b05a7f426568e1c31d14c3f528f1075d0704
MD5 25e112da4c8cdfa0e50833c4f0fb938e
BLAKE2b-256 2fbb1f73cb2e9742488ac80a25a47d0265c2eaf846321cf698ddee1dddac5698

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0191a815f0be825b4d0a5244e3f72cfde1eec8eda229889b005ddd4c3085bae5
MD5 fc9df6b406e9320124d58138ee713c4c
BLAKE2b-256 25c89ec5422d1c4d58625f07593200be6e8c306067ee8295bbad4605c9316d05

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6e0a6eb971bf9123d2a8ea4c91e4a9d74a18dcfe6d5c7d430958090048b28010
MD5 b5e8118f159bc89c97d756accc90cc8e
BLAKE2b-256 95dcac658e0de2969efa0545404ee18fddf45637d4fbd4c13ccf18bf6bde78ef

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 aafe764a487c4a636a9f3a679122d43432a0805fd04e1d27ec507060e7a04e35
MD5 33cd73bd5430ec9583b59ac58bad1747
BLAKE2b-256 8a13c60a62f1d7eeae5f4a2317f5ecd90b2adbb28cedd326ec6c9bd79eb73504

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 078f7821ff085a2111b02c40d13fa77d0e602c2d883f36dd16e510785e53090e
MD5 7a1978508e641368a0d3ab05b6d38931
BLAKE2b-256 8fb38694ee571c587ac1216941e2f5a7a0b55804652bcfeed0e82c5d9b57b339

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-win32.whl.

File metadata

  • Download URL: lfo-0.0.4-cp311-cp311-win32.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 e513983101f9500ce84e5b93932dd1eb77f870a35833f90ae718bc82829f0d66
MD5 09d4336837158100ba534ae914711c9c
BLAKE2b-256 31f65513cedc15a42225f60c4433fb7bd7c3e83cd7eea3bb4aeb32466255b012

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3fa87ab98f50e415311fb41af9466d7c5459d8d241ee71c84c0bec7794486538
MD5 69767ea08dc988f01190a0c953eb6751
BLAKE2b-256 7a44c53ceaa6b70462c0a3f0d2b219b0cc97f0572f2fda1d7cddd4889afa46e9

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 da02518047ded86d81128ce56bd85355b95dc620fd414adc443dd22fc344e6df
MD5 25c039147abfb167c50d02e8434c3c50
BLAKE2b-256 7399c03d9e10c441c1c5c7fb175755c0694ecb07914f151b89feb5010a2203a8

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a23b52e4ec3abc93c2a0d9f4f896959284cd010e4f82d3e12066fb0a0f54a79
MD5 d1ce9d7085089d45bbd925fa6225f5bc
BLAKE2b-256 876a10eba1d3b65c5acbc35fcf1b8f70724bf623abdcc3642ae6de4d6a0976d5

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bed840d37c5427415ce2afa90489e4769c7dca7419ad1c2c7fce71d8663d941d
MD5 ad8bed3c0685c50267ca55f5a8be58c1
BLAKE2b-256 8de26d19e4d30a0d2c7cd1f46bba8a8cf2e99ef7f6a21e3ac3eba1020a56f393

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23c4cbe480d1562dfa9aa6fd517c64ac58d432de82947b1380e23fcf2857a109
MD5 f2542fb7723443486d582bd1bb2a112d
BLAKE2b-256 47494c5cecd1eeb45dfe96bb81d56de5bb74a5a9d6427cc210a135d37d357db9

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 664156c4cc943223fb3c4b8e36c140f2eb72dd47a9826d6216478fc82f198752
MD5 0a1eb218ea2ecd7a71906c9b1ca37ddc
BLAKE2b-256 5547a5ad6c7c8ede298beeba24b09d6547d20fa7f71260298c785973f3457cd0

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 bda48e31fc02488a41abe2941406708aa9450cb8084bd1505d9f2ae25ed28b6f
MD5 99d8e1661bc033304211922de0673746
BLAKE2b-256 c2071aeb5e847d523dfa5236aa0382d30bedb8592aa8ceae49717b356664ed46

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 29adac5bcef9604b54736475d6b72e40cff43d8306e4d8022e72ce314d78e8b3
MD5 152db64280bbfc5eb09305204850c01c
BLAKE2b-256 8098e6044031ec0d29707fb9ec10670bef50bdbd8f99a9142b1cd082150392e4

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-win32.whl.

File metadata

  • Download URL: lfo-0.0.4-cp310-cp310-win32.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 8c60990a0508b112b0d3ad8000b90f5d133e7e1ffaba7c3ab7e0bb8d61b0e47a
MD5 43b9ca5c254fba023e7147a6b1e2d71e
BLAKE2b-256 277f82dc9dcf5ff0b12b69790ce163f44e28ba053963c43b96a8cbb69bce9213

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 86f659ccc3a45177962b3e5f975981e79a48451d6a484f159b9ca16ad18ef487
MD5 36d34c8fefaf13a1d511e1b2366b5dbb
BLAKE2b-256 154f82138bf99e75c29f0634e1fb6887bf1ace8444e3169632d634ccb54ae82e

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b6a237ced3c131b8b0d1f98203dcb947befc9366bb5e6a1b33a3d2661807f6d
MD5 02d5a01570be47a8e0a12065dcec3cae
BLAKE2b-256 39ccff63af816d0842f3ef27818932f5656418cf53d6dc73999dd0c2bc925b96

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1daaf7d70fbf164d13ca5230cd6fc36dfbaf68b1a95e085c2d143a2afbe0c17c
MD5 fc01fae3840e418ddb84c06fc9a2558e
BLAKE2b-256 d8c8deb38cd9486ae915d9cdcfb64fa11018f6ead29342df31cb550e158f0a8e

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b9d5641ffb42cab5cda7f045f7a7a60683f5a97a1bc69910dae7228e7eafc1a
MD5 e3190064cc1967af2381d294a8007e9c
BLAKE2b-256 699f5a8ed2fd2898dc8499051b15a1181c9e5b26741fe4082d8c6269faf1bdae

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: lfo-0.0.4-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for lfo-0.0.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2edbdd17c8c9fa17c706fc7b7085a2483eadfd4a96e2dee5187f6efa0b080f69
MD5 95b300622f3bb617cf763258892c9a88
BLAKE2b-256 b6c4069bd386cce391ec062b9246b41d7c414486a3877a6df85f6fd4d1e37ec7

See more details on using hashes here.

File details

Details for the file lfo-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lfo-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ccae8af70973a410f5b287b0e5e817ca7c006c7436289a8b1a7690d506b1cd1b
MD5 17d4863d1f9bbb46bf5f1bbfd0f685ee
BLAKE2b-256 8065f7052ed4d43388b214089c57e7cf56074e7b92cf148eaa0ba03371fe9876

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