For those who are used to using a “basic” virtual environment with virtualenv, poetry can be confusing. Here are some clarifications and tips on using poetry.
Continue reading “Python poetry: Explanations and tips”Tag: poetry
bookmark_borderpython poetry 1.0.0 private repo issue fix
On December 12th 2019, poetry v1.0.0 was released. With it, came a bad surprise for me: My CI/CD jobs as well as my Docker image builds started failing.
After investigating, I’ve found out that the password key/value was now missing from the .config/pypoetry/auth.toml
file. Digging some more, I’ve found out that poetry relies on a library called keyring to manage passwords.
Here is what I did to fix the problem.
First, I’ve noticed that poetry falls back to the previous method if keyring returns RuntimeError
when it is called. Nice. It turns out that keyring comes with a backend aptly named “fail” which does that whatever the call is. So, it’s only a matter of configuring it.
As the keyring documentation states it, run python -c "import keyring.util.platform_; print(keyring.util.platform_.config_root())"
to find where to put the configuration file. Then, in that directory, create keyringrc.cfg
and put the following content in it:
[backend]
default-keyring=keyring.backends.fail.Keyring
That’s it. Now you can call poetry config http-basic....
the same way you used to and the password will be stored in auth.toml
like before.
bookmark_borderSpeeding a CI/CD pipeline over CircleCI
This post is annectodic, but I figured it could still be helpful in some way, so here I go.
Classic story. At work, the CircleCI CI/CD pipeline of the project I work on, as time went by, became slower and slower. Recently, it reached a bit over forty minutes. I worked on it and brought it back under ten minutes. Here is what I did.