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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hee888-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 9fae12b7b423c65db5f404ee7b7fed2a005bce6845d98635b5f24b580ef227d5
MD5 d1bd5d3fab900d227b98f0d000236031
BLAKE2b-256 5975ee33f9ec1c5fcf79bab708318e1787ccbe09bfa1f6e20ed353723ffba62c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hee888-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c704fbd5fea6ba5f57799f6fe85fcb25f61fb02bf36aeb64ed22903327141aa
MD5 47a13fdd2541ab0f19b67716879a855b
BLAKE2b-256 6577a469fdf19f63abaf6082c074458bf4aa4c70b02e18599294664734132daf

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