From 21a57d6e0392d07e601e7809f2993f0c49a8f37f Mon Sep 17 00:00:00 2001 From: Romain Clement Date: Wed, 19 Apr 2023 09:19:17 +0200 Subject: [PATCH 1/2] Add "Packaging a plugin using Poetry" section in docs --- docs/writing_plugins.rst | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/writing_plugins.rst b/docs/writing_plugins.rst index a3fc88ec..3d4e972a 100644 --- a/docs/writing_plugins.rst +++ b/docs/writing_plugins.rst @@ -113,6 +113,37 @@ You can then install your new plugin into a Datasette virtual environment or Doc To learn how to upload your plugin to `PyPI `_ for use by other people, read the PyPA guide to `Packaging and distributing projects `_. +.. _writing_plugins_packaging_poetry: + +Packaging a plugin using Poetry +------------------------------- + +Instead of using `setup.py` you can package a Datasette plugin using `Poetry `_. You can define your plugin using a `pyproject.toml` file such as: + +.. code-block:: toml + + [tool.poetry] + name = "datasette-plugin-demos" + version = "0.1" + description = "Examples of plugins for Datasette" + repository = "https://github.com/simonw/datasette-plugin-demos" + authors = ["Simon Willison"] + license = "Apache License, Version 2.0" + packages = [{include = "datasette_plugin_demos"}] + + [tool.poetry.dependencies] + python = "^3.8.1" + datasette = "*" + + [tool.poetry.group.dev.dependencies] + + [tool.poetry.plugins."datasette"] + "plugin_demos" = "datasette_plugin_demos" + +Having built a plugin in this way you can turn it into an installable package using the following command:: + + poetry build + .. _writing_plugins_static_assets: Static assets From 2650e3ca2c5ae4f21efe216f9959be31d9e58eed Mon Sep 17 00:00:00 2001 From: Romain Clement Date: Wed, 19 Apr 2023 09:27:16 +0200 Subject: [PATCH 2/2] Fix syntax for literals --- docs/writing_plugins.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/writing_plugins.rst b/docs/writing_plugins.rst index 3d4e972a..d1595dd3 100644 --- a/docs/writing_plugins.rst +++ b/docs/writing_plugins.rst @@ -118,7 +118,7 @@ To learn how to upload your plugin to `PyPI `_ for use by oth Packaging a plugin using Poetry ------------------------------- -Instead of using `setup.py` you can package a Datasette plugin using `Poetry `_. You can define your plugin using a `pyproject.toml` file such as: +Instead of using ``setup.py`` you can package a Datasette plugin using `Poetry `_. You can define your plugin using a ``pyproject.toml`` file such as: .. code-block:: toml