From e91dcd07b8eed169cd345fa60dc0113b0da3b6a6 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 30 Aug 2026 20:03:49 +0000 Subject: [PATCH 1/2] restructure repository into monorepo layout Co-authored-by: ClausValcaTD <193546948+ClausValcaTD@users.noreply.github.com> --- {backend => apps/backend}/Dockerfile | 0 {backend => apps/backend}/main.py | 0 {backend => apps/backend}/requirements.txt | 0 apps/bot/prodl_bot/__init__.py | 0 apps/bot/pyproject.toml | 12 ++++++++++++ apps/cli/prodl_cli/__init__.py | 0 apps/cli/pyproject.toml | 16 ++++++++++++++++ {frontend => apps/frontend}/index.html | 0 apps/tui/prodl_tui/__init__.py | 0 apps/tui/pyproject.toml | 15 +++++++++++++++ docker-compose.yml | 4 ++-- packages/prodl-core/prodl_core/__init__.py | 0 packages/prodl-core/prodl_core/downloader.py | 0 packages/prodl-core/prodl_core/models.py | 0 packages/prodl-core/prodl_core/sponsorblock.py | 0 packages/prodl-core/prodl_core/subtitles.py | 0 packages/prodl-core/prodl_core/thumbnail.py | 0 packages/prodl-core/pyproject.toml | 14 ++++++++++++++ 18 files changed, 59 insertions(+), 2 deletions(-) rename {backend => apps/backend}/Dockerfile (100%) rename {backend => apps/backend}/main.py (100%) rename {backend => apps/backend}/requirements.txt (100%) create mode 100644 apps/bot/prodl_bot/__init__.py create mode 100644 apps/bot/pyproject.toml create mode 100644 apps/cli/prodl_cli/__init__.py create mode 100644 apps/cli/pyproject.toml rename {frontend => apps/frontend}/index.html (100%) create mode 100644 apps/tui/prodl_tui/__init__.py create mode 100644 apps/tui/pyproject.toml create mode 100644 packages/prodl-core/prodl_core/__init__.py create mode 100644 packages/prodl-core/prodl_core/downloader.py create mode 100644 packages/prodl-core/prodl_core/models.py create mode 100644 packages/prodl-core/prodl_core/sponsorblock.py create mode 100644 packages/prodl-core/prodl_core/subtitles.py create mode 100644 packages/prodl-core/prodl_core/thumbnail.py create mode 100644 packages/prodl-core/pyproject.toml diff --git a/backend/Dockerfile b/apps/backend/Dockerfile similarity index 100% rename from backend/Dockerfile rename to apps/backend/Dockerfile diff --git a/backend/main.py b/apps/backend/main.py similarity index 100% rename from backend/main.py rename to apps/backend/main.py diff --git a/backend/requirements.txt b/apps/backend/requirements.txt similarity index 100% rename from backend/requirements.txt rename to apps/backend/requirements.txt diff --git a/apps/bot/prodl_bot/__init__.py b/apps/bot/prodl_bot/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/bot/pyproject.toml b/apps/bot/pyproject.toml new file mode 100644 index 0000000..fedce11 --- /dev/null +++ b/apps/bot/pyproject.toml @@ -0,0 +1,12 @@ +[project] +name = "prodl-bot" +version = "0.1.0" +requires-python = ">=3.12" +dependencies = [ + "prodl-core", + "python-telegram-bot>=21.0", +] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/apps/cli/prodl_cli/__init__.py b/apps/cli/prodl_cli/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/cli/pyproject.toml b/apps/cli/pyproject.toml new file mode 100644 index 0000000..28efc5f --- /dev/null +++ b/apps/cli/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "prodl-cli" +version = "0.1.0" +requires-python = ">=3.12" +dependencies = [ + "prodl-core", + "typer>=0.12.0", + "rich>=13.0", +] + +[project.scripts] +prodl = "prodl_cli:app" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/frontend/index.html b/apps/frontend/index.html similarity index 100% rename from frontend/index.html rename to apps/frontend/index.html diff --git a/apps/tui/prodl_tui/__init__.py b/apps/tui/prodl_tui/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/tui/pyproject.toml b/apps/tui/pyproject.toml new file mode 100644 index 0000000..46fd84c --- /dev/null +++ b/apps/tui/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "prodl-tui" +version = "0.1.0" +requires-python = ">=3.12" +dependencies = [ + "prodl-core", + "textual>=0.70.0", +] + +[project.scripts] +prodl-tui = "prodl_tui:main" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/docker-compose.yml b/docker-compose.yml index c2a0157..8caa25c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.9' services: backend: - build: ./backend + build: ./apps/backend ports: - "8000:8000" volumes: @@ -14,7 +14,7 @@ services: ports: - "3000:80" volumes: - - ./frontend:/usr/share/nginx/html:ro + - ./apps/frontend:/usr/share/nginx/html:ro depends_on: - backend restart: unless-stopped diff --git a/packages/prodl-core/prodl_core/__init__.py b/packages/prodl-core/prodl_core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/packages/prodl-core/prodl_core/downloader.py b/packages/prodl-core/prodl_core/downloader.py new file mode 100644 index 0000000..e69de29 diff --git a/packages/prodl-core/prodl_core/models.py b/packages/prodl-core/prodl_core/models.py new file mode 100644 index 0000000..e69de29 diff --git a/packages/prodl-core/prodl_core/sponsorblock.py b/packages/prodl-core/prodl_core/sponsorblock.py new file mode 100644 index 0000000..e69de29 diff --git a/packages/prodl-core/prodl_core/subtitles.py b/packages/prodl-core/prodl_core/subtitles.py new file mode 100644 index 0000000..e69de29 diff --git a/packages/prodl-core/prodl_core/thumbnail.py b/packages/prodl-core/prodl_core/thumbnail.py new file mode 100644 index 0000000..e69de29 diff --git a/packages/prodl-core/pyproject.toml b/packages/prodl-core/pyproject.toml new file mode 100644 index 0000000..74f057b --- /dev/null +++ b/packages/prodl-core/pyproject.toml @@ -0,0 +1,14 @@ +[project] +name = "prodl-core" +version = "0.1.0" +requires-python = ">=3.12" +dependencies = [ + "yt-dlp>=2024.1.1", + "httpx>=0.27.0", + "pydantic>=2.0", + "aiofiles>=23.0", +] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" From ab0af8e3a6d4d9283f1d8eb673c4c0fa5173e9a4 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 30 Aug 2026 20:08:08 +0000 Subject: [PATCH 2/2] fix docker build path in CI workflow Co-authored-by: ClausValcaTD <193546948+ClausValcaTD@users.noreply.github.com> --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b0cefe..e75b2f6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,4 +12,4 @@ jobs: steps: - uses: actions/checkout@v4 - name: Build Docker image - run: docker build ./backend -t prodl-backend + run: docker build ./apps/backend -t prodl-backend