I personally have been using pdm to manage python projects, and I'd really love a way to easily migrate a couple of them over to try rye out. If this already exists or is being discussed elsewhere, my bad, but I couldn't find anything that looked like this in the gh issues or the website.
rye init fails when a project already exists, so having at least some way of adding rye management to an existing project would be a first step.
I'm not sure about how well an automated migration tool would work, since it would involve supporting the (potentially changing) features of other project managers, but maybe the migration tool could at least supporting the detection of the project.toml keys for various tools like tools.pdm and tools.poetry and refer the user to a particular "migration guide" on the website?
Otherwise maybe some sort of migration plugin system, where the migration implementation is managed independently from the main project. That way people could bring their own migration implementation without tying it to the main project's version. Maybe a couple plugins under the astral-sh org for some of the more popular alternative tools.
so, as far as expectation, it would be something like:
rye init --migrate flag which tells the initializer to add rye non-destructively to the project
rye init --migrate=MIGRATE_TOOL where MIGRATE_TOOL is a string which represents some version of another pypi-registered project which handles the migration from a specific tool, examples:
--migrate=rye_migrate_from_pdm for the latest version of the astral-sh provided pdm migration tool
--migrate=rye_migrate_from_poetry==2.0.0 for the 2.0.0 version of the astral-sh provided poetry migration tool
I personally have been using
pdm
to manage python projects, and I'd really love a way to easily migrate a couple of them over to tryrye
out. If this already exists or is being discussed elsewhere, my bad, but I couldn't find anything that looked like this in the gh issues or the website.rye init
fails when a project already exists, so having at least some way of addingrye
management to an existing project would be a first step.I'm not sure about how well an automated migration tool would work, since it would involve supporting the (potentially changing) features of other project managers, but maybe the migration tool could at least supporting the detection of the
project.toml
keys for various tools liketools.pdm
andtools.poetry
and refer the user to a particular "migration guide" on the website?Otherwise maybe some sort of migration plugin system, where the migration implementation is managed independently from the main project. That way people could bring their own migration implementation without tying it to the main project's version. Maybe a couple plugins under the
astral-sh
org for some of the more popular alternative tools.so, as far as expectation, it would be something like:
rye init --migrate
flag which tells the initializer to addrye
non-destructively to the projectrye init --migrate=MIGRATE_TOOL
whereMIGRATE_TOOL
is a string which represents some version of another pypi-registered project which handles the migration from a specific tool, examples:--migrate=rye_migrate_from_pdm
for the latest version of theastral-sh
provided pdm migration tool--migrate=rye_migrate_from_poetry==2.0.0
for the 2.0.0 version of theastral-sh
provided poetry migration tool