Skip to main content

Fast multi-threaded video downloader

Project description

modfile (hee888)

Fast multi-threaded video downloader and utilities.

This project provides a small CLI and helpers for high-speed multi-threaded downloads using HTTP range requests. The package is distributed under the name modfile while the Python package code remains in the hee888 package directory.

Features

  • Multi-threaded chunked downloader with retries and progress tracking
  • Helpers to create configured requests.Session instances and PreparedRequest objects
  • Optional yt-dlp integration to select video formats

Quick usage

After installing the package you can use the modfile console script:

PowerShell:

modfile "https://example.com/video.mp4" -o myvideo.mp4

Use helpers from Python:

from hee888 import app
sess = app.make_session({"X-Custom": "value"})
preq = app.create_prepared_request("https://httpbin.org/get")
resp = sess.send(preq)
print(resp.status_code)

Building and publishing to PyPI (step-by-step)

  1. Prepare an account and API token

    • Create an account on https://pypi.org if you don't have one.
    • Create an API token on your account settings page ("API tokens") and copy it.
  2. Install build and twine

PowerShell:

python -m pip install --upgrade pip
python -m pip install --upgrade build twine
  1. Ensure README.md exists (setup.py reads it). If you edited setup.py to reference a README, make sure the file path is correct.

  2. Bump the version in setup.py (e.g., version='0.1.1') for each new release.

  3. Build distributions

PowerShell:

# from project root (where setup.py / pyproject.toml live)
python -m build

This will produce files under dist/ (a source tarball and a wheel).

  1. Test upload to Test PyPI (recommended)

PowerShell (recommended: use environment variables for the token):

# provide credentials via environment variables
$env:TWINE_USERNAME = "__token__"
$env:TWINE_PASSWORD = "<your-pypi-token-here>"
python -m twine upload --repository testpypi dist/*

Install from Test PyPI to verify:

python -m pip install --index-url https://test.pypi.org/simple/ --no-deps modfile
  1. Publish to production PyPI

PowerShell:

# set the real token
$env:TWINE_USERNAME = "__token__"
$env:TWINE_PASSWORD = "<your-pypi-token-here>"
python -m twine upload dist/*
  1. Post-release housekeeping (optional but recommended)
    • Tag in git, push tags, create a GitHub release that references the PyPI release:
git add .
git commit -m "Release v0.1.1"
git tag v0.1.1
git push && git push --tags

Troubleshooting

  • If python setup.py sdist bdist_wheel fails with a FileNotFoundError for README.md, make sure README.md exists. This repo now includes README.md.
  • If yt-dlp import fails when importing hee888.app, install dependencies first: python -m pip install -r requirements.txt or python -m pip install requests tqdm yt-dlp.
  • Use Test PyPI first to verify packaging and installability.

Security note

  • Use PyPI API tokens (not your username/password) and treat tokens like secrets. Do not commit tokens into source control. Use CI secrets for automated publishing.

License & author

Author: Khumi

(Adjust license metadata in setup.py as needed.)

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

hee888-0.1.2.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

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

hee888-0.1.2-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file hee888-0.1.2.tar.gz.

File metadata

  • Download URL: hee888-0.1.2.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for hee888-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a294426d32c2c8deed83c53cf85fa8334875df3a290e89b430cc362c42877eae
MD5 0f0885604631bf2329dc1a26934dee38
BLAKE2b-256 b39c3c37d309d6002513cc5b9062360ac3ab26a4276cefd2fc835e416d33c83c

See more details on using hashes here.

File details

Details for the file hee888-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: hee888-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for hee888-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 26e57bbff9461d5fa3a4a278846837cef6fe837005a660b158599bf5a164f28f
MD5 baed906a78ce989356d98e77f844ba8d
BLAKE2b-256 fe77b8f7ef38f1f9ab86c6232bb05da060daf38361a47f8171721e901663e657

See more details on using hashes here.

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