Conversation
|
Why is uv better than poetry?
We are now on pydanticV2 as of #866 |
|
The basic answer is speed since uv is written in Rust so dependency resolution when synchronizing lockfile (from The more expounded answers include PEP-621 and unifying tools. Poetry normally does not handle virtual environment creation and hands off that task to [tool.mypy]
python_version = "3.10"
# disallow_incomplete_defs = true
# disallow_untyped_calls = true
# disallow_untyped_defs = true
ignore_missing_imports = true
# strict = trueSo that is one file fewer under root folder According to PEP-621 , we can squash [tool.poetry.dependencies]
pydantic = "^2.5.3"
pydantic-settings = "^2.1.0"should actually be [project]
dependencies = [
"pydantic >=2.5.3",
"pydantic-settings >=2.1.0",
]and [tool.poetry.dev.dependencies]
pytest-asyncio = "^0.24.0"
pytest-cov = "^6.0.0"could just be [dependency-groups.dev]
dependencies = [
"pytest-asyncio >=0.24.0",
"pytest-cov >=6.0.0",
]following PEP-735 though I think Poetry also supports this, but not by default. |
This PR does exactly four things which will be broken down to separate PRs for review working with current package managers.
uv.lockfile as part of version control to prevent later builds breaking as seen by PydanticV1 -> PydanticV2 breaking changesPydanticversion to below 2; Otherwise the following code will breakbecause the above
BaseSettingsclass has been modularized into separate library calledpydantic_settingsSubprocess exited with error on
pip install -r requirements.txtlez/nsite#1