{"id":24206428,"url":"https://github.com/openscilab/nava","last_synced_at":"2025-05-16T15:07:00.959Z","repository":{"id":173769723,"uuid":"646713092","full_name":"openscilab/nava","owner":"openscilab","description":"🎵 Playing Sounds in Python","archived":false,"fork":false,"pushed_at":"2025-04-15T06:00:09.000Z","size":1086,"stargazers_count":140,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-13T23:14:58.435Z","etag":null,"topics":["accessibility","audio","audio-player","audio-player-lib","audio-player-library","music","music-player","player","sound","sound-player","wave","wave-player","winsound"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openscilab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://openscilab.com/#donation"}},"created_at":"2023-05-29T07:07:04.000Z","updated_at":"2025-05-06T14:37:53.000Z","dependencies_parsed_at":"2024-03-28T07:27:36.963Z","dependency_job_id":"80c415a3-c168-4718-832c-93e284bb7219","html_url":"https://github.com/openscilab/nava","commit_stats":null,"previous_names":["openscilab/nava"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscilab%2Fnava","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscilab%2Fnava/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscilab%2Fnava/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openscilab%2Fnava/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openscilab","download_url":"https://codeload.github.com/openscilab/nava/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553959,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","audio","audio-player","audio-player-lib","audio-player-library","music","music-player","player","sound","sound-player","wave","wave-player","winsound"],"created_at":"2025-01-14T00:32:16.844Z","updated_at":"2025-05-16T15:07:00.922Z","avatar_url":"https://github.com/openscilab.png","language":"Python","funding_links":["https://openscilab.com/#donation"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/openscilab/nava/raw/main/others/logo.png\" width=\"300\" height=\"300\"\u003e\n    \u003ch1\u003eNava\u003c/h1\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://www.python.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/built%20with-Python3-green.svg\" alt=\"built with Python3\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://badge.fury.io/py/nava\"\u003e\u003cimg src=\"https://badge.fury.io/py/nava.svg\" alt=\"PyPI version\" height=\"18\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://anaconda.org/openscilab/nava\"\u003e\u003cimg src=\"https://anaconda.org/openscilab/nava/badges/version.svg\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/openscilab/nava\"\u003e\u003cimg src=\"https://codecov.io/gh/openscilab/nava/branch/main/graph/badge.svg\" alt=\"Codecov\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/MCbPKCFBs3\"\u003e\u003cimg src=\"https://img.shields.io/discord/1064533716615049236.svg\" alt=\"Discord Channel\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## Overview\n\n\u003cp align=\"justify\"\u003e\nNava 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.\n\u003c/p\u003e\n\n\u003ctable\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003ePyPI Counter\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\n            \u003ca href=\"http://pepy.tech/project/nava\"\u003e\n                \u003cimg src=\"http://pepy.tech/badge/nava\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003eGithub Stars\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/openscilab/nava\"\u003e\n                \u003cimg src=\"https://img.shields.io/github/stars/openscilab/nava.svg?style=social\u0026label=Stars\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\u003ctable\u003e\n\t\u003ctr\u003e \n\t\t\u003ctd align=\"center\"\u003eBranch\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003emain\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003edev\u003c/td\u003e\n\t\u003c/tr\u003e\n    \u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003eLinux CI\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003cimg src=\"https://github.com/openscilab/nava/actions/workflows/linux_test.yml/badge.svg?branch=main\"\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003cimg src=\"https://github.com/openscilab/nava/actions/workflows/linux_test.yml/badge.svg?branch=dev\"\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003eWindows CI\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003cimg src=\"https://github.com/openscilab/nava/actions/workflows/windows_test.yml/badge.svg?branch=main\"\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003cimg src=\"https://github.com/openscilab/nava/actions/workflows/windows_test.yml/badge.svg?branch=dev\"\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003emacOS CI\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003cimg src=\"https://github.com/openscilab/nava/actions/workflows/macOS_test.yml/badge.svg?branch=main\"\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003cimg src=\"https://github.com/openscilab/nava/actions/workflows/macOS_test.yml/badge.svg?branch=dev\"\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ctable\u003e\n\t\u003ctr\u003e \n\t\t\u003ctd align=\"center\"\u003eCode Quality\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ca href=\"https://app.codacy.com/gh/openscilab/nava/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade\"\u003e\u003cimg src=\"https://app.codacy.com/project/badge/Grade/9c384b4e400340ae94772c1d7e1842d0\"\u003e\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ca href=\"https://www.codefactor.io/repository/github/openscilab/nava\"\u003e\u003cimg src=\"https://www.codefactor.io/repository/github/openscilab/nava/badge\" alt=\"CodeFactor\"\u003e\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ca href=\"https://codebeat.co/projects/github-com-openscilab-nava-dev\"\u003e\u003cimg alt=\"codebeat badge\" src=\"https://codebeat.co/badges/75df9d9c-af95-4038-8a1d-9f3618856871\"\u003e\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n## Installation\n\n### PyPI\n\n- Check [Python Packaging User Guide](https://packaging.python.org/installing/)     \n- Run `pip install nava==0.7`\n\n### Source code\n- Download [Version 0.7](https://github.com/openscilab/nava/archive/v0.7.zip) or [Latest Source](https://github.com/openscilab/nava/archive/dev.zip)\n- Run `pip install .`\n\n### Conda\n\n- Check [Conda Managing Package](https://conda.io/)\n- Update Conda using `conda update conda`\n- Run `conda install -c openscilab nava`\n\n## Usage\n\n### Basic\n\n```python\nfrom nava import play\nplay(\"alarm.wav\")\n```\n\n### Async mode\n\n⚠️ The `async_mode` parameter has a default value of `False`\n\n```python\nimport time\nfrom nava import play, stop\nsound_id = play(\"alarm.wav\", async_mode=True)\ntime.sleep(4)\nstop(sound_id)\n```\n\n### Loop mode\n\n⚠️ The `loop` parameter has a default value of `False` \n\n⚠️ You should always set `async_mode` flag when you are using `loop`\n\n```python\nfrom nava import play, stop\nsound_id = play(\"alarm.wav\", async_mode=True, loop=True)\ntime.sleep(100)\nstop(sound_id)\n```\n\n### Error\n\n```python\nfrom nava import play, NavaBaseError\n\ntry:\n    play(\"alarm.wav\")\nexcept NavaBaseError as e:\n    print(str(e))\n```\n\n### Engine\n\n⚠️ The `engine` parameter has a default value of `AUTO` \n\n```python\nfrom nava import play, Engine\nsound_id = play(\"alarm.wav\", engine=Engine.AFPLAY)\n```\n\n### CLI\n```bash\n$ nava [--file FILE_PATH] [--loop] FILE_PATH\n```\n\n## Engines list\n\nList of different platforms and the corresponding engines that are used for sound playing.\n\n\u003ctable\u003e\n\t\u003ctr\u003e \n\t\t\u003cth align=\"center\"\u003eEngine\u003c/th\u003e\n\t\t\u003cth align=\"center\"\u003ePlatform\u003c/th\u003e\n\t\t\u003cth align=\"center\"\u003eReferences\u003c/th\u003e\n\t\t\u003cth align=\"center\"\u003eSupported Formats\u003c/th\u003e\n\t\u003c/tr\u003e\n    \u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ccode\u003eALSA\u003c/code\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003eLinux\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ca href=\"https://www.alsa-project.org/wiki/Main_Page\"\u003eAdvanced Linux Sound Architecture\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ccode\u003e.wav\u003c/code\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n    \u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ccode\u003eWINSOUND\u003c/code\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003eWindows\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ca href=\"https://docs.python.org/3/library/winsound.html\"\u003eWinsound\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ccode\u003e.wav\u003c/code\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n    \u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ccode\u003eAFPLAY\u003c/code\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003emacOS\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ca href=\"https://ss64.com/mac/afplay.html\"\u003eAudio File Play\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\u003ccode\u003e.wav\u003c/code\u003e,\u003ccode\u003e.mp3\u003c/code\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n\n## Issues \u0026 bug reports\n\nJust fill an issue and describe it. We'll check it ASAP! or send an email to [nava@openscilab.com](mailto:nava@openscilab.com \"nava@openscilab.com\").\n\n- Please complete the issue template\n \nYou can also join our discord server\n\n\u003ca href=\"https://discord.gg/MCbPKCFBs3\"\u003e\n  \u003cimg src=\"https://img.shields.io/discord/1064533716615049236.svg?style=for-the-badge\" alt=\"Discord Channel\"\u003e\n\u003c/a\u003e\n\n## Show your support\n\n\u003ch3\u003eStar this repo\u003c/h3\u003e\n\nGive a ⭐️ if this project helped you!\n\n\u003ch3\u003eDonate to our project\u003c/h3\u003e\n\nIf 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 ;-) .\n\n\u003ca href=\"https://openscilab.com/#donation\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/openscilab/nava/raw/main/others/donation.png\" height=\"90px\" width=\"270px\" alt=\"Nava Donation\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenscilab%2Fnava","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenscilab%2Fnava","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenscilab%2Fnava/lists"}