/poetry.el

Python dependency management and packaging in Emacs

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

https://travis-ci.org/galaunay/poetry.el.svg?branch=master https://coveralls.io/repos/github/galaunay/poetry.el/badge.svg?branch=master https://img.shields.io/badge/license-GPL-brightgreen.svg https://img.shields.io/badge/python-3.5+-blue.svg https://melpa.org/packages/poetry-badge.svg https://stable.melpa.org/packages/poetry-badge.svg

Poetry.el

Poetry in Emacs.

From Poetry documentation: “Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.”

Poetry.el is a wrapper around Poetry, offering a simple an intuitive interface in Emacs.

Installation

From Melpa

Poetry.el is available on Melpa, the most straightforward way of installing it is to use use-package:

(use-package poetry
 :ensure t)

Manually

  1. Dependencies

    Poetry.el needs transient and pyvenv to be installed. These packages are both available on MELPA.

  2. Clone the poetry.el repository:
    $ git clone https://github.com/galaunay/poetry.el /path/to/poetry.el
        
  3. Add the following lines to .emacs.el (or equivalent):
    (add-to-list 'load-path "/path/to/poetry.el")
    (require 'poetry)
        

Usage

Poetry.el uses transient to provide a magit-like interface. The entry point is simply:

M-x poetry

The interface should then be pretty much self-explanatory for poetry users:

doc/screenshot1.png

For users not familiar with how Poetry works, the documentation is a great place to start.

Tracking Poetry virtualenv

Poetry.el also provides a global minor mode that automatically activate the correct virtualenv when visiting Poetry project files. You can activate this feature with:

M-x poetry-tracking-mode