Skip to main content

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.0
  • lfo.frequency: float = 1.0 - Internally an alias for 1 / lfo.period
  • lfo.cycles: int = 0
  • lfo.default_wave: lfo.Wave = lfo.Wave.sine

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 and Defaults

  • 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

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.

Release files for lfo 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lfo 0.0.6
File Size Uploaded
lfo-0.0.6.tar.gz 29.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for lfo 0.0.6
File
lfo-0.0.6-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
lfo-0.0.6-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
lfo-0.0.6-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
lfo-0.0.6-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
lfo-0.0.6-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
lfo-0.0.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
lfo-0.0.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
lfo-0.0.6-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
lfo-0.0.6-cp314-cp314-macosx_10_13_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.13+ x86-64 Details
lfo-0.0.6-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
lfo-0.0.6-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
lfo-0.0.6-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
lfo-0.0.6-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
lfo-0.0.6-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
lfo-0.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
lfo-0.0.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
lfo-0.0.6-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
lfo-0.0.6-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
lfo-0.0.6-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
lfo-0.0.6-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
lfo-0.0.6-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
lfo-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
lfo-0.0.6-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
lfo-0.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
lfo-0.0.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
lfo-0.0.6-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
lfo-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
lfo-0.0.6-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
lfo-0.0.6-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
lfo-0.0.6-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
lfo-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
lfo-0.0.6-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
lfo-0.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
lfo-0.0.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
lfo-0.0.6-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
lfo-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
lfo-0.0.6-cp310-cp310-win_arm64.whl CPython 3.10 CPython 3.10 Windows ARM64 Details
lfo-0.0.6-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
lfo-0.0.6-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
lfo-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
lfo-0.0.6-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
lfo-0.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
lfo-0.0.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
lfo-0.0.6-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
lfo-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 1.7 MB

Release files / lfo-0.0.6.tar.gz

Download URL lfo-0.0.6.tar.gz
Size 29.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c78ac0d61e454a4da0039f7e35f42b954fead186abfa12314d8a43774ac5b94a
BLAKE2b-256 checksum
How to use checksums
665dc8b915389c94aa5aa8742622f21239b8e5f39f3a65ebb3b833233585f655
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-win_arm64.whl

Download URL lfo-0.0.6-cp314-cp314-win_arm64.whl
Size 22.4 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
58d04331299a5925c6b5e4be84d9fba6730520def56969728986f7a7dacc027d
BLAKE2b-256 checksum
How to use checksums
89c958b6478bb51f7d11599d1eeea2eb5f7ee7ae883f343a16872dca5f9a66c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-win_amd64.whl

Download URL lfo-0.0.6-cp314-cp314-win_amd64.whl
Size 24.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
cbad38fdae4a0c723cc7b9c04ccd0d65d63a3cb101e86133bb9366cf5d8b37ac
BLAKE2b-256 checksum
How to use checksums
00b10d46d2163f1925b998fdaf360c82d26ad46466575a76e3de091b8d32ca09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-win32.whl

Download URL lfo-0.0.6-cp314-cp314-win32.whl
Size 23.3 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
ee52a7f327f06d1376f334a87d9a74ff0a8f9200ebcf0eb011cdad6172eba9d3
BLAKE2b-256 checksum
How to use checksums
f81c7b76232ba7dd475242045221a19cf02e0ee518fd32cf3874300b7d6d4d91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL lfo-0.0.6-cp314-cp314-musllinux_1_2_x86_64.whl
Size 55.9 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b33156d8005ac8a82e10372ccb07106b3d7c20d0f5a6c0467585fa0b581654b9
BLAKE2b-256 checksum
How to use checksums
3662c7153f199efe87abe32301a1fa65b94ced2964e9b48e80cffb625358b2c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL lfo-0.0.6-cp314-cp314-musllinux_1_2_aarch64.whl
Size 54.6 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
db7c82952fbd59eda351a8ff03bed7ae133f9cf77c8acf224dc2ac2a954fdc2e
BLAKE2b-256 checksum
How to use checksums
be0ed5afca9e0973784a37108c28b067ddfeb894b33d6097e03dd78df74ce967
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL lfo-0.0.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 56.2 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
964f993d2ca6564c117a776dee003fcd57cded513c48fd8359c7006bf6c8553a
BLAKE2b-256 checksum
How to use checksums
931f6a5b8b56ecc36e0c4753691eded3c7e9454d23021da63c9a879e43a9b026
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL lfo-0.0.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 56.4 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
30141bf88adaac562348c37d5e7afc0f06dda59b3dd123e01666e4df077ef6e0
BLAKE2b-256 checksum
How to use checksums
670c696307c01f13031e6ddfef3e007fd7190ec700c7f3358158fca7b853a448
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-macosx_11_0_arm64.whl

Download URL lfo-0.0.6-cp314-cp314-macosx_11_0_arm64.whl
Size 22.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5e22154c7e595cb128f3d46b6b918d23157b9a51950b6666bd09047cb3e3c564
BLAKE2b-256 checksum
How to use checksums
a80dd54125733a269ee12153d3f236350b1caba6262b34621a24154e9564f12b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp314-cp314-macosx_10_13_x86_64.whl

Download URL lfo-0.0.6-cp314-cp314-macosx_10_13_x86_64.whl
Size 22.0 kB
Tags CPython 3.14 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
556f9891820cff479278e84b07abdc67d4a82b477f7cd160286794c9b7abda9f
BLAKE2b-256 checksum
How to use checksums
a38d593612b50c3bc2f92527a3285d9ccdc3b38d8eee7f9b99f1e5dd8aaa5306
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-win_arm64.whl

Download URL lfo-0.0.6-cp313-cp313-win_arm64.whl
Size 22.0 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
247045d30887cda3a6d69b61e62787ad3dbd2bb8646fdcae75167a114093a609
BLAKE2b-256 checksum
How to use checksums
6c768ff4e3e3d6e8f4b4f50733758f9f424af9f7397c8c71aae223ce9bcf2a78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-win_amd64.whl

Download URL lfo-0.0.6-cp313-cp313-win_amd64.whl
Size 23.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
25eedc5b8d9b1bd368b6b016f2979d11be117cb02c5e30ace8cf11c99b10d8cb
BLAKE2b-256 checksum
How to use checksums
5a267db7fb8770d6c2f8901238ab27f2ca8acb48a36c5d77dc7d13be9e23f0ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-win32.whl

Download URL lfo-0.0.6-cp313-cp313-win32.whl
Size 22.8 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
cfed13d98f46f61b2e237dfdc003042a93adabfee11fcc0895faa0fd3ac00c21
BLAKE2b-256 checksum
How to use checksums
edecbeed6d563cb7421dbaa4e39c1ad56cec6f50665b0e4c86a5ac7d4733ceb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL lfo-0.0.6-cp313-cp313-musllinux_1_2_x86_64.whl
Size 55.9 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0454b9d2542fd788691c65e33819495bf7413c3ea6bfecc0e482ae49f637814e
BLAKE2b-256 checksum
How to use checksums
53893b360f42921abf686669666bdcfd1a755d44ca07ed89afae03bbd706d58e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL lfo-0.0.6-cp313-cp313-musllinux_1_2_aarch64.whl
Size 54.5 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
61c6fb1b56410013ea818188a27580ff329977911142fa27d2866041a61239c8
BLAKE2b-256 checksum
How to use checksums
35794f3d477dda93a935aea7c4e6ee28536100a5e4da8acb8a201fbbdf0bc2e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL lfo-0.0.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 56.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2c1ee358cc45bc035cc21f637c56f9b593b071573abf97d082d588591c2e7b9c
BLAKE2b-256 checksum
How to use checksums
d7370ec8d2eff748dddba412988eb87861f0f153a18f6593bfbeb436f9527150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL lfo-0.0.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 56.3 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a787dd44c24dada9d9afb9a756d30904f6e2999c2a8bf924e38624034b11032c
BLAKE2b-256 checksum
How to use checksums
41a510ccba3947cc5b8bd8a95288283f8abbc8aa1e3fc2c9a1fa240246ab2099
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-macosx_11_0_arm64.whl

Download URL lfo-0.0.6-cp313-cp313-macosx_11_0_arm64.whl
Size 22.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6fa10448898bd9bdc834c63c6d4926dca954ff90421ab8a8f6dd18458ae0389a
BLAKE2b-256 checksum
How to use checksums
fe686bc4ac6071d2108724cb4e61782c9a5a2f32692ab2672c3cb74d95c6057f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp313-cp313-macosx_10_13_x86_64.whl

Download URL lfo-0.0.6-cp313-cp313-macosx_10_13_x86_64.whl
Size 22.0 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
d45c551d1f9a1165d47be9ef1e8267139e9ebc3f806f45d56b5df51e4b794d0b
BLAKE2b-256 checksum
How to use checksums
30dcb4468e27058bbfbde8187ccbc930390169352fc92029259644b9778d0653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-win_arm64.whl

Download URL lfo-0.0.6-cp312-cp312-win_arm64.whl
Size 22.0 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
b4fa2479e3dcb9dccd54ba835f7a5ac7d7deb03b2cb49131fd32faacd7d008ee
BLAKE2b-256 checksum
How to use checksums
ae732dc94e7575b703592cbcc9028b44c3f8ebb91aa1a10137ce024ed957afb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-win_amd64.whl

Download URL lfo-0.0.6-cp312-cp312-win_amd64.whl
Size 23.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
eec699db9e5c1514f1dd807aa8da10293762353839e89b1f115da1f6afe463e8
BLAKE2b-256 checksum
How to use checksums
9f3120c55379b7c44c59447996272b5d3b19d0ce60887b4a483ba0271b87ff15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-win32.whl

Download URL lfo-0.0.6-cp312-cp312-win32.whl
Size 22.8 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
105abdc68681d426536d3b4f3cc6b06a9c44e2b0a8719ceb1991abdea758d677
BLAKE2b-256 checksum
How to use checksums
65acaeb6566ff1f5b8ed0d700d681f6c0a8e0403db9d0c34c33f8946736d2263
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL lfo-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl
Size 55.8 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b35f3130d696c05c7cc0b1a8afc71b7a03ba37168503a251fba204625195cf14
BLAKE2b-256 checksum
How to use checksums
02ec204af1cc66d5e586ecb10d4c1ce5ce20b7689bd7eb0f1eab302ac3d3fa05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL lfo-0.0.6-cp312-cp312-musllinux_1_2_aarch64.whl
Size 54.5 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
bdc717bc20b157628c76a4edf2fb1e7ef3e49fab68a7b81859e15fbc336d91fc
BLAKE2b-256 checksum
How to use checksums
2639d4aa9a2796163926d1ae2d84713165ec9e19cf62b02b6b1783720c10fe3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL lfo-0.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 56.2 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0847895b9bbfcdddc0a94e236286ec96155dd9006172e69a6b197be23c6bc296
BLAKE2b-256 checksum
How to use checksums
814a246d13e77ca63be04d74f039ba077637f56fa033cfeed4fb3d1562da2d8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL lfo-0.0.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 56.3 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
94c93bca542f8c8e5b55aeefdf8467ef653e42cffecf75548d8bd86318d60244
BLAKE2b-256 checksum
How to use checksums
ef1c59987b4c0d943ae017df528609e0d7f96be8c20345ac9af60767c3a315fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-macosx_11_0_arm64.whl

Download URL lfo-0.0.6-cp312-cp312-macosx_11_0_arm64.whl
Size 22.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cee6ac59765e826f54ed70ba5d85fbed82c58092cb89a005246d40c72ebb085f
BLAKE2b-256 checksum
How to use checksums
f541b2be0bfe8a1c0fc99956ed9fa02125380cc4db908b274f261c164888b01e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl

Download URL lfo-0.0.6-cp312-cp312-macosx_10_13_x86_64.whl
Size 22.0 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
b6f4649a707850ff35116951e6d82712ae920550437d00f8b027ed0f9df2c662
BLAKE2b-256 checksum
How to use checksums
23f3bbae4936cdbccf591a790bc8d0b3fa76157fe3c51dbb835641f230fee1f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-win_arm64.whl

Download URL lfo-0.0.6-cp311-cp311-win_arm64.whl
Size 22.0 kB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
558f2a880b0d0645d59013f4701707c4229449db463db719325c3585107f0c2e
BLAKE2b-256 checksum
How to use checksums
771c488984a7dfee0d87e9abe73d25f4c4c427043dc97dd5550b85c589f1f97a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-win_amd64.whl

Download URL lfo-0.0.6-cp311-cp311-win_amd64.whl
Size 23.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e8440313db42a1c56e25f26a66ae44d3122b3bec68c50f54060733e87d2e5010
BLAKE2b-256 checksum
How to use checksums
33d7d3db1a789abce874ae2d7a1975a31550cf8d1d29b4298007b053e5fa4342
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-win32.whl

Download URL lfo-0.0.6-cp311-cp311-win32.whl
Size 22.8 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
12f562b01b4c56214041a5e17a1de44267c5aaaad39593c267b1dfd9aa1c170a
BLAKE2b-256 checksum
How to use checksums
99a7a80589c2188d57cfa7523bfcf2f1d9f8f1bf243abcb3932c4a0a9abaccf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL lfo-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl
Size 55.7 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d470c8c07ff29edc50b5682ce3898f6a8567e205e222c9152aa9f37da75eb4ad
BLAKE2b-256 checksum
How to use checksums
92e15462f414905c4886bd354e2fc248b422512ca7c868fa6a4a0f2db21b633d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL lfo-0.0.6-cp311-cp311-musllinux_1_2_aarch64.whl
Size 54.9 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ab084bb191064b9b99844b06454a27b61643f83c593bf91c800c5cabb8d6f31b
BLAKE2b-256 checksum
How to use checksums
4c10f97e28227483c16e10a0df74f118349205a447a3e2c34ed7a82e3b2005ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL lfo-0.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 56.1 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
88a65f727b640416f8008a11f5095d404a1c79f3ac6f3e88487d7d8b9bebb53f
BLAKE2b-256 checksum
How to use checksums
84524a8126b639892a02ee4309492c0d177be07bd5bf64f95175a377c20175e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL lfo-0.0.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 56.6 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c78ccd421f9316e9664695bfe634dac9d066ba47d916d67be843e3514979927f
BLAKE2b-256 checksum
How to use checksums
14360a1043427fc35e96e895a5e5a3f67e701913ca96efabac03164bde359d95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-macosx_11_0_arm64.whl

Download URL lfo-0.0.6-cp311-cp311-macosx_11_0_arm64.whl
Size 22.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6ef783bbafeb5d1cda1c72ac03efe5ec2df175ef1a9c87a0865b87c20581d9c6
BLAKE2b-256 checksum
How to use checksums
99d95280f78c3266afd5ae81c3cc28014774d34007f998edb63c25821050f110
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl

Download URL lfo-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl
Size 21.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f1a4b1fb02f12e89f30d179fcb181b51853079dcd5f444b57b8178714a61601c
BLAKE2b-256 checksum
How to use checksums
2d913bec9c1ecbe9caeb67453f5dfd88f9871db07c93755e432c061d552594b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-win_arm64.whl

Download URL lfo-0.0.6-cp310-cp310-win_arm64.whl
Size 22.0 kB
Tags CPython 3.10 Windows ARM64
SHA-256 checksum
How to use checksums
7ebbd5aeae8d015ac0405636236942df2f9456c6c9146b2e985875d8439a7645
BLAKE2b-256 checksum
How to use checksums
d0f26737ef90c448fa8c21332033c072126dafa9c3c1997b8468eb52f11bbece
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-win_amd64.whl

Download URL lfo-0.0.6-cp310-cp310-win_amd64.whl
Size 23.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2542ab27e72a9f21e187ad7169edc8edabea5622d80d8d321df0f3d57f925797
BLAKE2b-256 checksum
How to use checksums
23714876c1c063ea6a2d0f2918f75e0c6e9099bd45e0846d74354a866d92516d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-win32.whl

Download URL lfo-0.0.6-cp310-cp310-win32.whl
Size 22.8 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
f8861aa86dda85d096628f785eff05e23e7d5c9acf0ef509b34e0901516129e6
BLAKE2b-256 checksum
How to use checksums
b6258d3dad09d287c09e0866c9e18831256f164dbd8f334e9ad8c7601d4429ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL lfo-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl
Size 55.7 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8e20c1384984cc94be6cd35b22836087ba030c5760e8b7e2fe19aff45183452f
BLAKE2b-256 checksum
How to use checksums
e0d6398a20d74d7eaf88e1923c2d3ed81bdc22959c450a02811b6856bc7a4344
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL lfo-0.0.6-cp310-cp310-musllinux_1_2_aarch64.whl
Size 54.9 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
1926fd8df27039b1601679283259d1345c9ee9dec86ef8267873dbad149894dd
BLAKE2b-256 checksum
How to use checksums
a67b3f6519fdcdf3eacd8e1c2ebf9b2140531ae8a5238b486b7b5ce381464340
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL lfo-0.0.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 56.1 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4407ac5d8cfff8fffe5a05d93282dc5dbfc626c0c785f6e7aa72aae3270991c6
BLAKE2b-256 checksum
How to use checksums
634d7403a8b5d2dcae931bec1acf31cb5b5b58bf420eff5e1a61e4bb46eedd12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL lfo-0.0.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 56.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
db02c0f0380a03457f33c1326abe5ec4a8ad47b689f3b138a9a2b9547eb1f7b9
BLAKE2b-256 checksum
How to use checksums
ef6bae55b04852a8943e8b3f9f4b233216edc1543c6e9e5ed3d69f8f8e5bb689
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-macosx_11_0_arm64.whl

Download URL lfo-0.0.6-cp310-cp310-macosx_11_0_arm64.whl
Size 22.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f483dd1a9e4fce0fc07ba519994b308fad0696f2dbad5e208f53d82af4bb4562
BLAKE2b-256 checksum
How to use checksums
c4d70ec4b0153051a1969a86988d32348d48f4b1d98ae092e2b67b532e5017ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / lfo-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl

Download URL lfo-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl
Size 21.9 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
bb83e146aefc7c3068d427d579e884b8a6958a5ea6d52fd2a8cdaa5ae0748601
BLAKE2b-256 checksum
How to use checksums
6ae9cddd5bab5ff55bc3e40f431898ca513f6c33310d635c2ad16f389b470421
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.0.6 This release

46 release files

0.0.5

46 release files

0.0.4

46 release files

0.0.3

46 release files

0.0.2

33 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page