Metadata-Version: 2.4
Name: newwave
Version: 0.1.1
Summary: Drop-in replacement for Pythons wave.py
Keywords: wave,pcm,audio
Author: Michiel W. Beijen, Antoine Pitrou, Benjamin Peterson, Brett Cannon, Brian Curtin, Collin Winter, Fred Drake, Georg Brandl, Guido van Rossum, Jeremy Hylton, Jesus Cea, Mark Dickinson, Martin Panter, Michael Haas, Neal Norwitz, R David Murray, Serhiy Storchaka, Skip Montanaro, Steve Dower, Thomas Wouters, Tim Peters, Victor Stinner, Walter Dörwald, Yusuke Kadowaki
Author-email: Michiel W. Beijen <mb@x14.nl>, Antoine Pitrou <<solipsis@pitrou.net>>, Benjamin Peterson <<benjamin@python.org>>, Brett Cannon <<brett@python.org>>, Brian Curtin <<brian@python.org>>, Collin Winter <<collinw@gmail.com>>, Fred Drake <<fdrake@acm.org>>, Georg Brandl <<georg@python.org>>, Guido van Rossum <<guido@python.org>>, Jeremy Hylton <<jeremy@alum.mit.edu>>, Jesus Cea <<jcea@jcea.es>>, Mark Dickinson <<dickinsm@gmail.com>>, Martin Panter <<vadmium+py@gmail.com>>, Michael Haas <<micha2718l@gmail.com>>, Neal Norwitz <<nnorwitz@gmail.com>>, R David Murray <<rdmurray@bitdance.com>>, Serhiy Storchaka <<storchaka@gmail.com>>, Skip Montanaro <<skip@pobox.com>>, Steve Dower <<steve.dower@python.org>>, Thomas Wouters <<thomas@python.org>>, Tim Peters <<tim.peters@gmail.com>>, Victor Stinner <<vstinner@python.org>>, Walter Dörwald <<walter@livinglogic.de>>, Yusuke Kadowaki <<60080334+yusuke-kadowaki@users.noreply.github.com>>
License-Expression: PSF-2.0
License-File: LICENSE.txt
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Multimedia :: Sound/Audio
Requires-Python: >=3.10
Project-URL: Homepage, https://codeberg.org/michielb/newwave
Project-URL: Changelog, https://codeberg.org/michielb/newwave/src/branch/main/CHANGES.md
Project-URL: Code, https://codeberg.org/michielb/newwave
Project-URL: Issue tracker, https://codeberg.org/michielb/newwave/issues
Description-Content-Type: text/markdown

# newwave - drop-in replacement for wave.py

`wave.py` is part of python stdlib and is used for handling WAVE audio files.

I started `newwave` because I wanted to fix an issue where it can _read_
wave files which are not 'PCM Audio' such as having more than 2 channels
or more than 24 bits, but not _write_ them with correct headers.

Also, it provides newer wave features for use with older python versions:

- Add support for bytes and path-like paths in wave.open() (python 3.15)
- fix wave.Wave_write emitting unraisable when open raises (python 3.15)
- remove deprecated setmark, getmark, getmarkers interfaces (python 3.15)
- Support for reading WAVE_FORMAT_EXTENSIBLE (python 3.12)

You can install newwave on python 3.10 or later.

This module is a drop-in replacement for wave.py - any code that works
with `wave` can be upgraded to use `newwave` by simply modifying your import.

So instead of:

```
import wave
f = wave.open(file, 'w')
```

it is now:

```
import newwave as wave
f = wave.open(file, 'w')
...
```

What is more, I will try to upstream any modification in newwave
to cpython so in future python versions you can enjoy the same improvements
there.

TL;DR: `newwave` will be a great way to have these enhancements *now*,
on your existing `python`, just by installing it from pypi using `pip` or `uv`.
