Top Related Projects
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Official Transmission BitTorrent client repository
qBittorrent BitTorrent client
Deluge BitTorrent client - Git mirror, PRs only
Lightweight CLI download accelerator
Quick Overview
Persepolis is an open-source download manager and GUI for aria2, designed to be a feature-rich, user-friendly application for managing downloads. It supports various protocols including HTTP, HTTPS, FTP, and BitTorrent, and offers a clean, intuitive interface for users to easily manage their downloads.
Pros
- User-friendly interface with a modern, sleek design
- Cross-platform compatibility (Windows, macOS, and Linux)
- Supports multiple download protocols and concurrent downloads
- Integrates well with browsers through extensions
Cons
- Depends on aria2 as its core download engine
- May have a steeper learning curve for users unfamiliar with advanced download managers
- Some users report occasional stability issues or crashes
- Limited documentation for advanced features or troubleshooting
Getting Started
To get started with Persepolis Download Manager:
- Download the appropriate installer for your operating system from the official releases page.
- Install the application following the instructions for your OS.
- Launch Persepolis Download Manager.
- (Optional) Install browser extensions for easier integration:
- Start adding downloads by clicking the "+" button or using the browser extension.
For more detailed instructions and advanced usage, refer to the Persepolis wiki.
Competitor Comparisons
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Pros of aria2
- Lightweight and efficient command-line download utility
- Supports a wide range of protocols (HTTP, HTTPS, FTP, BitTorrent, Metalink)
- Highly customizable with extensive configuration options
Cons of aria2
- Lacks a graphical user interface, which may be less user-friendly for some
- Requires command-line knowledge for optimal usage
- Limited built-in scheduling and queue management features
Code Comparison
aria2:
void HttpSkipResponseCommand::executeInternal() {
if (response_->headerComplete()) {
skipBody();
} else {
readHeader();
}
}
Persepolis:
def startQueue(self, category=None, start_time=None):
self.queue_model.start_queue(category, start_time)
self.play_queue = True
self.stopAction.setEnabled(True)
self.startAction.setEnabled(False)
Summary
aria2 is a powerful, lightweight command-line download manager with extensive protocol support and customization options. Persepolis, on the other hand, provides a user-friendly graphical interface built on top of aria2, making it more accessible for users who prefer GUI applications. While aria2 offers more fine-grained control through its command-line interface, Persepolis simplifies the download management process with its intuitive design and additional features like scheduling and queue management.
Official Transmission BitTorrent client repository
Pros of Transmission
- More mature and widely-used project with a larger user base
- Supports a broader range of platforms, including desktop and server environments
- Offers advanced features like remote control and web interface
Cons of Transmission
- Less user-friendly interface, especially for beginners
- Fewer built-in download management features compared to Persepolis
- Limited integration with web browsers for capturing downloads
Code Comparison
Transmission (C):
static void
tr_peerMgrGotBadPiece(tr_torrent * tor, tr_piece_index_t pieceIndex)
{
assert(tr_isTorrent(tor));
assert(pieceIndex < tor->info.pieceCount);
tr_peerMgrLock(tor);
Persepolis (Python):
def startQueue(self, category=None):
self.queue_list = []
if category:
for gid in self.category_dict[category]:
self.queue_list.append(gid)
else:
for category in self.category_dict.keys():
Both projects serve as download managers, but Transmission focuses on BitTorrent protocol, while Persepolis is a front-end for aria2 with a broader scope of download types. Transmission is more established and feature-rich for torrent management, while Persepolis offers a more user-friendly interface and integration with web browsers for general download management.
qBittorrent BitTorrent client
Pros of qBittorrent
- More feature-rich and versatile torrent client
- Supports a wider range of torrent protocols and functionalities
- Has a larger and more active community for support and development
Cons of qBittorrent
- Larger codebase and potentially more complex for new contributors
- May have a steeper learning curve for basic users
- Requires more system resources compared to lightweight alternatives
Code Comparison
qBittorrent (C++):
void TorrentHandle::setSequentialDownload(bool b)
{
if (b != isSequentialDownload()) {
m_nativeHandle.set_sequential_download(b);
m_session->handleTorrentSequentialDownloadChanged(this);
}
}
Persepolis (Python):
def startQueue(self, category=None):
self.start_time = int(time.time())
self.queue_list = []
if category:
for gid in self.category_dict[category]:
self.queue_list.append(gid)
The code snippets show different approaches and languages used in the projects. qBittorrent uses C++ for low-level torrent handling, while Persepolis utilizes Python for higher-level download management.
Deluge BitTorrent client - Git mirror, PRs only
Pros of Deluge
- Full-featured BitTorrent client with extensive plugin support
- Cross-platform compatibility (Windows, macOS, Linux)
- Supports both desktop and web-based interfaces
Cons of Deluge
- Steeper learning curve for new users
- Less focus on download management features
- Slower development cycle and updates
Code Comparison
Persepolis (Python):
def startQueue(self):
self.start_time = time.time()
self.queue_model.sendList.reverse()
self.queue_model.start_queue()
self.checkQueue()
Deluge (Python):
def start(self):
if self.torrent.status.state == "Stopped":
self.torrent.resume()
self.update_state()
Summary
Deluge is a comprehensive BitTorrent client with advanced features and plugin support, while Persepolis focuses on download management with a user-friendly interface. Deluge offers more flexibility for power users, but Persepolis may be more accessible for those primarily interested in managing downloads. Both projects are open-source and written in Python, but their code structures reflect their different focuses and approaches to functionality.
Lightweight CLI download accelerator
Pros of axel
- Lightweight command-line tool, ideal for server environments
- Supports multiple protocols (HTTP, HTTPS, FTP, FTPS)
- Can be easily integrated into scripts and automated workflows
Cons of axel
- Lacks a graphical user interface, which may be less user-friendly for some
- Limited features compared to full-fledged download managers
- May require additional configuration for optimal performance
Code comparison
Axel (C):
void add_url(char *url)
{
conn_t *conn;
conn = malloc(sizeof(conn_t));
memset(conn, 0, sizeof(conn_t));
conn->conf = conf;
conn->url = url;
array_add(conf->conn, conn);
}
Persepolis (Python):
def addLinkSpider(self, url):
dictionary = {'url': url}
# Add link to the queue
self.links_queue.put(dictionary)
# Start new thread
new_thread = WebSpiderThread(self, dictionary)
self.threadPool.append(new_thread)
self.threadPool[-1].start()
Both projects aim to accelerate downloads, but Axel focuses on simplicity and command-line usage, while Persepolis offers a more feature-rich graphical interface. Axel is better suited for advanced users and server environments, whereas Persepolis caters to a broader audience with its user-friendly GUI and additional features.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Persepolis Download Manager
Content
About
Persepolis is a download manager written in Python. Persepolis is a sample of free and open source software. It's developed for GNU/Linux distributions, BSDs, MacOS, and Microsoft Windows.
Features
- Multi-segment downloading(64 connections)
- Scheduling downloads
- Download queuing
- Download video from youtube and ...
- and many more!
How to install PersepolisDM?
Please checkout Persepolis wiki
FAQ
Where does the name come from?
From Wikipedia: Persepolis (Greek: ΠεÏÏÎÏÎ¿Î»Î¹Ï Persépolis; "the Persian city") or Parsa (Old Persian: ð±ð ð¼ð¿ PÄrsa; "Persia"), also known as Takht-e-Jamshid (Persian: تخت ج٠شÙدââ Taxt e JamÅ¡id; "Throne of Jamshid"), was the ceremonial capital of the Achaemenid Empire (ca. 550â330 BC). Persepolis is situated 60 km northeast of the city of Shiraz in Fars Province, Iran. The earliest remains of Persepolis date back to 515 BC. It exemplifies the Achaemenid style of architecture. UNESCO declared the ruins of Persepolis a World Heritage Site in 1979.
How can I install Persepolis?
Read our wiki or check Persepolis website for more information.
Screenshots
GNU/Linux | Mac OSX | Windows |
---|---|---|
Credits
Alireza Amirsamimi: Persepolis lead developer and manager
GitHub | E-mail
Mohammadreza Abdollahzadeh: Arch Linux and BSD support
GitHub | E-mail
Mostafa Asadi: Ubuntu, Debian and Windows support
GitHub | E-mail
Sadegh Alirezaie: Persepolis website support
GitHub | E-mail
Jafar Akhondali: Browsers add-ons support
GitHub | E-mail
Kia Hamedi: Mac OSX support
GitHub | E-mail
H Rostami: UI translation, Fedora & OpenSuse support
GitHub | E-mail
Ehsan Titish: Mac OSX support
GitHub | E-mail
MohammadAmin Vahedinia: Mac OSX support
GitHub | E-mail
Persepolis website (En) | Persepolis website (Fa) | Twitter | Telegram Channel
Acknowledgments:
Is there any mistake in README.md? Report it in issue tracker or correct it by yourself.
Top Related Projects
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Official Transmission BitTorrent client repository
qBittorrent BitTorrent client
Deluge BitTorrent client - Git mirror, PRs only
Lightweight CLI download accelerator
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot