Metadata-Version: 2.4
Name: 1337x
Version: 2.1.1
Summary: Unofficial API of 1337x.to
Project-URL: Repository, https://github.com/hemantapkh/1337x
Project-URL: Documentation, https://github.com/hemantapkh/1337x/blob/main/README.md
Project-URL: Issue tracker, https://github.com/hemantapkh/1337x/issues
Author-email: Hemanta Pokharel <yo@hemantapkh.com>
License-Expression: MIT
License-File: LICENSE
Keywords: 1337x,torrents
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Requires-Dist: asyncer==0.0.11
Requires-Dist: beautifulsoup4<5,>=4.12.3
Requires-Dist: cloudscraper<2,>=1.2.71
Requires-Dist: requests<3,>=2.32.3
Description-Content-Type: text/markdown

1337x

The ultimate Python API wrapper for 1337x.

## Table of Contents
- [Installation](#installation)
- [Getting Started](#getting-started)
   - [Examples](#examples)
   - [Asynchronous Usage](#asynchronous-usage)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [License](#license)

## Installation
Install via [PyPi](https://www.pypi.org/project/1337x):
```bash
pip install 1337x
```

Or install from the source:
```bash
pip install git+https://github.com/hemantapkh/1337x
```


## Examples

> ⚠️ **Note:** Due to a recent change on the 1337x website, using the `.search()` method without a `category` may return empty results. Specifying a category is temporarily recommended to ensure functionality.

### Searching Torrents
```python
import py1337x

torrents = py1337x.Py1337x()

# Basic search
results = torrents.search(
    'ubuntu',
    page=1,
    category=py1337x.category.APPS
)
for result in results.items:
  print(f"Title={result.name} Seeders={result.seeders}")

# Search with sorting by seeders
results = torrents.search('vlc', sort_by=py1337x.sort.SEEDERS, category=py1337x.category.APPS)
print(results)

# Get today's trending torrents
results = torrents.trending()
print(results)
```

### Getting Torrent Information
To get magnetlink and other information of the torrent.
```python
# Getting info the the first result of the above search
torrent_id = results.items[0].torrent_id
info = torrents.info(torrent_id=torrent_id)
print(info)

# Convert the result to dictionary
info_dict = info.to_dict()
print(info_dict)
```

## Asynchronous Usage
For asynchronous usage, all functionalities are the same; use `AsyncPy1337x` instead of `Py1337x`:

```python
import asyncio
from py1337x import AsyncPy1337x

async def main():
    torrents = AsyncPy1337x()
    results = await torrents.search('vlc media player')
    print(results)

asyncio.run(main())
```

## Documentation

The detailled documentation of the project is available [here](https://1337x.readthedocs.org/en/latest/).

## Contributing

Any contributions you make are **greatly appreciated**.

*Thanks to every [contributors](https://github.com/hemantapkh/1337x/graphs/contributors) who have contributed in this project.*

## License

Distributed under the MIT License. See [LICENSE](https://github.com/hemantapkh/1337x/blob/main/LICENSE) for more information.

-----
Author/Maintainer: [Hemanta Pokharel](https://github.com/hemantapkh/)
