Metadata-Version: 2.4
Name: ccbt
Version: 0.0.1
Summary: The Easiest , Smallest & Fastest High-performance BitTorrent Client With All The Features
Project-URL: Homepage, https://github.com/ccBittorrent/ccbt
Project-URL: Repository, https://github.com/ccBittorrent/ccbt
Project-URL: Issues, https://github.com/ccBittorrent/ccbt/issues
Project-URL: Documentation, https://ccbittorrent.readthedocs.io/
Author-email: ccBitTorrent Contributors <joseph.pollack@emle.eu>
License: GPL-2.0
Keywords: bittorrent,cli,client,ipfs,p2p,textual,torrent,tui,xet
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking
Requires-Python: >=3.8
Requires-Dist: aiofiles>=23.0.0
Requires-Dist: aiohttp-socks>=0.10.1
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: aiortc>=1.9.0
Requires-Dist: av>=12.3.0
Requires-Dist: blake3>=1.0.8
Requires-Dist: click>=8.1.8
Requires-Dist: cryptography>=46.0.3
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: eval-type-backport>=0.3.1; python_full_version < '3.10'
Requires-Dist: ipfshttpclient>=0.8.0a2
Requires-Dist: liburing>=0.0.1; sys_platform == 'linux'
Requires-Dist: lz4>=4.3.3
Requires-Dist: msgpack>=1.1.1
Requires-Dist: multiaddr>=0.0.9
Requires-Dist: multiformats>=0.3.1.post4
Requires-Dist: netifaces>=0.11.0; platform_system != 'Windows'
Requires-Dist: prometheus-client>=0.21.1
Requires-Dist: psutil>=5.8.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pywin32>=305; sys_platform == 'win32'
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: requests>=2.25.0
Requires-Dist: rich>=14.2.0
Requires-Dist: textual>=0.73.0
Requires-Dist: toml>=0.10.2
Requires-Dist: watchdog>=4.0.2
Provides-Extra: dev
Requires-Dist: bandit>=1.7.10; extra == 'dev'
Requires-Dist: codecov>=2.1.13; extra == 'dev'
Requires-Dist: commitizen>=3.0.0; extra == 'dev'
Requires-Dist: hypothesis>=6.113.0; extra == 'dev'
Requires-Dist: mkdocs-blog-plugin>=0.25.0; extra == 'dev'
Requires-Dist: mkdocs-codeinclude-plugin>=0.2.1; extra == 'dev'
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.4.7; extra == 'dev'
Requires-Dist: mkdocs-material>=9.6.22; extra == 'dev'
Requires-Dist: mkdocs-static-i18n>=1.0.0; extra == 'dev'
Requires-Dist: mkdocs>=1.6.1; extra == 'dev'
Requires-Dist: mkdocstrings[python]>=0.26.1; extra == 'dev'
Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
Requires-Dist: pylint>=3.0.0; extra == 'dev'
Requires-Dist: pymdown-extensions>=10.15; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-benchmark>=4.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest-timeout>=2.4.0; extra == 'dev'
Requires-Dist: pytest>=8.3.5; extra == 'dev'
Requires-Dist: ruff>=0.14.2; extra == 'dev'
Requires-Dist: safety>=2.0.0; extra == 'dev'
Requires-Dist: textual-dev>=1.6.1; extra == 'dev'
Requires-Dist: ty>=0.0.1a24; extra == 'dev'
Description-Content-Type: text/markdown

# ccBitTorrent

[![PyPI version](https://badge.fury.io/py/ccbt.svg)](https://badge.fury.io/py/ccbt)
[![Downloads](https://pepy.tech/badge/ccbt)](https://pepy.tech/project/ccbt)
[![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)
[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)

A modern, high-performance BitTorrent client.

## Installation

```bash
# Install UV (if not installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install ccBitTorrent
uv pip install ccbt
```

## Quick Start

### Basic Usage

```bash

# Launch Terminal Dashboard (Recommended)
bitonic
```

### Enhanced CLI

```bash
# Download from torrent file
ccbt download movie.torrent

# Download from magnet link
ccbt magnet "magnet:?xt=urn:btih:..."

```bash
# Interactive mode
btbt interactive

# View dashboard
btbt dashboard
```

## Configuration

it's quicker to use the presets 👇🏻

### Presets 

- **example env**: https://ccbittorrent.readthedocs.io/
- **example toml**: https://ccbittorrent.readthedocs.io/
- **presets**:

### Manual

Create a `ccbt.toml` file in your working directory or `~/.config/ccbt/`:

```toml
[network]
max_global_peers = 200
max_peers_per_torrent = 50
pipeline_depth = 16

[disk]
preallocate = "full"
write_batch_kib = 64
use_mmap = true
hash_workers = 4

[strategy]
piece_selection = "rarest_first"
endgame_duplicates = 2
```

## Requirements

- Python 3.8 or higher
- UV package manager (recommended) or pip

## License

This project is licensed under the **GNU General Public License v2 (GPL-2.0)**.

Additionally, this project is subject to additional use restrictions under the **ccBT RAIL-AMS License**.

**Important**: Both licenses apply to this software. You must comply with all terms and restrictions in both licenses.

## Support

- **Documentation**: https://ccbittorrent.readthedocs.io/
- **Issues**: https://github.com/ccBittorrent/ccbt/issues
- **Discussions**: https://github.com/ccBittorrent/ccbt/discussions

