Dev Syncup
(June 3rd?)
- Remaining failing tests
- - Requirement already satisfied vs Requirement already up-to-date
- - test_install_distribution_union_with_versions
- - test_hashed_install_failure_later_flag
YAML test discussions
Participants:
- - Ilan - Tzu-ping
- Each case is a test. Tests in a file share the same base
- - It can have all the same fields in case
- - Each case inherits the base in the same file
- - Same-named fields override (not extend)
- Requests and responses correspond by index (requests[0] results in responses[0], etc.) - State in response must entirely match - No way to pass complex packages to pip (e.g. editable), but can use options: (hack)
- - Options are space-delimited
- Ilan added yesterday a better check for error messages, so it checks as a regex - The test goes through a linter first, so you can see the errors faster
- tests/yaml/linter.py <path-to.yml>
- - Checks the structure of the YAML, and type of each value
- - Will also need to update this file if we add new fields to the YAML test declarations
- No stdout field yet, but should be easy to add - That's all!
pip Resolver development and User Experience meeting notes
Dev Syncup
- Deprecate stuff from pip 20.2
- - things that won't work in the new resolver.
- - because they're bad?
- - Add a master issue in the tracker for this
- - constaints with extras, look at other stuff too?
- - #egg=wrong_name
- issue yesterday #8339 - That escape hatch for "let me do what I want"
- - TP thinks this is out of scope
- - Pradyun thinks it is.
- - Paul thinks it's borderline.
- - It's needed and possible to implement.
- - The UI for it is the tricky to figure out -- this is what pushes it out of scope.
- - We shouldn't make this until we have a UI.
- - We should flag "we need to design a UI" to the UX folks (everyone agrees)
- - digress: similar to the situation on the "next" stage of --unstable-feature=resolver (roll out flag)
- - Action: Someone (Paul, OK, then) describe what we want from the UX team, and pass it to them (and Sumana) for action.
- - Dev team needs to give input on "what's possible", and "what's easy".
- pip's new resolver's output: https://github.com/pypa/pip/issues/8220
- - Treating these like regular bug reports would make the workflow easier.
- - Existing error on #8220 looks "OK" to us experts.
- - Could be improved, but we don't know if the improvements would help actual users.
- - We need the UX team to start the ball rolling by saying what *they* want to have included.
- - We can then refine that by looking at what's possible and what's information that the resolver doesn't have
Pradyun found https://github.com/pypa/pip/issues/8346 concerning.
- pip freeze showing "appdirs @ https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" with new resolver
- - TP: Likely due to PEP 610. Will need to review the logic after the wheel cache PR
- - Got fixed in the wheel cache PR.
- Requirements with (potentially conflicting) options
- - Let’s make it an error, we don’t know how yet
- - Paul can't remember where the code is that prompted the question
- --upgrade-strategy=never
- - Note: This is a feature request
- Paul worked on upgrade-strategy: https://github.com/pypa/pip/pull/8117
- - No clear "this is the input, this is the output" description.
- Already Installed packages
- We sort of reached agreement that we just do what we have at the moment.
- Pradyun wasn't 100% convinced by the arguments (and TBH, Paul understands they were a bit weak
- - But we decided to deal with improving things as a later feature request.
There are 2 conflicting requirements on the resolver: want overrides on my environment, don't want broken environments at all.
People who install stuff into system just to do stuff are a *real* and important group of users, so broken environments are 100% necessary.
- TP made this point
- Paul 100% agrees.
New resolver reports previous installation failure when building multiple sdists for the same project
- Next up
- - Pradyun: Try to convince Travis not making the whole build red + Rename parent to template + Look into Travis not reporting
- - TP: Fix a test.
- - Paul: Fix tests (i.e., find a failing test and fix it - I'm doing test_install_unsupported_wheel_file right now)