Replace poetry
Ciao! Congrats for the growth. Now that many more people will be using scrapegraph, I would recommend to switch from poetry to another package manager. Poetry has two not-so-great features:
- it's not PEP compliant (PEP 621). In other words, every future contributor has to use poetry to work on the lib. Given how fragmented the packaging scenario is, this might not be desireable.
- It uses upper boundary constraints. This can generate clashes with your other user's dependencies. I leave here two references here and here from a guy who knows quite a lot of things about packaging (he is, among others, a contributor/maintainer of pybind11, cibuildwheel, and I think scikit-build too). This has tangible consequences.
Here are for example your langchain dependency constraints:
langchain = "0.1.15"
langchain-openai = "^0.1.6"
langchain-google-genai = "^1.0.3"
langchain-groq = "^0.1.3"
langchain-aws = "^0.1.3"
langchain-anthropic = "^0.1.11"
IIUC, once any of these dependencies releases a minor version, scrapegraph-ai won't be compatible.
The solution would be to just switch to any compliant modern packaging tool:
- pdm: functionally equivalent to poetry, equally mature, solo maintainer. Used by fastapi nevertheless.
-
hatch has perhaps even more features, but AFAIK there currently is not a
hatch addorhatch updatecommand (you have to write by hand the dependencies in pyproject.toml). - rye the fastest and most promising, might still be immature.
I would be glad to open a PR. I did a similar thing a while ago for another project by nvidia.
hi, if you have ideas feel free to make the pull request
@baggiponte rye is the most interesting, but IMHO PDM is the only viable option for a switch, if need be
I'll take this, assign me @VinciGit00
:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:
-
v1.0.0 - GitHub release
Your semantic-release bot :package::rocket: