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

modfile-0.1.0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

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

modfile-0.1.0-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file modfile-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for modfile-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7eb00c3eeb501f8d6139243c107f0c1239718620c8670b81b4ed8379daf8f439
MD5 0c6e2b870859f3c170a6d29082229fe3
BLAKE2b-256 60209cd100b66021c21aff5fb6f64247695aa78aef1966f24667a6bec6b3a432

See more details on using hashes here.

File details

Details for the file modfile-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for modfile-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27eee7525127bda87ec4aaaafd5275195ea76ce61ca93a738b24646e84a69a6b
MD5 05bacc066aa38aa7bc0cba1f73740165
BLAKE2b-256 ee8a511f3f591c194cb2bc3883323323ea93c3943fc8dc7e78d0fcc2cef8f8e0

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