Skip to content

Instantly share code, notes, and snippets.

@CarlosDomingues
Last active July 12, 2024 17:05
Show Gist options
  • Save CarlosDomingues/b88df15749af23a463148bd2c2b9b3fb to your computer and use it in GitHub Desktop.
Save CarlosDomingues/b88df15749af23a463148bd2c2b9b3fb to your computer and use it in GitHub Desktop.
Python Poetry Cheatsheet

Create a new project

poetry new <project-name>

Add a new lib

poetry add <library>

Remove a lib

poetry remove <library>

Update a lib

poetry update <library>

Get venv path

poetry run which python

Run app

poetry run python app.py

Run tests

poetry run python -m unittest discover

Show dependencies

poetry show

Create script

1 - Edit pyproject.toml:

[tool.poetry.scripts]
test = 'scripts:test'

2 - Create a scripts.py file on the root directory of your project:

import subprocess

def test():
    """
    Run all unittests. Equivalent to:
    `poetry run python -u -m unittest discover`
    """
    subprocess.run(
        ['python', '-u', '-m', 'unittest', 'discover']
    )

3 - Run script:

poetry run test

Disable virtual environment creation

poetry config virtualenvs.create false

List configuratiom

poetry config --list
@rmmajor
Copy link

rmmajor commented Dec 4, 2022

There is a typo in 'Add a new lib' section: not potry but poetry. Hope this helps

@CarlosDomingues
Copy link
Author

Thanks @rmmajor, I've fixed it.

A disclaimer, though: I don't use poetry anymore, so I'm not sure how up to date this cheat sheet is =/

@jcdevilleres
Copy link

++ poetry shell to activate virtual environment
++ poetry install to install dependencies from poetry files

@CarlosDomingues interesting comment, what package / dependency tool are you now using ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment