Overview
Nava is a Python library that allows users to play sound in Python without any dependencies or platform restrictions. It is a cross-platform solution that runs on any operating system, including Windows, macOS, and Linux. Its lightweight and easy-to-use design makes Nava an ideal choice for developers looking to add sound functionality to their Python programs.
PyPI Counter |
|
Github Stars |
|
Branch | main | dev |
Linux CI | | |
Windows CI | | |
macOS CI | | |
Installation
PyPI
Source code
Conda
Usage
Basic
from nava import play
play("alarm.wav")
Async mode
⚠️ The async_mode
parameter has a default value of False
import time
from nava import play, stop
sound_id = play("alarm.wav", async_mode=True)
time.sleep(4)
stop(sound_id)
Loop mode
⚠️ The loop
parameter has a default value of False
⚠️ You should always set async_mode
flag when you are using loop
from nava import play, stop
sound_id = play("alarm.wav", async_mode=True, loop=True)
time.sleep(100)
stop(sound_id)
Error
from nava import play, NavaBaseError
try:
play("alarm.wav")
except NavaBaseError as e:
print(str(e))
Engine
⚠️ The engine
parameter has a default value of AUTO
from nava import play, Engine
sound_id = play("alarm.wav", engine=Engine.AFPLAY)
CLI
$ nava [--file FILE_PATH] [--loop] FILE_PATH
Engines list
List of different platforms and the corresponding engines that are used for sound playing.
Issues & bug reports
Just fill an issue and describe it. We'll check it ASAP! or send an email to nava@openscilab.com.
- Please complete the issue template
You can also join our discord server
Show your support
Star this repo
Give a ⭐️ if this project helped you!
Donate to our project
If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
0.7 - 2024-10-23
Changed
Python 3.13
added to testsengine
parameter added to play
functionengine
parameter added to NavaThread
classREADME.md
modified- Test system modified
NavaThread
exception bug fixed__play_win
function renamed to __play_winsound
__play_mac
function renamed to __play_afplay
__play_linux
function renamed to __play_alsa
0.6 - 2024-06-05
Added
play_cli
functionSECURITY.md
Changed
main
function updated- OSs local checklist added to pull request template
- Test system modified
README.md
modified
0.5 - 2024-04-03
Changed
loop
parameter added to play
functionNavaThread
class modifiedREADME.md
modified
0.4 - 2024-02-19
Added
feature_request.yml
templateconfig.yml
for issue template
Changed
- Bug report template modified
NavaThread.stop
method bug fixed- Test system modified
README.md
modified
0.3 - 2024-01-31
Added
NavaThread
classstop
functionstop_all
function
Changed
async_mode
parameter added to play
function- Test system modified
README.md
modifiedPython 3.12
added to linux_test.yml
, macOS_test.yml
and windows_test.yml
0.2 - 2023-07-10
Added
Changed
quote
decorator bug fixedpath_check
decorator bug fixed- Test system modified
README.md
modified
0.1 - 2023-06-10
Added
README.md
__play_win
function__play_linux
function__play_mac
functionquote
functionpath_check
functionplay
function