Skip to content

AditthyaSS/Flux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Typing SVG

MIT License Python 3.10+ Textual TUI

Next-generation download manager with a stunning terminal interface that adapts to network conditions in real-time.

Features โ€ข Quick Start โ€ข Architecture โ€ข Controls

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—     โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—                                           โ”‚
โ”‚  โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•          Network Health: โ—โ—โ—โ—โ— (Good)    โ”‚
โ”‚  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ•”โ•           RTT: 45ms | Loss: 0.0%          โ”‚
โ”‚  โ–ˆโ–ˆโ•”โ•โ•โ•  โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•—                                           โ”‚
โ”‚  โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ•—          Made by Aditthya S S โ€ข Open    โ”‚
โ”‚  โ•šโ•โ•     โ•šโ•โ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•          Source โ€ข Free Forever           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ๐Ÿ“‹ Activity Log                  โ”‚ ๐Ÿ“Š Network Activity                       โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€            โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                     โ”‚
โ”‚ โœ“ Flux started                   โ”‚ โ–ผ 12.46 MB/s                              โ”‚
โ”‚ โœ“ Added: ubuntu-22.04.iso        โ”‚   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‡โ–†โ–…โ–„โ–ƒโ–‚โ–                 โ”‚
โ”‚ โšก Downloading at 12.46 MB/s     โ”‚ Peak: 15.2 MB/s | Total: 1.2 GB          โ”‚
โ”‚ โœ“ Completed: setup.exe           โ”‚                                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ๐Ÿ“ Downloads                     โ”‚ ๐Ÿ“„ File Details                           โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€            โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                     โ”‚
โ”‚ Queued (2)  Active (1)  Done (5) โ”‚ โ–ธ ubuntu-22.04.iso                        โ”‚
โ”‚                                  โ”‚ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ–‘โ–‘โ–‘โ–‘โ–‘ 75.3%               โ”‚
โ”‚ โ–ธ โ— ubuntu-22.04.iso             โ”‚ 3.2 GB / 4.2 GB                           โ”‚
โ”‚     Downloading โ€ข 75% โ€ข 12 MB/s  โ”‚ Speed: 12.46 MB/s | ETA: 1m 23s          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  [A]dd  [S]tart  [P]ause  [R]esume  [O]Auto  [โ†โ†’]Tabs  [โ†‘โ†“]Select  [Q]uit   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โœจ Features

๐ŸŽฏ Adaptive Intelligence

Automatically adjusts chunk size and connection count based on real-time network conditions.

๐Ÿ“Š Live Dashboard

Full-screen terminal UI with live metrics, network graphs, and professional visualizations.

๐Ÿง  Explainable Decisions

See exactly why Flux changes its download strategy in real-time.

โšก Multi-Connection Downloads

Parallel chunk downloading for maximum throughput - up to 500+ MB/s.

๐Ÿ’พ Resume Support

Seamlessly resume interrupted downloads with intelligent chunk tracking.

๐Ÿ“ˆ Network Health Monitor

Real-time network quality indicator with RTT and packet loss metrics.


๐Ÿš€ Quick Start

Installation

# From PyPI

Open Cmd
Check your current python --version

๐Ÿ› ๏ธ Quick Install
pip install flux-download

๐Ÿ” Check version
python -m flux.cli --version

๐Ÿ–ฅ๏ธ Launch Flux (Dashboard)
python -m flux.app

โž• Add a real download (inside Flux)
 Press:a

Paste:
Paste some link which you wanted to download

Press Enter
โฏ๏ธ Pause / Resume: p

โŒ Quit
q

๐Ÿงน Uninstall
pip uninstall flux-download

# Or clone and install
git clone https://github.com/aditthyass/flux.git
cd flux
pip install -e .

Launch the Dashboard

python -m flux.app

Press a to add a download and watch Flux work its magic! โœจ

CLI Mode (Headless)

flux-cli download https://example.com/file.zip --output ~/Downloads

โŒจ๏ธ Keyboard Controls

๐ŸŽฎ Download Management ๐Ÿงญ Navigation
Key Action
A Add new download
S Start queued download
P Pause active download
R Resume paused download
D Delete from list
Shift+D Delete + remove files
O Toggle auto-start
Key Action
โ†‘โ†“ Navigate downloads
โ†โ†’ Switch tabs
Tab Next section
1-4 Jump to section
Q Quit Flux

๐Ÿ—๏ธ Architecture

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘                           ๐Ÿ–ฅ๏ธ  FLUX TUI LAYER                              โ•‘
โ•‘  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ•‘
โ•‘  โ”‚ Activity    โ”‚  โ”‚  Network     โ”‚  โ”‚  Downloads  โ”‚  โ”‚ File Details   โ”‚  โ•‘
โ•‘  โ”‚ Log         โ”‚  โ”‚  Graph       โ”‚  โ”‚  List       โ”‚  โ”‚ Panel          โ”‚  โ•‘
โ•‘  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ•‘
โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ
โ•‘                        โš™๏ธ  ADAPTIVE ENGINE CORE                           โ•‘
โ•‘  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ•‘
โ•‘  โ”‚ ๐Ÿง  Decision      โ”‚  โ”‚ ๐Ÿ“Š Metrics     โ”‚  โ”‚ ๐Ÿ“‹ Task Queue           โ”‚   โ•‘
โ•‘  โ”‚    Engine        โ”‚  โ”‚    Tracker     โ”‚  โ”‚    Manager              โ”‚   โ•‘
โ•‘  โ”‚                  โ”‚  โ”‚                โ”‚  โ”‚                         โ”‚   โ•‘
โ•‘  โ”‚ โ€ข Smart Chunking โ”‚  โ”‚ โ€ข RTT Tracking โ”‚  โ”‚ โ€ข Priority Scheduling   โ”‚   โ•‘
โ•‘  โ”‚ โ€ข Connection     โ”‚  โ”‚ โ€ข Speed Stats  โ”‚  โ”‚ โ€ข Auto-Start Logic      โ”‚   โ•‘
โ•‘  โ”‚   Scaling        โ”‚  โ”‚ โ€ข Efficiency   โ”‚  โ”‚ โ€ข Resume Support        โ”‚   โ•‘
โ•‘  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ•‘
โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ
โ•‘                          ๐ŸŒ I/O LAYER                                     โ•‘
โ•‘         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ•‘
โ•‘         โ”‚ ๐Ÿ”Œ HTTP Client      โ”‚       โ”‚ ๐Ÿ’พ File Writer      โ”‚             โ•‘
โ•‘         โ”‚   โ€ข Range Requests  โ”‚       โ”‚   โ€ข Async I/O       โ”‚             โ•‘
โ•‘         โ”‚   โ€ข RTT Measurement โ”‚       โ”‚   โ€ข Chunk Mapping   โ”‚             โ•‘
โ•‘         โ”‚   โ€ข Auto Retry      โ”‚       โ”‚   โ€ข State Persist   โ”‚             โ•‘
โ•‘         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐Ÿง  How Flux Thinks

๐Ÿ“ฆ Chunk Size Optimization

Condition Action
Stable throughput + High RTT โฌ†๏ธ Increase chunk size
Unstable throughput + Low RTT โฌ‡๏ธ Decrease chunk size

๐Ÿ”— Connection Scaling

Condition Action
Low error rate + Server OK โฌ†๏ธ More connections
High error rate โฌ‡๏ธ Fewer connections

๐Ÿ’ก Every decision is logged in real-time with full explanations!


๐Ÿ› ๏ธ Development

# Clone the repository
git clone https://github.com/aditthyass/flux.git
cd flux

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest flux/tests/ -v --cov=flux

# Code formatting
black flux/ && isort flux/ && mypy flux/

๐Ÿ“ฆ Building

python build/build.py
Platform Output
Windows dist/flux.exe
Linux dist/flux
macOS dist/flux

๐ŸŒŸ Why Flux?

๐Ÿ” Explainability - Understand why your download is fast or slow
๐ŸŽจ Beautiful TUI - htop-style design with Surge-inspired aesthetics
โšก Modern Architecture - Async Python with real-time adaptive intelligence
๐Ÿง  Smart Decisions - Every optimization is logged and explained

๐Ÿค Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.


๐Ÿ“„ License

MIT License - see LICENSE for details.


๐Ÿ’œ Developed by Aditthya S S

๐ŸŒŸ Open Source โ€ข Free Forever ๐ŸŒŸ

Built with โค๏ธ using Textual โ€ข aiohttp โ€ข Rich

โญ Star this repo if you find it useful!

About

Flux is a terminal-based, adaptive file transfer engine with real-time observability and explainable optimization.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors