Install Poetry - eodeluga/dev-notes GitHub Wiki

Download and run installation script

curl -sSL https://install.python-poetry.org | python3 -

Generate completion script for Bash

poetry completions bash >> ~/.bash_completion

Make autocompletion take effect

. ~/.profile

Configure Poetry to keep venvs inside project

poetry config virtualenvs.in-project true

Create an app

poetry new greeter
cd greeter

Edit project file

pyproject.toml

Add the following section

[tool.poetry.scripts]
greeter = "greeter.__main__:main"

Create the entrypoint file

./src/greeter/__main__.py

# ./src/greeter/__main__.py
import argparse


def main() -> None:
    parser = argparse.ArgumentParser(description="Greet someone by name.")
    parser.add_argument("name", help="The name to greet")
    args = parser.parse_args()

    print(f"Hello, {args.name}!")


if __name__ == "__main__":
    main()

Install dependencies and run

poetry install
poetry run greeter Mike