Skip to main content

A convenient batch uploader for LBRY Desktop written in Python

Project description

LBRY Batch Uploader

Tests PreCommit Coverage PyVersions Wheel PyPIVersion License

A convenient and minimalistic batch uploader for LBRY Desktop written in Python.
For a detail specification of the LBRY protocol, please visit https://lbry.tech/

If you have any questions/suggestions, please open an issue. I am more than happy to discuss with you!

If you find any mistakes/room for improvement, please open a pull request. I will respond asap!

Installation

Install through pip, preferably inside a virtual environment, from the terminal:

python -m pip install --upgrade pip
pip install lbry_batch_uploader

n.b. If you are unfamiliar with creating virtual environment, please refer to the documentation of either venv or virtualenv.

Dependencies

Usage

Unix-like (Linux/BSD/macOS)

  1. Open the LBRY Desktop and make sure it stays open for the whole uploading process
  2. Inside an environment that has installed this package, run the following command from the terminal:
python -m lbry_batch_uploader \
    file_directory \
    channel_name \
    --optimize-file \
    --port PORT \
    --bid BID \
    --fee-amount FEE_AMOUNT \
    --tags TAG1 TAG2 ... \
    --languages L1 L2 ... \
    --license LICENSE \
    --license-url LICENSE_URL

n.b. The meaning and usage of each argument is documented in the following section.

Windows

This package currently does not have cygwin, win32, win64 support. Please accept my sincere apology :(

Arguments

Positional

file_directory             The absolute path of the directory that contains all the files to be uploaded

channel_name               The name of the publisher channel (with the @)

Optional

-h, --help                 Show the help message and exit

--optimize-file            Whether to transcode the video & audio or not, default to False if not specified.
                           If specified, i.e. set to True, ffmpeg must first be configured properly in the LBRY Desktop.

--port PORT                The port that lbrynet listens to, default to 5279 if not specified.

--bid BID                  The amount to back the claim, default to 0.0001 if not specified.

--fee-amount FEE_AMOUNT    The content download fee in LBC, default to 0 if not specified.

--tags TAGS [TAGS ...]     The content tags of the claims, default to [] if not specified.

--languages L [L ...]      The languages of the claims in RFC5646 format, default to ["en"] if not specified.
                           More than one could be specified. Please refer to RFC5646 for the complete list.

--license LICENSE          The publication license of the claims, default to "Public Domain" if not specified.
                           You must choose from the following list.
                           List of available licenses: {
                               Public Domain,
                               Creative Commons Attribution 4.0 International,
                               Creative Commons Attribution-ShareAlike 4.0 International,
                               Creative Commons Attribution-NoDerivatives 4.0 International,
                               Creative Commons Attribution-NonCommercial 4.0 International,
                               Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International,
                               Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International,
                               Copyrighted (All rights reserved),
                               Other
                           }

--license-url LICENSE_URL  The url of custom license. This option should be specified if and only if --license="Other".

Example

python -m lbry_batch_uploader \
    "/path/to/dir" \
    "@abc-xyz-ch" \
    --optimize-file \
    --port 9999 \
    --bid 0.1 \
    --fee-amount 1.23 \
    --tags "tag1" "tag2" "tag3" \
    --languages "en" \
    --license "Creative Commons Attribution-NonCommercial 4.0 International"

n.b. If you would like to explore the full list of optional arguments that lbrynet accepts, please head to here for the notebooks or here for the official lbrynet api documentation. Have fun!

Developing

This project uses black for code formatting and flake8 for linting.

pre-commit is also supported to ensure the above checks have been run.

To properly configure your local environment, please install the development dependencies and set up the commit hooks accordingly.

python -m pip install --upgrade pip
pip install -r requirements_dev.txt
pip install -e .
pre-commit install

License

This project is MIT licensed. For the full license, see LICENSE.

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

lbry_batch_uploader-1.1.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

lbry_batch_uploader-1.1.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file lbry_batch_uploader-1.1.0.tar.gz.

File metadata

  • Download URL: lbry_batch_uploader-1.1.0.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for lbry_batch_uploader-1.1.0.tar.gz
Algorithm Hash digest
SHA256 112106461cc684b4bf8bd9bf979526b4d101253a66a051d942fb06c201920695
MD5 99b2cf5852363b9883b8c38695c94568
BLAKE2b-256 c5dec25069bdd57d2858158b57fc16872277712db269ef98b428d7a111a6392e

See more details on using hashes here.

File details

Details for the file lbry_batch_uploader-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lbry_batch_uploader-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5ea1af8d7ce9419854de34c61ea996e5caca525b985347a2454e0d255d1fe28
MD5 9f84da41c6076a75b9e9f4c57db9c52d
BLAKE2b-256 c48813e5f10c89eb0a6b8de6560b32e7bbb9a1f97de90feeacd28544c555f583

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page