Singularity
Singularity is a music + video client for youtube.It also enables users to use singularity from terminal. This is an open-source project build after two small project i.e. flow and wave
This project includes two things:
- CLI + Web version
- web based saavan music player. see here
Installation
Install it using pip or pipx
pip install singularity
pipx install singularity
Or clone this repo and then install
git clone https://github.com/philast-015/singularity.git
cd Singularity
uv sync
uv run main.py
Modes
- Yt + music mode: This mode enables user to listen to music and play videos all in just one web page.
- Music mode: This mode enables user to listen to music auto-play similar songs feature.
- Video mode: This mode allows user to watch a single video useful when getting distracted.
Features
- ad free playback.
- watch completly without giving data to any big companies.
- has distraction free modes for you.
- can be used using terminal.
Usage
singularity [-h] [commands]
File structure
.
├── main.py
├── pyproject.toml
├── README.md
├── src
│ ├── api
│ │ ├── info.py
│ │ ├── **init**.py
│ │ ├── routes.py
│ │ ├── search.py
│ │ └── stream.py
│ ├── Music-static
│ │ ├── index.html
│ │ ├── script.js
│ │ └── style.css
│ ├── tags.py
│ ├── ui
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── package-lock.json
│ │ ├── public
│ │ │ └── logo.png
│ │ ├── src
│ │ │ ├── api.js
│ │ │ ├── App.css
│ │ │ ├── App.jsx
│ │ │ ├── components
│ │ │ │ ├── AlbumDetail.jsx
│ │ │ │ ├── AlbumModals.jsx
│ │ │ │ ├── LibraryPage.jsx
│ │ │ │ ├── LikedPage.jsx
│ │ │ │ ├── MusicPlayer.jsx
│ │ │ │ ├── PlaylistPage.jsx
│ │ │ │ ├── SavedItems.jsx
│ │ │ │ ├── SavedPage.jsx
│ │ │ │ ├── SearchHistory.jsx
│ │ │ │ ├── SettingsPanel.jsx
│ │ │ │ ├── Sidebar.jsx
│ │ │ │ ├── VideoCard.jsx
│ │ │ │ └── VideoPlayer.jsx
│ │ │ ├── logo.png
│ │ │ ├── main.jsx
│ │ │ └── modes
│ │ │ └── music
│ │ │ └── MusicLibrary.jsx
│ │ └── vite.config.js
│ ├── Video-static
│ │ ├── index.html
│ │ ├── script.js
│ │ └── style.css
│ └── ytdl.py
└── uv.lock
Dependencies used
- python
- flask
- rich
- request
- yt-dlp
- tree (used for generating tree view)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
singularity_twinx-0.1.2.tar.gz
(111.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file singularity_twinx-0.1.2.tar.gz.
File metadata
- Download URL: singularity_twinx-0.1.2.tar.gz
- Upload date:
- Size: 111.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
babc73552741df43f9b19c0e86a631772f6f185f0befb918a8fd13132fe6c51b
|
|
| MD5 |
cf4b054c62cfcee1c5dbb36029898a36
|
|
| BLAKE2b-256 |
d0cfc083385d4605b288472e048dc23c30e434b1c12a39e73a620a5e38ca676d
|
File details
Details for the file singularity_twinx-0.1.2-py3-none-any.whl.
File metadata
- Download URL: singularity_twinx-0.1.2-py3-none-any.whl
- Upload date:
- Size: 115.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e4cd53fbb48da3cbe8a3d8c713b762638067d61362928d5b8a7ba587edc7ae2
|
|
| MD5 |
cf5eb388eb7571d356142e0a082dee9b
|
|
| BLAKE2b-256 |
1774402e530bd48a908af6bf5b70302438d55497f24f2e409958be17869b3022
|