simple migration script, migrate pipenv to poetry
Project description
pipenv-poetry-migrate
This is simple migration script, migrate pipenv to poetry.
:rocket: Get Started
Installation
$ pip install -U poetry pipenv-poetry-migrate
Migration
Step 1: Create pyproject.toml
file
$ poetry init
Step 2: Migrate
To migrate Pipfile
to pyproject.toml
.
$ pipenv-poetry-migrate -f Pipfile -t pyproject.toml
When want to run dry-run mode:
$ pipenv-poetry-migrate -f Pipfile -t pyproject.toml -n
Dry-run mode is pyproject.toml
file does not overwrite, results are displayed on standard output.
[!Note]
If the dependency already exists in the poetry dependency and you want to re-migrate it, please use the--re-migrate
option. However, if the dependency is removed from pipenv, the poetry dependency is not removed.$ pipenv-poetry-migrate -f Pipfile -t pyproject.toml --re-migrate
[!Note]
The default behavior is to migrate with the group notation, which has been available since Poetry 1.2.0. If you want to migrate withdev-dependencies
notation, please use the--on-use-group-notation
option.$ pipenv-poetry-migrate -f Pipfile -t pyproject.toml --no-use-group-notation
Step 3: Generate lock file
$ poetry lock
If there is already a poetry.lock
file, remove it first.
Step 4: Installing dependencies
To install the defined dependencies for your project.
$ poetry install
Example output
This is an example of a Pipfile to be migrated.
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = "*"
[dev-packages]
pytest = "^5.2"
Migrate the above file to the following pyproject.toml.
[tool.poetry]
name = "migration-sample"
version = "0.1.0"
description = ""
authors = ["Yoshiyuki HINO <yhinoz@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.7"
[tool.poetry.group.dev.dependencies]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
By executing this script, pyproject.toml is rewritten as follows.
[tool.poetry]
name = "migration-sample"
version = "0.1.0"
description = ""
authors = ["Yoshiyuki HINO <yhinoz@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.7"
requests = "*"
[tool.poetry.group.dev.dependencies]
pytest = "^5.2"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
:handshake: Contributing
- Fork and clone the repository, and create the development branch.
- Run
poetry install
to setup your develop environment. - Do your code.
- Run
bash scripts/test.sh
to check that your test passed. - Run
bash scripts/format.sh
andbash scripts/lint.sh
to check that you haven't warnings. - Open a PR on GitHub.
Test cases
Test cases are in tests/toml
, update Pipfile
with additional entries and expect_pyproject.toml
with expected output.
:pencil: License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pipenv_poetry_migrate-0.5.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7edbea3d7f68dd2ba448a1f4259f95b98c15a23bdacbea3824ee915fedf73f6f |
|
MD5 | e81da560119370f08c6e8985284d5fb5 |
|
BLAKE2b-256 | 8c8a0b62486c4c556eda248c12e6d74669428c732006f1df6b40a9e991fedaa3 |
Hashes for pipenv_poetry_migrate-0.5.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e9f22b0680f57e65531b9f2e700e46c037dca3efc1a02ed0c455690caf3cdf4 |
|
MD5 | d33010efe623c574c1fa1b5b7be8d4d7 |
|
BLAKE2b-256 | 2c8ddb9eea5fc5afc82de9545978aca41d6d80849d7772a5e6ed5223970ea0c5 |