Skip to content

arquolo/glow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glow Library

Set of functional tools for easier prototyping

Overview

...

Installation

For basic installation use:

pip install glow
Specific versions with additional requirements
pip install glow[io]  # For I/O extras
pip install glow[all]  # For all
Glow is compatible with: Python 3.10+. Tested on ArchLinux, Ubuntu 20.04/22.04, Windows 10/11.

Structure

  • glow.* - Core parts, available out the box
  • glow.io.* - I/O wrappers to access data in convenient formats

Core features

  • glow.mapped - convenient tool to parallelize computations
  • glow.memoize - use if you want to reduce number of calls for any function

IO features

glow.io.Sound - playable sound wrapper

from datetime import timedelta

import numpy as np
from glow.io import Sound

array: np.ndarray
sound = Sound(array, rate=44100)  # Wrap np.ndarray
sound = Sound.load('test.flac')  # Load sound into memory from file

# Get properties
rate: int = sound.rate
duration: timedelta = sound.duration
dtype: np.dtype = sound.dtype

 # Plays sound through default device, supports Ctrl-C for interruption
sound.play()