question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Document the new resolver

See original GitHub issue

What’s the problem this feature will solve? Lots of people are getting frustrated with long resolve times, and want pip to “work better”. There’s a common issue that people don’t really know how the resolver works, and in particular don’t appreciate why the problem is hard, so they tend to get frustrated when we can’t “just solve the issue”.

Describe the solution you’d like A high-level description in the documentation (probably under “topics”) of the problems the resolver faces, the unique issues that make dependency resolution for Python packages hard, and most importantly, the process we go through to find a solution.

The document doesn’t need to cover everything, and absolutely shouldn’t be positioned as the definitive spec, because we need to be able to change the implementation without being held to implied behaviour guarantees.

Alternative Solutions

  • Fix the resolver so it works perfectly for everyone. I wish 🙂
  • Keep explaining on the tracker when people raise problems. This doesn’t scale, and drains a lot of energy and resource from the core devs. Even for productive and helpful interactions like #10201.

Additional context

  • Most of the actual logic comes from resolvelib, so we’ll be (at least in part) documenting what resolvelib does.
  • Do we need to tackle the point that the “old resolver” didn’t have the performance issues the new one does?
  • Do we need to explicitly state that “must not install conflicting packages” is fundamental?
  • Do we need to discuss how the resolver interacts with packages that are already installed? I don’t want to get into --upgrade-strategy, TBH. So let’s not.
  • What about “escape hatches” like --no-deps and --ignore-installed? Again, I’m inclined to ignore these.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:11 (11 by maintainers)

github_iconTop GitHub Comments

3reactions
pfmoorecommented, Jul 30, 2021

Assigned to myself because I’d like to take a stab at this. But my time is limited. If anyone else is interested and I’ve done nothing about it for a while, feel free to ping me and ask if you can take over.

1reaction
pfmoorecommented, Jul 31, 2021

Feel free to hijack that / tack onto the end of it / whatever. 😃

TBH, I’d find it hard to merge the styles, and I don’t feel comfortable just deleting what’s there. So I’ll add my stuff and let someone merge the two later if they want to.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Resolvers - Apollo GraphQL Docs
To accomplish this, it uses resolvers. A resolver is a function that's responsible for populating the data for a single field in your...
Read more >
Document.createNSResolver() - Web APIs - MDN Web Docs
createNSResolver (). Creates an XPathNSResolver which resolves namespaces with respect to the definitions in scope for a specified node. Syntax.
Read more >
Resolver mapping template reference for DynamoDB
This resolver works by enabling you to map an incoming GraphQL request into a DynamoDB call, and then map the DynamoDB response back...
Read more >
Document issue about new resolver layout #1045 - GitHub
There are two reasons this happens: // - When renaming or deleting a resolver the old code will be put in here. You...
Read more >
Document Resolver Service
The document resolver service is a service that you build to determine whether a document's status is New, Duplicate, or In Doubt.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found