Python packaging discussion
The way packaging in Python works is currently undergoing big changes. This page tries to summarise the discussion, proposals and ideas that might be incorporated into the PEPs listed below.
If you have an idea, or a use case that is not (sufficiently) supported right now, we would like to know about it and encourage you to add it to the Ideas & Use cases section of this page. See also the older proposals.
PEPS
List of packaging related PEPs that are under consideration:
PEP 386 - Changing the version comparison module in Distutils
PEP 390 - Static metadata for Distutils Obsoleted by acceptance of PEP 345 which provides field names and format. A concrete syntax proposal is being worked on. See also StaticMetadata (not yet up to date with respect to the syntax proposal).
Proposals
Accepted
Under consideration
Ideas & Use cases
Data file installation paths
It is not possible to retrieve the installation paths of data, or other, files for all installation schemes supported by distutils right now. I propose the inclusion of a PREFIX file within the .egg-info directory that holds information on all prefixes set at installation time and a suitable API within pkgutil.
Discussion: Distutils/DiscussionOverview/FilePrefixes
Status: Under Consideration
Affected PEPs: 376
Data file prefix classes/placeholders
Data files shipped within a distribution are not further classified. This makes it impossible to define default installation paths for certain file types that are typically shipped with a distribution like configuration files, examples, shared data files, ...
Discussion: Distutils/DiscussionOverview/PrefixClasses
Status: Under Consideration
Affected PEPs: 376
Change the default installation scheme
Distribute packaged distributions get installed into paths that are typically under the aegis of the system's package manager. I propose to change the default installation scheme to the (PEP 370) --user one.
Discussion: Distutils/DiscussionOverview/DefaultInstallScheme
Status: Under Consideration
Affected PEPs: None
User defined prefix identifiers
It could be advantageous to provide a method to define arbitrary installation prefixes. This would enable users to split a package into foo and foo-plugin while still being able to install the data files shipped with foo-plugin into the correct location.
Discussion: Distutils/DiscussionOverview/UserPrefixes
Status: Under Consideration
Affected PEPs: 376
User story: Package management
As a user I want to list installed python packages, install and uninstall from command line. I also would like to search for them, list files that they contain. I also want to see if there are updates to them. I want to have an option to see diffs for updates (like directory diffs and content diffs) and changelogs when deciding whenever to update or not. I also want an ability to create my own isolated virtual environment with chosen packages and update it separately.
Discussion: unknown
Status: unknown
Affected PEPs: unknown