Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build requirements: colorama grew a new build-time dependency :/
or more like four: ``` $ pipdeptree hatchling==1.11.1 - editables [required: >=0.3, installed: 0.3] - packaging [required: >=21.3, installed: 21.3] - pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.9] - pathspec [required: >=0.10.1, installed: 0.10.1] - pluggy [required: >=1.0.0, installed: 1.0.0] - tomli [required: >=1.2.2, installed: 2.0.1] ``` Let's monitor how the situation evolves, and whether other packages start requiring hatchling, but for now I am not going to add four new packages into the trusted base set... Pinning colorama to an older version for now. related: tartley/colorama#338 tartley/colorama#349
- Loading branch information
590abec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's now the default in the official Python packaging tutorial https://packaging.python.org/en/latest/tutorials/packaging-projects/
Also https://hatch.pypa.io/dev/community/users/
590abec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ofek, do you happen to have a link to a relevant discussion where the choice of hatchling was justified? I can't imagine the pain this is going to cause us when more projects choose to introduce cyclic dependencies between themselves and hatchling.
590abec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean by cyclic dependencies?
590abec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean something like hatchling requiring editables, and editables requiring hatchling. You can't use hatchling until you install editables but you can't build wheel for editables until you install a working hatchling.
590abec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It uses setuptools https://github.com/pfmoore/editables/blob/main/setup.py
Hatchling has no cyclic dependencies that I am aware of
590abec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right now, yes. However, as it grows in popularity more projects will be using it, and then it could become a problem.
590abec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This bootstrapping problem is known which is why Hatchling will always have very few dependencies and special care is taken to make sure that no dependency uses Hatchling for builds. This will never be a problem 🙂