Skip to main content

Command-line tool to read metadata from torrent files or magnet URLs.

Project description

illustration generated using perchance.org

sjoa

PyPI Python

sjoa is a powerful command-line tool designed to read metadata from torrent files or magnet URIs. It provides a simple and efficient way to extract information about torrents without the need to download the actual content.

The Sjoa is a river in Innlandet county, Norway and is one of the best whitewater rafting rivers in Europe renowned for its fast-moving, turbulent waters with Class II-V rapids depending on the water level.

Source: Wikipedia and OARS

The word sjoa was chosen as a play on words: the term "torrent" is often used to describe a fast-flowing stream or river, typically characterized by strong currents and rapid water movement.

Installation

sjoa is implemented in Python and can be installed using pip, the Python package manager. To install sjoa, simply run:

$ pip install sjoa

Usage

Once installed, you can use sjoa from the command line.

$ sjoa -t examples/debian-12.2.0-amd64-DVD-1.iso.torrent
 Name            debian-12.2.0-amd64-DVD-1.iso
 Hash            267d63ffd31770e467f8d985a86633f05502c10d
 Size            3.72 GiB
 Pieces          15237 of length 256 KiB (last piece 64.00 KiB)
 Creation        2023-10-07 12:03:00 by mktorrent 1.1
 Comment         "Debian CD from cdimage.debian.org"
 Private         False
 Tracker URL(s)  • http://bttracker.debian.org:6969/announce
 Webseed URL(s)  • https://cdimage.debian.org/cdimage/release/12.2.0/amd64/iso-dvd/debian-12.2.0-amd64-DVD-1.iso
                 • https://cdimage.debian.org/cdimage/archive/12.2.0/amd64/iso-dvd/debian-12.2.0-amd64-DVD-1.iso
 Files           ┌───────────────────────────────────────────────────────────────────────┬─────────────────────┐
                 │ • debian-12.2.0-amd64-DVD-1.iso                                       │ 3.72 GiB            │
                 └───────────────────────────────────────────────────────────────────────┴─────────────────────┘
$ sjoa -m "magnet:?xt=urn:btih:2c6b6858d61da9543d4231a71db4b1c9264b0685&dn=ubuntu-22.04-desktop-amd64.iso&tr=https%3A%2F%2Ftorrent.ubuntu.com%2Fannounce&tr=https%3A%2F%2Fipv6.torrent.ubuntu.com%2Fannounce"
 Name            ubuntu-22.04-desktop-amd64.iso
 Hash            2c6b6858d61da9543d4231a71db4b1c9264b0685
 Tracker URL(s)  • https://torrent.ubuntu.com/announce
                 • https://ipv6.torrent.ubuntu.com/announce

Use -j to output metadata as JSON (useful for scripting):

$ sjoa -t examples/debian-12.2.0-amd64-DVD-1.iso.torrent -j | jq '.hash'
"267d63ffd31770e467f8d985a86633f05502c10d"

Read from stdin with -:

$ cat examples/debian-12.2.0-amd64-DVD-1.iso.torrent | sjoa -t -

License

Copyright 2023-2026 Martin Simon

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Buy me a coffee?

If you feel like buying me a coffee (or a beer?), donations are welcome:

BTC : bc1qq04jnuqqavpccfptmddqjkg7cuspy3new4sxq9
DOGE: DRBkryyau5CMxpBzVmrBAjK6dVdMZSBsuS
ETH : 0x2238A11856428b72E80D70Be8666729497059d95
LTC : MQwXsBrArLRHQzwQZAjJPNrxGS1uNDDKX6

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

sjoa-1.4.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

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

sjoa-1.4.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file sjoa-1.4.0.tar.gz.

File metadata

  • Download URL: sjoa-1.4.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sjoa-1.4.0.tar.gz
Algorithm Hash digest
SHA256 f55bb5ccdd9875f2431ed98952eb8a532bae99500f58f951ee7738d5d70bdedb
MD5 5529645b0a647dbd8fbb55af7e486ff5
BLAKE2b-256 f4edaf779e8a0ce7e21e1bfdd426d1efd006ea69a5e4aa4952c3bc08a9c36060

See more details on using hashes here.

Provenance

The following attestation bundles were made for sjoa-1.4.0.tar.gz:

Publisher: release.yml on barnumbirr/sjoa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sjoa-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: sjoa-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sjoa-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44e33217974ede9ce4a3667a29af59ef64d0b64b6dd783937a2ad47eca4c7fa1
MD5 367670e01d41a8615b3a4d332eb4d55b
BLAKE2b-256 d2143f7f07daca3e3c81e0ad18ff775e885da54805e1300c4987e56f23766b84

See more details on using hashes here.

Provenance

The following attestation bundles were made for sjoa-1.4.0-py3-none-any.whl:

Publisher: release.yml on barnumbirr/sjoa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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