Skip to content

Remove editable from the lock-file #1274

@baszalmstra

Description

@baszalmstra

Problem description

Currently, the lock-file stores whether a Pypi package should be installed as editable or not. However, this has some downsides:

  • If you change a package from editable to non-editable or vice-versa, the lock file has to be regenerated.
  • Whether a package is editable or not is not defined in the name but it is currently stored in the package data part of the lock file. E.g.
    - kind: pypi
      name: foo
      version: 0.1.0
      path: foo
      sha256: 5eb7d27a464b108fef2bb090ef1d2f62a2750e7bd625c70d2b00ef3f19a2edf7
      editable: true
    This means that for every environment the package is now editable.

I see two solutions:

  1. Add editable to a per environment section (similar to extras) and remove it from the package data. This still requires the lock file to be regenerated if the editableness of a package changes.
  2. Remove it from the lock-file all together. This means we have to check at installation time if the package needs to be "re-installed".

I think I'm in favor of option 2 but I'm curious about other people's opinions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions