This library exists to make it easy to programmatically interact with / introspect / manipulate Pipenv projects.
It allows you examine dependencies and requirements of a project, as well as install/uninstall packages from Python directly.
import pipenvlib
# Establish where the Pipenv project lives.
project = pipenvlib.PipenvProject('.')
>>> project.packages
[<Dependency 'toml' constraint='*'>, <Dependency 'delegator.py' constraint='*'>]
>>> project.locked_packages
[<LockedDependency 'delegator.py==0.0.14'>, <LockedDependency 'pexpect==4.3.1'>, <LockedDependency 'ptyprocess==0.5.2'>, <LockedDependency 'toml==0.9.4'>]
>>> project.install('requests', dev=True)
True
>>> project.dev_packages
[<Dependency 'requests' constraint='*'>]
>>> project.virtualenv_location
/Volumes/KR/.local/share/virtualenvs/pipenvlib-kjpeBSWf
This project (which is a work in progress) was built to facilitate the development of a Sublime Text 3 plugin (which in the works).