diff --git a/pygitweb/api/__init__.py b/pygitweb/api/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/pygitweb/api/__init__.py
diff --git a/pygitweb/api/plugins/__init__.py b/pygitweb/api/plugins/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/pygitweb/api/plugins/__init__.py
diff --git a/pygitweb/pyproject.toml b/pygitweb/pyproject.toml
index b413fb5..f950e82 100644
--- a/pygitweb/pyproject.toml
+++ b/pygitweb/pyproject.toml
@@ -22,7 +22,7 @@ dependencies = [
 ]
 
 [tool.setuptools]
-packages = ["pygitweb"]
+packages = ["pygitweb", "pygitweb.api", "pygitweb.api.plugins"]
 
 [tool.setuptools.package-dir]
 pygitweb = "."
diff --git a/uv.lock b/uv.lock
index b6cdf25..14c8a04 100644
--- a/uv.lock
+++ b/uv.lock
@@ -951,6 +951,7 @@ version = "0.1.0"
 source = { editable = "pygitweb" }
 dependencies = [
     { name = "fastapi", extra = ["standard-no-fastapi-cloud-cli"] },
+    { name = "httpx" },
     { name = "jinja2" },
     { name = "orjson" },
     { name = "pydantic-settings" },
@@ -964,6 +965,7 @@ dependencies = [
 [package.metadata]
 requires-dist = [
     { name = "fastapi", extras = ["standard-no-fastapi-cloud-cli"], specifier = ">=0.104.0" },
+    { name = "httpx", specifier = ">=0.27.0" },
     { name = "jinja2", specifier = ">=3.1.0" },
     { name = "orjson", specifier = ">=0.19.0" },
     { name = "pydantic-settings", specifier = ">=2.13.0" },
