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.1.tar.gz (2.8 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.1-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hee888-0.1.1.tar.gz
  • Upload date:
  • Size: 2.8 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.1.tar.gz
Algorithm Hash digest
SHA256 60ebd6c1b51b790f69db98948c9a0546c22ad3a44f615de01e03857373fef047
MD5 f98b1e9cdf489d87539bb8b2fceb09ae
BLAKE2b-256 376e4bd590f47319f5d2fdc49c5bdfaa0bdae0d1e99d1e1ed04e283f4306ee65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hee888-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 2.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17a82367caac876703747d95ec38168481e98fd4ddea479872f5abe60a0df36b
MD5 0ba83fcbfdcc4c02b0ab91921845c1c4
BLAKE2b-256 6b904c53c4ffffb444266b45ab45b56d3cc3d19a720ec4d916953d7844df75ca

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