-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
167 changed files
with
6,988 additions
and
5,646 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# FAQ | ||
|
||
## Why is the dependency resolution process slow? | ||
|
||
While the dependency resolver at the heart of Poetry is highly optimized and | ||
should be fast enough for most cases, sometimes, with some specific set of dependencies, | ||
it can take time to find a valid solution. | ||
|
||
This is due to the fact that not all libraries on PyPI have properly declared their metadata | ||
and, as such, they are not available via the PyPI JSON API. At this point, Poetry has no choice | ||
but downloading the packages and inspect them to get the necessary information. This is an expensive | ||
operation, both in bandwidth and time, which is why it seems this is a long process. | ||
|
||
At the moment there is not way around it. | ||
|
||
!!!note | ||
|
||
Once Poetry has cached the releases' information, the dependency resolution process | ||
will be much faster. | ||
|
||
## Why are unbound version constraints a bad idea? | ||
|
||
A version constraint without an upper bound such as `*` or `>=3.4` will allow updates to any future version of the dependency. | ||
This includes major versions breaking backward compatibility. | ||
|
||
Once a release of your package is published, you cannot tweak its dependencies anymore in case a dependency breaks BC | ||
- you have to do a new release but the previous one stays broken. | ||
|
||
The only good alternative is to define an upper bound on your constraints, | ||
which you can increase in a new release after testing that your package is compatible | ||
with the new major version of your dependency. | ||
|
||
For example instead of using `>=3.4` you should use `~3.4` which allows all versions `<4.0`. | ||
The `^` operator works very well with libraries following [semantic versioning](https://semver.org). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.