Skip to main content

A Music + video player all in a single page with web and desktop app view.

Project description

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)

Project details


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.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

singularity_twinx-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file singularity_twinx-0.1.0.tar.gz.

File metadata

  • Download URL: singularity_twinx-0.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for singularity_twinx-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1b65719e1ddd2826fac880527deeee93232874c880a08f0281820d1672385792
MD5 da006c24bd3808e0b341bd28e98281a1
BLAKE2b-256 a59531272b8e9dafd3e3f43105386cd4d335c112d8342e73280014860e1d57da

See more details on using hashes here.

File details

Details for the file singularity_twinx-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for singularity_twinx-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb5d2048308fff564e32f5e4363c3d48a0e44345012d8c5e767941500baf04f6
MD5 d8c7018a6efe2f3cbaa7ebd4f135ac89
BLAKE2b-256 14c5affd345402309391e34bbed0ed5a34d3d57d344754c8f1964738d81a3d0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page