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 twistable 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.
This class transfers that concept to python.
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 an infinitely repeating curve 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 (see further below for descriptions), but I'm open to suggestions to extend this list:
* lfo.sine, lfo.cosine
* lfo.triangle
* lfo.sawtooth
* lfo.square
* lfo.one
* lfo.zero
* lfo.random
* lfo.inv_<waveform> - All of the above, but inverted
The lfo registers the start time of its instantiation. If no period length - the duration of one single wave - is provided, it defaults to 1 second.
Whenever 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 these wave forms from the same lfo. The lfo instance basically just defines the heartbeat for all the waves.
Each waveform can be scaled and offset. Note, that the inverted waves use the same scale and offset as the normal ones, otherwise they would run out of sync.
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 except sine and cosine variants are positioned so that they return a value between 0 and 1. There are per-wave parameters to change this.
The LFO class
Instantiation
wave = LFO(10, default_wave=Wave.inv_sawtooth, ...)
Overview
Primary Instancing Attributes, Read/Write
lfo.period: float = 1.0lfo.frequency: float = 1.0- Internally an alias for1 / lfo.periodlfo.cycles: int = 0lfo.default_wave: lfo.Wave = lfo.Wave.sine
Wave Outputs, Read-Only
lfo.sine: float,lfo.inv_sine: floatlfo.cosine: float,lfo.inv_cosine: floatlfo.triangle: float,lfo.inv_triangle: floatlfo.sawtooth: float,lfo.inv_sawtooth: floatlfo.square: float,lfo.inv_square: floatlfo.one: float,lfo.inv_one: floatlfo.zero: float,lfo.inv_zero: float
Waveform Control Parameters and Defaults
lfo.sine_attenuverter: float = 1.0lfo.sine_offset: float = 0.0lfo.cosine_attenuverter: float = 1.0lfo.cosine_offset: float = 0.0lfo.triangle_attenuverter: float = 1.0lfo.triangle_offset: float = 0.0lfo.sawtooth_attenuverter: float = 1.0lfo.sawtooth_offset: float = 0.0lfo.square_attenuverter: float = 1.0lfo.square_offset: float = 0.0lfo.one_attenuverter: float = 1.0lfo.one_offset: float = 0.0lfo.zero_attenuverter: float = 1.0lfo.zero_offset: float = 0.0lfo.pw: float = 0.5lfo.pw_offset: float = 0.0
Read-Only Status Attributes
lfo.frozen: bool- Frozen state of the lfolfo.t: float- Time within the current cycle of the lfolfo.normalized: float- Likelfo.t, but normalized to 0 - 1lfo.cycle: int- The number of the current cycle of the lfo
Detailed Description and Terminology
Primary Instancing Attributes
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.
lfo.cycles
The number of periods this lfo will run through. After that, it will return the value of the end of its period until it is reset.
The default is 0, which means the lfo will not terminate.
See note at lfo.random.
lfo.default_wave
Set the default wave form when "casting" the lfo to int, float, bool, or
when calling it with lfo().
Defaults to lfo.Wave.sine.
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> which
returns 1 - <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, since sine and cosine are rarely used to scale things, but to rotate them, 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.
Think "fading out" (sawtooth) and "fading in" (inv_sawtooth).
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. It's basically a timed switch.
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.
Random
`lfo.random`, `lfo.inv_random`
The random wave contains values that are... well, random. They are not a function of time.
Note: inv_random makes zero sense but it still implemented to provide a
consistent interface.
Note 2: A side effect of being independent of time is, that this wave will not "stop" once the all cycles have finished.
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.
lfo = LFO(period, sine_attenuverter=0.5, sine_offset=0.5, ...)
So the attenuverter and offset alwasy return
`wave * attenuverter + offset`
Note: 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 in future
versions.
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.cycle
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
described further above, use lfo.is_frozen(), which returns a bool.
lfo.set_attenuverters(amount: double) -> None
Set all attenuverters to the given amount.
Note: This might require sine and cosine attenuverters to be set additionally.
lfo.set_offsets(amount: double) -> None
Set all offsets to the given amount.
Note: This might require sine and cosine attenuverters to be set additionally.
lfo.rewind(amount: double) -> None
Rewind the lfo by the given amount in seconds.
lfo.skip(amount: double) -> None
Skip the lfo forward in time by the given amount in seconds.
lfo.set_default_wave(n) -> None
This is the function version of passing default_wave= to the constructor or
setting it during runtime.
Set the default wave for lfo(), float(lfo), int(lfo) and bool(lfo) (See Python Magic Methods below).
This accepts an int, but the lfo.Wave enum should be used instead.
lfo.set_default_wave(Wave.inv_triangle)
Python Magic Methods
LFO instances properly convert to bool, int and float and can thus be
directly compared to all of them.
Note: By default, the sine wave is returned. This is configurable by
lfo.set_default_wave(n) described above.
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 (or configured default wave)
from the lfo.
In addition, lfo is both an iterator and iterable.
from lfo import LFO, Wave
from time import sleep
l = LFO(10, default_wave=Wave.inv_sawtooth)
next(l)
>>> 0.2457116119475273
l.reset()
for i, v in zip(range(10), l):
print(i, v)
sleep(1)
>>> 0 1.202999999616594e-07
>>> 1 0.10007948659999999
>>> 2 0.20009758980000003
>>> 3 0.3001155295
>>> 4 0.4001310015999999
>>> 5 0.5001526283
>>> 6 0.6002004129
>>> 7 0.7002980965
>>> 8 0.8003155583
>>> 9 0.9004469224999999
>>> 10 0.00046909910000003663
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lfo-0.0.6.tar.gz.
File metadata
- Download URL: lfo-0.0.6.tar.gz
- Upload date:
- Size: 29.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c78ac0d61e454a4da0039f7e35f42b954fead186abfa12314d8a43774ac5b94a
|
|
| MD5 |
21a2b623da4a47a664e3d4ff4438b830
|
|
| BLAKE2b-256 |
665dc8b915389c94aa5aa8742622f21239b8e5f39f3a65ebb3b833233585f655
|
File details
Details for the file lfo-0.0.6-cp314-cp314-win_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-win_arm64.whl
- Upload date:
- Size: 22.4 kB
- Tags: CPython 3.14, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58d04331299a5925c6b5e4be84d9fba6730520def56969728986f7a7dacc027d
|
|
| MD5 |
be70bf00825c3310ece1c31547a8299c
|
|
| BLAKE2b-256 |
89c958b6478bb51f7d11599d1eeea2eb5f7ee7ae883f343a16872dca5f9a66c6
|
File details
Details for the file lfo-0.0.6-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 24.1 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbad38fdae4a0c723cc7b9c04ccd0d65d63a3cb101e86133bb9366cf5d8b37ac
|
|
| MD5 |
b568dc8f2b61150f423604e69c4ce4e0
|
|
| BLAKE2b-256 |
00b10d46d2163f1925b998fdaf360c82d26ad46466575a76e3de091b8d32ca09
|
File details
Details for the file lfo-0.0.6-cp314-cp314-win32.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-win32.whl
- Upload date:
- Size: 23.3 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee52a7f327f06d1376f334a87d9a74ff0a8f9200ebcf0eb011cdad6172eba9d3
|
|
| MD5 |
c4b80fb9cf211f76c22825bb69650519
|
|
| BLAKE2b-256 |
f81c7b76232ba7dd475242045221a19cf02e0ee518fd32cf3874300b7d6d4d91
|
File details
Details for the file lfo-0.0.6-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 55.9 kB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b33156d8005ac8a82e10372ccb07106b3d7c20d0f5a6c0467585fa0b581654b9
|
|
| MD5 |
dbb50ac6408d045776a4ea2b2b3f3bd7
|
|
| BLAKE2b-256 |
3662c7153f199efe87abe32301a1fa65b94ced2964e9b48e80cffb625358b2c3
|
File details
Details for the file lfo-0.0.6-cp314-cp314-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 54.6 kB
- Tags: CPython 3.14, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db7c82952fbd59eda351a8ff03bed7ae133f9cf77c8acf224dc2ac2a954fdc2e
|
|
| MD5 |
92ce34398d9a3392f916a6680739c6cf
|
|
| BLAKE2b-256 |
be0ed5afca9e0973784a37108c28b067ddfeb894b33d6097e03dd78df74ce967
|
File details
Details for the file lfo-0.0.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 56.2 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
964f993d2ca6564c117a776dee003fcd57cded513c48fd8359c7006bf6c8553a
|
|
| MD5 |
049bab328835c795ba1f1ca0a66394eb
|
|
| BLAKE2b-256 |
931f6a5b8b56ecc36e0c4753691eded3c7e9454d23021da63c9a879e43a9b026
|
File details
Details for the file lfo-0.0.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 56.4 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30141bf88adaac562348c37d5e7afc0f06dda59b3dd123e01666e4df077ef6e0
|
|
| MD5 |
2b958a438b3932f831ac7d89d60593ae
|
|
| BLAKE2b-256 |
670c696307c01f13031e6ddfef3e007fd7190ec700c7f3358158fca7b853a448
|
File details
Details for the file lfo-0.0.6-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 22.2 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e22154c7e595cb128f3d46b6b918d23157b9a51950b6666bd09047cb3e3c564
|
|
| MD5 |
8b0844559b14f8efd2c6ed4605d83a0c
|
|
| BLAKE2b-256 |
a80dd54125733a269ee12153d3f236350b1caba6262b34621a24154e9564f12b
|
File details
Details for the file lfo-0.0.6-cp314-cp314-macosx_10_13_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp314-cp314-macosx_10_13_x86_64.whl
- Upload date:
- Size: 22.0 kB
- Tags: CPython 3.14, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
556f9891820cff479278e84b07abdc67d4a82b477f7cd160286794c9b7abda9f
|
|
| MD5 |
97a295fd85ae8421e029cd4b09beae79
|
|
| BLAKE2b-256 |
a38d593612b50c3bc2f92527a3285d9ccdc3b38d8eee7f9b99f1e5dd8aaa5306
|
File details
Details for the file lfo-0.0.6-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 22.0 kB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
247045d30887cda3a6d69b61e62787ad3dbd2bb8646fdcae75167a114093a609
|
|
| MD5 |
d5a47c489259b73520bb36cdfc0181d7
|
|
| BLAKE2b-256 |
6c768ff4e3e3d6e8f4b4f50733758f9f424af9f7397c8c71aae223ce9bcf2a78
|
File details
Details for the file lfo-0.0.6-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 23.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25eedc5b8d9b1bd368b6b016f2979d11be117cb02c5e30ace8cf11c99b10d8cb
|
|
| MD5 |
f0cd3daf861c79e32a4b298773cdb413
|
|
| BLAKE2b-256 |
5a267db7fb8770d6c2f8901238ab27f2ca8acb48a36c5d77dc7d13be9e23f0ef
|
File details
Details for the file lfo-0.0.6-cp313-cp313-win32.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-win32.whl
- Upload date:
- Size: 22.8 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfed13d98f46f61b2e237dfdc003042a93adabfee11fcc0895faa0fd3ac00c21
|
|
| MD5 |
e370b4dfb8632999f1c77d35ea2cfc1e
|
|
| BLAKE2b-256 |
edecbeed6d563cb7421dbaa4e39c1ad56cec6f50665b0e4c86a5ac7d4733ceb8
|
File details
Details for the file lfo-0.0.6-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 55.9 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0454b9d2542fd788691c65e33819495bf7413c3ea6bfecc0e482ae49f637814e
|
|
| MD5 |
b53d52b8974a59757b4dc105505081ca
|
|
| BLAKE2b-256 |
53893b360f42921abf686669666bdcfd1a755d44ca07ed89afae03bbd706d58e
|
File details
Details for the file lfo-0.0.6-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 54.5 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61c6fb1b56410013ea818188a27580ff329977911142fa27d2866041a61239c8
|
|
| MD5 |
6857d9210734ca77cc33757b4c97a25e
|
|
| BLAKE2b-256 |
35794f3d477dda93a935aea7c4e6ee28536100a5e4da8acb8a201fbbdf0bc2e0
|
File details
Details for the file lfo-0.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 56.2 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c1ee358cc45bc035cc21f637c56f9b593b071573abf97d082d588591c2e7b9c
|
|
| MD5 |
a4f6fcb75bade2a712d69a54825883eb
|
|
| BLAKE2b-256 |
d7370ec8d2eff748dddba412988eb87861f0f153a18f6593bfbeb436f9527150
|
File details
Details for the file lfo-0.0.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 56.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a787dd44c24dada9d9afb9a756d30904f6e2999c2a8bf924e38624034b11032c
|
|
| MD5 |
44578ed0d750027e15214fb7aab174a2
|
|
| BLAKE2b-256 |
41a510ccba3947cc5b8bd8a95288283f8abbc8aa1e3fc2c9a1fa240246ab2099
|
File details
Details for the file lfo-0.0.6-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 22.2 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fa10448898bd9bdc834c63c6d4926dca954ff90421ab8a8f6dd18458ae0389a
|
|
| MD5 |
57e28d12aafd62fb872cb1f14bd55ed0
|
|
| BLAKE2b-256 |
fe686bc4ac6071d2108724cb4e61782c9a5a2f32692ab2672c3cb74d95c6057f
|
File details
Details for the file lfo-0.0.6-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 22.0 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d45c551d1f9a1165d47be9ef1e8267139e9ebc3f806f45d56b5df51e4b794d0b
|
|
| MD5 |
b598df6b68bdaca7775cdd1d16d9ef18
|
|
| BLAKE2b-256 |
30dcb4468e27058bbfbde8187ccbc930390169352fc92029259644b9778d0653
|
File details
Details for the file lfo-0.0.6-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 22.0 kB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4fa2479e3dcb9dccd54ba835f7a5ac7d7deb03b2cb49131fd32faacd7d008ee
|
|
| MD5 |
f5c5f644a06315e4f800d814607d97f5
|
|
| BLAKE2b-256 |
ae732dc94e7575b703592cbcc9028b44c3f8ebb91aa1a10137ce024ed957afb7
|
File details
Details for the file lfo-0.0.6-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 23.6 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eec699db9e5c1514f1dd807aa8da10293762353839e89b1f115da1f6afe463e8
|
|
| MD5 |
153a8667f53243d9a073108238f638b2
|
|
| BLAKE2b-256 |
9f3120c55379b7c44c59447996272b5d3b19d0ce60887b4a483ba0271b87ff15
|
File details
Details for the file lfo-0.0.6-cp312-cp312-win32.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-win32.whl
- Upload date:
- Size: 22.8 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
105abdc68681d426536d3b4f3cc6b06a9c44e2b0a8719ceb1991abdea758d677
|
|
| MD5 |
308399dfe5638a3f78e384f4c9ebdb5a
|
|
| BLAKE2b-256 |
65acaeb6566ff1f5b8ed0d700d681f6c0a8e0403db9d0c34c33f8946736d2263
|
File details
Details for the file lfo-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 55.8 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b35f3130d696c05c7cc0b1a8afc71b7a03ba37168503a251fba204625195cf14
|
|
| MD5 |
6cc1e371272c9f32398c407c28f64080
|
|
| BLAKE2b-256 |
02ec204af1cc66d5e586ecb10d4c1ce5ce20b7689bd7eb0f1eab302ac3d3fa05
|
File details
Details for the file lfo-0.0.6-cp312-cp312-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 54.5 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdc717bc20b157628c76a4edf2fb1e7ef3e49fab68a7b81859e15fbc336d91fc
|
|
| MD5 |
2faa8cb3c2853093a22440dec120521d
|
|
| BLAKE2b-256 |
2639d4aa9a2796163926d1ae2d84713165ec9e19cf62b02b6b1783720c10fe3b
|
File details
Details for the file lfo-0.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 56.2 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0847895b9bbfcdddc0a94e236286ec96155dd9006172e69a6b197be23c6bc296
|
|
| MD5 |
b3f4d495dff9c6d59af41fb152c583e8
|
|
| BLAKE2b-256 |
814a246d13e77ca63be04d74f039ba077637f56fa033cfeed4fb3d1562da2d8a
|
File details
Details for the file lfo-0.0.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 56.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94c93bca542f8c8e5b55aeefdf8467ef653e42cffecf75548d8bd86318d60244
|
|
| MD5 |
2d76188f163d9389f7aa38a92b8086d0
|
|
| BLAKE2b-256 |
ef1c59987b4c0d943ae017df528609e0d7f96be8c20345ac9af60767c3a315fd
|
File details
Details for the file lfo-0.0.6-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 22.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cee6ac59765e826f54ed70ba5d85fbed82c58092cb89a005246d40c72ebb085f
|
|
| MD5 |
653563db2974a3b908e0efbd2501c3bf
|
|
| BLAKE2b-256 |
f541b2be0bfe8a1c0fc99956ed9fa02125380cc4db908b274f261c164888b01e
|
File details
Details for the file lfo-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 22.0 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6f4649a707850ff35116951e6d82712ae920550437d00f8b027ed0f9df2c662
|
|
| MD5 |
65f44b00a4f629035fda69ea2cd8a684
|
|
| BLAKE2b-256 |
23f3bbae4936cdbccf591a790bc8d0b3fa76157fe3c51dbb835641f230fee1f2
|
File details
Details for the file lfo-0.0.6-cp311-cp311-win_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-win_arm64.whl
- Upload date:
- Size: 22.0 kB
- Tags: CPython 3.11, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
558f2a880b0d0645d59013f4701707c4229449db463db719325c3585107f0c2e
|
|
| MD5 |
54404f16b4984b4e581e41221e44cb64
|
|
| BLAKE2b-256 |
771c488984a7dfee0d87e9abe73d25f4c4c427043dc97dd5550b85c589f1f97a
|
File details
Details for the file lfo-0.0.6-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 23.6 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8440313db42a1c56e25f26a66ae44d3122b3bec68c50f54060733e87d2e5010
|
|
| MD5 |
2a9e1a2b9f0ac8f7db17ca6b256e9a8e
|
|
| BLAKE2b-256 |
33d7d3db1a789abce874ae2d7a1975a31550cf8d1d29b4298007b053e5fa4342
|
File details
Details for the file lfo-0.0.6-cp311-cp311-win32.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-win32.whl
- Upload date:
- Size: 22.8 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12f562b01b4c56214041a5e17a1de44267c5aaaad39593c267b1dfd9aa1c170a
|
|
| MD5 |
db2be2d7e33a14123ad5454c2904db38
|
|
| BLAKE2b-256 |
99a7a80589c2188d57cfa7523bfcf2f1d9f8f1bf243abcb3932c4a0a9abaccf5
|
File details
Details for the file lfo-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 55.7 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d470c8c07ff29edc50b5682ce3898f6a8567e205e222c9152aa9f37da75eb4ad
|
|
| MD5 |
8c082280c5eeb0bcbd1f549d54833822
|
|
| BLAKE2b-256 |
92e15462f414905c4886bd354e2fc248b422512ca7c868fa6a4a0f2db21b633d
|
File details
Details for the file lfo-0.0.6-cp311-cp311-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 54.9 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab084bb191064b9b99844b06454a27b61643f83c593bf91c800c5cabb8d6f31b
|
|
| MD5 |
54341a653b7f467affcc4c0686188395
|
|
| BLAKE2b-256 |
4c10f97e28227483c16e10a0df74f118349205a447a3e2c34ed7a82e3b2005ae
|
File details
Details for the file lfo-0.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 56.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88a65f727b640416f8008a11f5095d404a1c79f3ac6f3e88487d7d8b9bebb53f
|
|
| MD5 |
a17089599e03145e024f90f7eecab2ea
|
|
| BLAKE2b-256 |
84524a8126b639892a02ee4309492c0d177be07bd5bf64f95175a377c20175e0
|
File details
Details for the file lfo-0.0.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 56.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c78ccd421f9316e9664695bfe634dac9d066ba47d916d67be843e3514979927f
|
|
| MD5 |
16d3cc564174cb99e0b941e6592cba31
|
|
| BLAKE2b-256 |
14360a1043427fc35e96e895a5e5a3f67e701913ca96efabac03164bde359d95
|
File details
Details for the file lfo-0.0.6-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 22.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ef783bbafeb5d1cda1c72ac03efe5ec2df175ef1a9c87a0865b87c20581d9c6
|
|
| MD5 |
4e9567c09aeef054f7b6141c7e66e304
|
|
| BLAKE2b-256 |
99d95280f78c3266afd5ae81c3cc28014774d34007f998edb63c25821050f110
|
File details
Details for the file lfo-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 21.9 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1a4b1fb02f12e89f30d179fcb181b51853079dcd5f444b57b8178714a61601c
|
|
| MD5 |
d9123ad37cb9651b0b6086feb58481f9
|
|
| BLAKE2b-256 |
2d913bec9c1ecbe9caeb67453f5dfd88f9871db07c93755e432c061d552594b1
|
File details
Details for the file lfo-0.0.6-cp310-cp310-win_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-win_arm64.whl
- Upload date:
- Size: 22.0 kB
- Tags: CPython 3.10, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ebbd5aeae8d015ac0405636236942df2f9456c6c9146b2e985875d8439a7645
|
|
| MD5 |
2ac5a18b819290a910a9411ca9cdec45
|
|
| BLAKE2b-256 |
d0f26737ef90c448fa8c21332033c072126dafa9c3c1997b8468eb52f11bbece
|
File details
Details for the file lfo-0.0.6-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 23.6 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2542ab27e72a9f21e187ad7169edc8edabea5622d80d8d321df0f3d57f925797
|
|
| MD5 |
b98276329f04104979fbed8edae06cb3
|
|
| BLAKE2b-256 |
23714876c1c063ea6a2d0f2918f75e0c6e9099bd45e0846d74354a866d92516d
|
File details
Details for the file lfo-0.0.6-cp310-cp310-win32.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-win32.whl
- Upload date:
- Size: 22.8 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8861aa86dda85d096628f785eff05e23e7d5c9acf0ef509b34e0901516129e6
|
|
| MD5 |
a6672553aaa8301350bf34d7cd1397b0
|
|
| BLAKE2b-256 |
b6258d3dad09d287c09e0866c9e18831256f164dbd8f334e9ad8c7601d4429ea
|
File details
Details for the file lfo-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 55.7 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e20c1384984cc94be6cd35b22836087ba030c5760e8b7e2fe19aff45183452f
|
|
| MD5 |
08c85122873c5576b16ee70e0b4cbe42
|
|
| BLAKE2b-256 |
e0d6398a20d74d7eaf88e1923c2d3ed81bdc22959c450a02811b6856bc7a4344
|
File details
Details for the file lfo-0.0.6-cp310-cp310-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 54.9 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1926fd8df27039b1601679283259d1345c9ee9dec86ef8267873dbad149894dd
|
|
| MD5 |
c7607194c875ae9e10ee068ec9de598c
|
|
| BLAKE2b-256 |
a67b3f6519fdcdf3eacd8e1c2ebf9b2140531ae8a5238b486b7b5ce381464340
|
File details
Details for the file lfo-0.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 56.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4407ac5d8cfff8fffe5a05d93282dc5dbfc626c0c785f6e7aa72aae3270991c6
|
|
| MD5 |
a60d3bbe73cb5e4df5307df9534632bb
|
|
| BLAKE2b-256 |
634d7403a8b5d2dcae931bec1acf31cb5b5b58bf420eff5e1a61e4bb46eedd12
|
File details
Details for the file lfo-0.0.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 56.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db02c0f0380a03457f33c1326abe5ec4a8ad47b689f3b138a9a2b9547eb1f7b9
|
|
| MD5 |
bc903a32a9c2093b9d52de4f92b0a654
|
|
| BLAKE2b-256 |
ef6bae55b04852a8943e8b3f9f4b233216edc1543c6e9e5ed3d69f8f8e5bb689
|
File details
Details for the file lfo-0.0.6-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 22.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f483dd1a9e4fce0fc07ba519994b308fad0696f2dbad5e208f53d82af4bb4562
|
|
| MD5 |
481a2520deae818c8fe12ee65772c69f
|
|
| BLAKE2b-256 |
c4d70ec4b0153051a1969a86988d32348d48f4b1d98ae092e2b67b532e5017ce
|
File details
Details for the file lfo-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: lfo-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 21.9 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb83e146aefc7c3068d427d579e884b8a6958a5ea6d52fd2a8cdaa5ae0748601
|
|
| MD5 |
60c2d1ecd7f3769032ff0bf4668fdd8e
|
|
| BLAKE2b-256 |
6ae9cddd5bab5ff55bc3e40f431898ca513f6c33310d635c2ad16f389b470421
|