Skip to main content

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:

  1. CLI + Web version
  2. 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)

Metadata

Release files for singularity-twinx 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for singularity-twinx 0.1.2
File Size Uploaded Provenance Actions
singularity_twinx-0.1.2.tar.gz 111.0 kB Without provenance Details for singularity_twinx-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for singularity-twinx 0.1.2
File Interpreter ABI Platform Actions
singularity_twinx-0.1.2-py3-none-any.whl Python 3 none any Details for singularity_twinx-0.1.2-py3-none-any.whl

Total release size: 226.4 kB

Release files / singularity_twinx-0.1.2.tar.gz

Download URL singularity_twinx-0.1.2.tar.gz
Size 111.0 kB
Tags Source
SHA-256 checksum
How to use checksums
babc73552741df43f9b19c0e86a631772f6f185f0befb918a8fd13132fe6c51b
BLAKE2b-256 checksum
How to use checksums
d0cfc083385d4605b288472e048dc23c30e434b1c12a39e73a620a5e38ca676d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / singularity_twinx-0.1.2-py3-none-any.whl

Download URL singularity_twinx-0.1.2-py3-none-any.whl
Size 115.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e4cd53fbb48da3cbe8a3d8c713b762638067d61362928d5b8a7ba587edc7ae2
BLAKE2b-256 checksum
How to use checksums
1774402e530bd48a908af6bf5b70302438d55497f24f2e409958be17869b3022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for singularity-twinx 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page