Skip to main content

Help users to dynamically manage python package resources

Project description

Dynamic Pip

logo

Photo by David Dibert: https://www.pexels.com/photo/green-and-gray-evergreen-cargo-ship-1117210/

Help users to dynamically manage python package resources and bid farewell to the constraints of the requirements.txt file.

valid for python3.7/3.8/3.9 license

Build-in pip

Refer: https://pip.pypa.io/en/stable/cli/pip_install/

Dynamic-Pip

Through DynamicPip class object, dynamically manage (install, delete, etc.) python packages during the execution of the program. In addition, compared to build-in pip, dynamic-pip also supports some extended functions.

Example: Install the numpy package at runtime

from dynamicPip import DynamicPip

dynamic_pip = DynamicPip()

# declare target package
target_package = 'numpy==1.21.6'

# install
print(f'----- install {target_package} test -----')
rtn = dynamic_pip.install_single_package(target_package)
print(f'return result code {rtn}\n')

# check package list
print(f'----- list {target_package} test -----')
rtn = DynamicPip.list_package()
print(f'return result {rtn}\n')

# uninstall single package
print(f'----- uninstall {target_package} test -----')
rtn = DynamicPip.remove_single_package(target_package)
print(f'return result code {rtn}\n')

del dynamic_pip

Example: Build a requirement map

from dynamicPip import DynamicPip

dynamic_pip = DynamicPip()

dynamic_pip.generate_requires_map()

Example: List all installed packages. (pip list)

# check package as dict. (key = package name, value = version )
rtn = dynamic_pip.list_package()
print(f'return result {rtn}\n')

Example: Generate a requirement map

dynamic_pip.generate_requires_map(target_output_requirements__map_file_name)

mermaid

Features

  • support install / uninstall specific package(s) at runtime
  • install / uninstall from the given requirements file
  • support python test unit
  • support multiple index-url, auto-detect fastest PyPI mirror
  • support extra-index-url
  • export requirements file
  • build requires map

Limitations

  • official inspect function is still in the experimental stage.
  • official --dry-run function is still in the experimental stage.
  • official --report function is still in the experimental stage.

Future version

  • generate a report about all installed packages
  • find package exist
  • auto-detect packages with custom version from github
  • verify hash
  • install from local file
  • install from compressed file
  • install from FTP
  • dynamic import

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

dynamic-pip-1.1.1.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

dynamic_pip-1.1.1-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file dynamic-pip-1.1.1.tar.gz.

File metadata

  • Download URL: dynamic-pip-1.1.1.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.15

File hashes

Hashes for dynamic-pip-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a5d8350fb488d4d5090405bef0cb6a28f0dc480f2c1a93401fc746ce929b378f
MD5 7c71ba139e8b02e057762501ecb5ce79
BLAKE2b-256 4db2c6c2647cf6a7639bf051b0a814067d3c953795bd4e9cd87149a0496b9481

See more details on using hashes here.

File details

Details for the file dynamic_pip-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: dynamic_pip-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.15

File hashes

Hashes for dynamic_pip-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 071a53783a12f4d50105292762f16da2c438b7f971298680624bba2257924a41
MD5 952b657589a36c662bfb836b79fa7199
BLAKE2b-256 aae6e4611940f876b81852ce4b169d9ddc52183c3ead66d3c31e6388ea4d6e2c

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