vpip.dependency

Update dependency files.

class vpip.dependency.DevUpdater

Bases: Updater

Development dependency (requirements.txt) updater.

class vpip.dependency.ProdUpdater

Bases: Updater

Production dependency base class

abstract get_vpip_config()

Get vpip config dict

class vpip.dependency.SetupUpdater

Bases: ProdUpdater

Production dependency (setup.cfg) updater.

class vpip.dependency.TomlUpdater

Bases: ProdUpdater

Production dependency (pyproject.toml) updater.

class vpip.dependency.Updater

Bases: object

Dependency updater interface. Extend this class to create a new updater.

abstract get_requirements()

Get requirements string.

Return type:

str

abstract get_spec(name, version)

Get version specifier.

Parameters:
  • name (str) – Installed package name.

  • version (str) – Installed pacakge version.

Returns:

Version specifier e.g. "foo==0.1.0"

Return type:

str

abstract write_requirements(lines)

Write new requirements to file.

Parameters:

line (list[str]) – Lines of requirements.

vpip.dependency.create_nest_dict(d, keys)

Create nested dict from keys

vpip.dependency.get_vpip_config() dict[str, str | dict]

Get vpip config dict

vpip.dependency.has_lock() bool

Detect if there is a lock file (requirements-lock.txt)

vpip.dependency.parse_requirements(text) Iterator[Requirement]

Parse requirements text.

FIXME: switch to an external function from pip if possible. https://pip.pypa.io/en/stable/reference/requirements-file-format/#requirements-file-format

vpip.dependency.update_dependency(updater, added=None, removed=None)

Update dependency and save.

Parameters:
  • updater (Updater) – An Updater instance.

  • added (dict) – A pkg_name -> version map. Added packages.

  • removed (list[str]) – A list of package name. Removed packages.

vpip.dependency.update_lock()

Run pip freeze and update the lock file