kryten-webqueue 0.9.0__tar.gz → 0.9.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/CHANGELOG.md +6 -0
  2. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/PKG-INFO +5 -6
  3. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/pyproject.toml +5 -7
  4. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/.github/workflows/python-publish.yml +0 -0
  5. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/.github/workflows/release.yml +0 -0
  6. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/.gitignore +0 -0
  7. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/README.md +0 -0
  8. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/config.example.json +0 -0
  9. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/deploy/kryten-webqueue.service +0 -0
  10. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/deploy/nginx-queue.conf +0 -0
  11. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/IMPLEMENTATION_SPEC.md +0 -0
  12. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/IMPL_API_GATE.md +0 -0
  13. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/IMPL_ECONOMY.md +0 -0
  14. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/IMPL_KRYTEN_PY.md +0 -0
  15. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/IMPL_ROBOT.md +0 -0
  16. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/PRE_PLAN_GAPS.md +0 -0
  17. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/PRODUCT_PLAN.md +0 -0
  18. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/docs/SPEC_JOBS_AND_BROWSE.md +0 -0
  19. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/__init__.py +0 -0
  20. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/__main__.py +0 -0
  21. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/api_gate/__init__.py +0 -0
  22. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/api_gate/client.py +0 -0
  23. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/app.py +0 -0
  24. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/auth/__init__.py +0 -0
  25. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/auth/otp.py +0 -0
  26. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/auth/rate_limit.py +0 -0
  27. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/auth/session.py +0 -0
  28. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/catalog/__init__.py +0 -0
  29. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/catalog/db.py +0 -0
  30. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/catalog/images.py +0 -0
  31. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/catalog/mediacms.py +0 -0
  32. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/catalog/sync.py +0 -0
  33. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/config.py +0 -0
  34. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/__init__.py +0 -0
  35. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/cmsutils/__init__.py +0 -0
  36. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/cmsutils/_common.py +0 -0
  37. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/cmsutils/enrichmeta.py +0 -0
  38. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/cmsutils/enrichtitles.py +0 -0
  39. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/cmsutils/enrichtv.py +0 -0
  40. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/cmsutils/fetchurls.py +0 -0
  41. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/ytpipe/__init__.py +0 -0
  42. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/integrations/ytpipe/downloader.py +0 -0
  43. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/jobs/__init__.py +0 -0
  44. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/jobs/manager.py +0 -0
  45. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/jobs/tasks.py +0 -0
  46. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/playlists/__init__.py +0 -0
  47. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/playlists/fire.py +0 -0
  48. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/playlists/importer.py +0 -0
  49. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/playlists/scheduler.py +0 -0
  50. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/queue/__init__.py +0 -0
  51. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/queue/ordering.py +0 -0
  52. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/queue/poller.py +0 -0
  53. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/queue/shadow.py +0 -0
  54. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/__init__.py +0 -0
  55. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/admin_catalog.py +0 -0
  56. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/admin_jobs.py +0 -0
  57. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/admin_playlists.py +0 -0
  58. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/admin_queue.py +0 -0
  59. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/admin_schedules.py +0 -0
  60. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/auth.py +0 -0
  61. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/catalog.py +0 -0
  62. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/pages.py +0 -0
  63. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/queue.py +0 -0
  64. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/routes/user.py +0 -0
  65. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/static/css/main.css +0 -0
  66. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/static/js/main.js +0 -0
  67. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/admin/index.html +0 -0
  68. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/admin/playlists.html +0 -0
  69. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/admin/queue_mgmt.html +0 -0
  70. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/admin/schedules.html +0 -0
  71. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/auth/login.html +0 -0
  72. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/base.html +0 -0
  73. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/catalog/browse.html +0 -0
  74. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/catalog/item_detail.html +0 -0
  75. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/catalog/item_not_found.html +0 -0
  76. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/queue/index.html +0 -0
  77. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/templates/user/dashboard.html +0 -0
  78. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/ws/__init__.py +0 -0
  79. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/ws/handler.py +0 -0
  80. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/kryten_webqueue/ws/manager.py +0 -0
  81. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/tests/__init__.py +0 -0
  82. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/tests/test_phase1.py +0 -0
  83. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/tests/test_phase2_jobs.py +0 -0
  84. {kryten_webqueue-0.9.0 → kryten_webqueue-0.9.1}/tests/test_phase3_jobs.py +0 -0
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+ ## [Unreleased]
8
+
9
+ ### Fixed
10
+
11
+ - Moved `requests`, `openpyxl`, `pyyaml`, and `yt-dlp` from the optional `[jobs]` extra into core dependencies; the `jobs` extra is removed. This fixes installation under `pipx` and other tools that do not support `package[extra]` syntax.
12
+
7
13
  ## [0.9.0] — 2026-06-09
8
14
 
9
15
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kryten-webqueue
3
- Version: 0.9.0
3
+ Version: 0.9.1
4
4
  Summary: Netflix/Tubi-style catalog browser and pay-to-play queue management for CyTube
5
5
  Author: grobertson
6
6
  License-Expression: MIT
@@ -10,12 +10,16 @@ Requires-Dist: apscheduler>=3.10
10
10
  Requires-Dist: fastapi>=0.115
11
11
  Requires-Dist: httpx>=0.27
12
12
  Requires-Dist: jinja2>=3.1
13
+ Requires-Dist: openpyxl>=3.1
13
14
  Requires-Dist: pillow>=10.0
14
15
  Requires-Dist: pydantic>=2.0
15
16
  Requires-Dist: pyjwt>=2.8
16
17
  Requires-Dist: python-dateutil>=2.8
18
+ Requires-Dist: pyyaml>=6.0
19
+ Requires-Dist: requests>=2.31
17
20
  Requires-Dist: uvicorn[standard]>=0.30
18
21
  Requires-Dist: websockets>=12.0
22
+ Requires-Dist: yt-dlp>=2024.1
19
23
  Provides-Extra: dev
20
24
  Requires-Dist: black>=24.0; extra == 'dev'
21
25
  Requires-Dist: httpx; extra == 'dev'
@@ -23,11 +27,6 @@ Requires-Dist: mypy>=1.10; extra == 'dev'
23
27
  Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
24
28
  Requires-Dist: pytest>=8.0; extra == 'dev'
25
29
  Requires-Dist: ruff>=0.4; extra == 'dev'
26
- Provides-Extra: jobs
27
- Requires-Dist: openpyxl>=3.1; extra == 'jobs'
28
- Requires-Dist: pyyaml>=6.0; extra == 'jobs'
29
- Requires-Dist: requests>=2.31; extra == 'jobs'
30
- Requires-Dist: yt-dlp>=2024.1; extra == 'jobs'
31
30
  Description-Content-Type: text/markdown
32
31
 
33
32
  # kryten-webqueue
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kryten-webqueue"
3
- version = "0.9.0"
3
+ version = "0.9.1"
4
4
  description = "Netflix/Tubi-style catalog browser and pay-to-play queue management for CyTube"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -20,6 +20,10 @@ dependencies = [
20
20
  "websockets>=12.0",
21
21
  "pydantic>=2.0",
22
22
  "python-dateutil>=2.8",
23
+ "yt-dlp>=2024.1",
24
+ "openpyxl>=3.1",
25
+ "requests>=2.31",
26
+ "pyyaml>=6.0",
23
27
  ]
24
28
 
25
29
  [project.optional-dependencies]
@@ -31,12 +35,6 @@ dev = [
31
35
  "ruff>=0.4",
32
36
  "mypy>=1.10",
33
37
  ]
34
- jobs = [
35
- "yt-dlp>=2024.1",
36
- "openpyxl>=3.1",
37
- "requests>=2.31",
38
- "pyyaml>=6.0",
39
- ]
40
38
 
41
39
  [project.scripts]
42
40
  kryten-webqueue = "kryten_webqueue.__main__:main"