A CLI application for easily downloading Python packages
Project description
Python Package Downloader (PPD) - Documentation
Документация на русском
Description
Python Package Downloader (PPD) is a command—line tool for easily downloading and unpacking Python packages as .whl files with the ability to automatically extract and manage dependencies.
Installation
pip install python-package-downloader
After installation, there are three commands available to run:
ppd(recommended)python-package-downloaderpython_package_downloader
Basic usage
Basic syntax
ppd <pack1> <pack2> ... [options]
Examples
# Downloading and unpacking a single
ppd requests package
# Download multiple
ppd packages numpy pandas matplotlib
# Uploading to the specified directory
ppd requests --directory ./my_packages
# Save .whl files after unpacking
ppd flask --save-wheel
# Save .dist-info
ppd django --save-dist-info
Command line options
Required arguments
packages— one or more packages to download (positional argument)
Basic options
| Option | Short version | Description |
|---|---|---|
-- version, -v |
-v |
Show program version |
--directory, -d |
-d <path> |
Directory for downloading and unpacking packages |
--save-wheel, -w |
-w |
Save .whl files after unpacking |
--save-dist-info, -i |
-i |
Save .dist-info directories |
--requirements-file, --requirements, -r |
-r [path] |
Create a file requirements.txt with dependencies |
Output control (logging)
| Option | Short version | Values | Description |
|---|---|---|---|
-- logging-level, --log-level, --loglevel, --log, --verbosity, -l, -V |
-l, -V |
0-7 or silent, critical, error, warning, info, verbose, debug, silly |
Output level of detail |
Logging levels:
0/silent— completely silent mode1/critical— critical errors only2/error— errors3/warning— warnings4/info— normal information (default)5/verbose— detailed information6/debug— debugging information7/silly— maximum detail
Detailed description of the functionality
The work process
- Downloading packages: The program uses
pip downloadto download.whlfiles without dependencies - Unpacking: Automatically extracts the contents of
.whlfiles - Cleaning: By default, deletes the
.whlfiles and `.dist-info' directories after unpacking - Dependency Management: Can create a file
requirements.txtwith package dependencies
Features
- Automatic Python detection: Finds an available Python interpreter in the system
- Error handling: Different error display levels depending on the logging level
- Color output: Uses color formatting for better readability
- Checking for updates: Automatically checks for new versions
Files and directories
By default, the program:
- Downloads
.whlfiles to the current directory (or specified via-d) - Unpacks them into the same directory
- Deletes
.whlfiles (unless--save-wheelis specified) - Deletes
.dist-infodirectories (unless--save-dist-infois specified) - Creates
requirements.txtwith dependencies (if-ris specified)
Usage examples
Example 1: Downloading an offline installation package
# Upload the package to the current
ppd requests directory
# Result:
# - The requests/ directory with the package contents
# - The package files are ready for use
Example 2: Creating a portable library
# Create a directory with multiple packages
ppd numpy pandas matplotlib --directory ./data_science_packages
# Save information about
ppd numpy pandas matplotlib -r dependencies./requirements.txt
Example 3: Silent mode for scripts
# Minimal output, only
ppd errors some-package --log-level silent
# or
ppd some-package -l 0
Example 4: Debugging problems
# Maximum detailed output
ppd problematic-package --log-level silly
# or
ppd problematic-package -l 7
Requirements
- Python >= 3.10
- Internet access to download packages
- Installed
pipin the system
Permissions
- MIT License
- Cross-platform (Windows, Linux, macOS)
Support and feedback
- The author: Маг Ильяс DOMA (MagIlyasDOMA)
- Email: magilyas.doma.09@list.ru
- GitHub: https://github.com/MagIlyasDOMA/python-package-downloader
- PyPI: https://pypi.org/project/python-package-downloader/
Notes
- The program uses
pip download --no-deps, so dependencies are not downloaded automatically - To get dependencies, use the
-roption to create a file. requirements.txt - It is recommended to use virtual environments for packet isolation
Update
# Update check (automatic at startup)
ppd --version
# Manual update
pip install --upgrade python-package-downloader
# Or
ppd --upgrade
Exit codes
0— successful completion1— error during execution2— help is called (when running without arguments)
Python Package Downloader (PPD) - Документация
Documentation in English
Описание
Python Package Downloader (PPD) — это инструмент командной строки для удобной загрузки и распаковки Python пакетов в виде .whl файлов с возможностью автоматического извлечения и управления зависимостями.
Установка
pip install python-package-downloader
После установки доступны три команды для запуска:
ppd(рекомендуется)python-package-downloaderpython_package_downloader
Основное использование
Базовый синтаксис
ppd <пакет1> <пакет2> ... [опции]
Примеры
# Загрузка и распаковка одного пакета
ppd requests
# Загрузка нескольких пакетов
ppd numpy pandas matplotlib
# Загрузка в указанную директорию
ppd requests --directory ./my_packages
# Сохранение .whl файлов после распаковки
ppd flask --save-wheel
# Сохранение .dist-info директорий
ppd django --save-dist-info
Опции командной строки
Обязательные аргументы
packages— один или несколько пакетов для загрузки (позиционный аргумент)
Основные опции
| Опция | Короткая версия | Описание |
|---|---|---|
--version, -v |
-v |
Показать версию программы |
--directory, -d |
-d <путь> |
Директория для загрузки и распаковки пакетов |
--save-wheel, -w |
-w |
Сохранить .whl файлы после распаковки |
--save-dist-info, -i |
-i |
Сохранить .dist-info директории |
--requirements-file, --requirements, -r |
-r [путь] |
Создать файл requirements.txt с зависимостями |
Управление выводом (логированием)
| Опция | Короткая версия | Значения | Описание |
|---|---|---|---|
--logging-level, --log-level, --loglevel, --log, --verbosity, -l, -V |
-l, -V |
0-7 или silent, critical, error, warning, info, verbose, debug, silly |
Уровень детализации вывода |
Уровни логирования:
0/silent— полностью тихий режим1/critical— только критические ошибки2/error— ошибки3/warning— предупреждения4/info— обычная информация (по умолчанию)5/verbose— подробная информация6/debug— отладочная информация7/silly— максимальная детализация
Детальное описание функциональности
Процесс работы
- Загрузка пакетов: Программа использует
pip downloadдля загрузки.whlфайлов без зависимостей - Распаковка: Автоматически извлекает содержимое
.whlфайлов - Очистка: По умолчанию удаляет
.whlфайлы и.dist-infoдиректории после распаковки - Управление зависимостями: Может создать файл
requirements.txtс зависимостями пакетов
Особенности
- Автоматическое определение Python: Находит доступный интерпретатор Python в системе
- Обработка ошибок: Различные уровни отображения ошибок в зависимости от уровня логирования
- Цветной вывод: Использует цветное форматирование для лучшей читаемости
- Проверка обновлений: Автоматически проверяет наличие новых версий
Файлы и директории
По умолчанию программа:
- Загружает
.whlфайлы в текущую директорию (или указанную через-d) - Распаковывает их в ту же директорию
- Удаляет
.whlфайлы (если не указан--save-wheel) - Удаляет
.dist-infoдиректории (если не указан--save-dist-info) - Создает
requirements.txtс зависимостями (если указан-r)
Примеры использования
Пример 1: Загрузка пакета для офлайн-установки
# Загрузить пакет в текущую директорию
ppd requests
# Результат:
# - Директория requests/ с содержимым пакета
# - Файлы пакета готовы для использования
Пример 2: Создание портативной библиотеки
# Создать директорию с несколькими пакетами
ppd numpy pandas matplotlib --directory ./data_science_packages
# Сохранить информацию о зависимостях
ppd numpy pandas matplotlib -r ./requirements.txt
Пример 3: Тихий режим для скриптов
# Минимальный вывод, только ошибки
ppd some-package --log-level silent
# или
ppd some-package -l 0
Пример 4: Отладка проблем
# Максимально подробный вывод
ppd problematic-package --log-level silly
# или
ppd problematic-package -l 7
Требования
- Python >= 3.10
- Доступ к интернету для загрузки пакетов
- Установленный
pipв системе
Разрешения
- MIT License
- Кроссплатформенный (Windows, Linux, macOS)
Поддержка и обратная связь
- Автор: Маг Ильяс DOMA (MagIlyasDOMA)
- Email: magilyas.doma.09@list.ru
- GitHub: https://github.com/MagIlyasDOMA/python-package-downloader
- PyPI: https://pypi.org/project/python-package-downloader/
Примечания
- Программа использует
pip download --no-deps, поэтому зависимости не загружаются автоматически - Для получения зависимостей используйте опцию
-rдля создания файла requirements.txt - Рекомендуется использовать виртуальные окружения для изоляции пакетов
Обновление
# Проверка обновлений (автоматическая при запуске)
ppd --version
# Ручное обновление
pip install --upgrade python-package-downloader
# Или
ppd --upgrade
Коды выхода
0— успешное выполнение1— ошибка при выполнении2— вызвана справка (при запуске без аргументов)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_package_downloader-1.1.3.tar.gz.
File metadata
- Download URL: python_package_downloader-1.1.3.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bcd32dccfe39e9f507835e5543402883d5435327be5f984497ba8cf62606de2
|
|
| MD5 |
4d0faf31abd299aa9398f8189d28ba93
|
|
| BLAKE2b-256 |
a2deaa7223c29aeb06cbe291643c6db9f354174d5c53593fc4527651248ba2c2
|
File details
Details for the file python_package_downloader-1.1.3-py3-none-any.whl.
File metadata
- Download URL: python_package_downloader-1.1.3-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2adc9725ed638925f52ab2eaab202528274bbd0371e5a42b8924d8e292cbcf41
|
|
| MD5 |
0ca5c5a1687f1e54fc544c0237c259be
|
|
| BLAKE2b-256 |
e7d6f130a2ff3799286955de550df83138c7da9d466f81c0a04d9bfe14167772
|