diff --git a/README.md b/README.md
index fdc6cd1..559800b 100644
--- a/README.md
+++ b/README.md
@@ -22,3 +22,13 @@ There are three related scripts:
   side-product. This script can read that file and fetch those missing dates,
   which you can insert in your ledger and then rerun compute_returns.py for a
   more precise calculation.
+
+## Example
+
+To run the example:
+```
+cd example
+uv run beangrow-returns ledger.beancount config.pbtxt ./reports
+```
+
+The reports are available at `example/reports/groups`.
diff --git a/example/config.proto b/example/config.pbtxt
similarity index 100%
rename from example/config.proto
rename to example/config.pbtxt
diff --git a/pyproject.toml b/pyproject.toml
index 04b4902..96c0b06 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,8 +1,8 @@
 [build-system]
-requires = ["poetry-core>=1.0.0"]
-build-backend = "poetry.core.masonry.api"
+requires = ['setuptools']
+build-backend = 'setuptools.build_meta'
 
-[tool.poetry]
+[project]
 name = "beangrow"
 version = '1.0.1'
 description = 'Returns calculations on portfolios in Beancount Resources'
@@ -26,26 +26,24 @@ classifiers = [
     'Programming Language :: SQL',
     'Topic :: Office/Business :: Financial :: Accounting',
 ]
-packages = [
-    { include = "beangrow", from = "." },
+requires-python = '>= 3.10'
+dependencies = [
+    'numpy >= 1.26.4',
+    'pandas >= 2.2.2',
+    'matplotlib >= 3.9.0',
+    'beancount >= 2.3.6',
+    'scipy >= 1.13.1',
+    'beanprice >= 1.2.1',
+    'pandas-stubs >= 2.2.2.240514',
+    'matplotlib-stubs >= 0.2.0',
+    "protobuf >= 5.29.3",
 ]
 
-[tool.poetry.scripts]
+[project.scripts]
 beangrow-returns = "beangrow.compute_returns:main"
 beangrow-prices = "beangrow.download_prices:main"
 beangrow-prices-file = "beangrow.download_prices_from_file:main"
 
-[tool.poetry.dependencies]
-python = ">=3.10"
-numpy = "^1.26.4"
-pandas = "^2.2.2"
-matplotlib = "^3.9.0"
-beancount = "^2.3.6"
-scipy = "^1.13.1"
-beanprice = "^1.2.1"
-pandas-stubs = "^2.2.2.240514"
-matplotlib-stubs = "^0.2.0"
-
 [tool.black]
 line-length = 88