summaryrefslogtreecommitdiff
path: root/Omni
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-08-13 13:36:30 -0400
committerBen Sima <ben@bsima.me>2025-08-28 12:14:09 -0400
commit0b005c192b2c141c7f6c9bff4a0702361814c21d (patch)
tree3527a76137f6ee4dd970bba17a93617a311149cb /Omni
parent7de0a3e0abbf1e152423e148d507e17b752a4982 (diff)
Prototype PodcastItLater
This implements a working prototype of PodcastItLater. It basically just works for a single user currently, but the articles are nice to listen to and this is something that we can start to build with.
Diffstat (limited to 'Omni')
-rw-r--r--Omni/Bild.nix1
-rw-r--r--Omni/Bild/Deps.nix2
-rw-r--r--Omni/Bild/Deps/Python.nix10
-rw-r--r--Omni/Bild/Python.nix2
-rw-r--r--Omni/Test.py4
5 files changed, 19 insertions, 0 deletions
diff --git a/Omni/Bild.nix b/Omni/Bild.nix
index 8c10fbe..44902ae 100644
--- a/Omni/Bild.nix
+++ b/Omni/Bild.nix
@@ -117,6 +117,7 @@
deadnix
fd
figlet
+ ffmpeg
fzf
git
git-branchless
diff --git a/Omni/Bild/Deps.nix b/Omni/Bild/Deps.nix
index 806e7b1..0822fb1 100644
--- a/Omni/Bild/Deps.nix
+++ b/Omni/Bild/Deps.nix
@@ -36,6 +36,8 @@ in {
sweph-data = super.callPackage ./Deps/sweph-data.nix {};
+ swtpm = dontCheck super.swtpm;
+
thrift = dontCheck super.thrift;
valkey = dontCheck super.valkey;
diff --git a/Omni/Bild/Deps/Python.nix b/Omni/Bild/Deps/Python.nix
index e7c796d..0f0c409 100644
--- a/Omni/Bild/Deps/Python.nix
+++ b/Omni/Bild/Deps/Python.nix
@@ -1,6 +1,11 @@
[
+ "boto3"
+ "botocore"
"cryptography"
+ "feedgen"
"flask"
+ "httpx"
+ "itsdangerous"
"llm"
"llm-ollama"
"ludic"
@@ -12,10 +17,15 @@
"pydantic-ai"
"pydantic-ai-slim"
"pydantic-graph"
+ "pydub"
+ "pytest"
+ "pytest-asyncio"
+ "pytest-mock"
"requests"
"slixmpp"
"sqids"
"starlette"
+ "trafilatura"
"types-requests"
"uvicorn"
]
diff --git a/Omni/Bild/Python.nix b/Omni/Bild/Python.nix
index f1056b1..ae14ebc 100644
--- a/Omni/Bild/Python.nix
+++ b/Omni/Bild/Python.nix
@@ -37,7 +37,9 @@ _self: super: {
perscache = callPackage ./Deps/perscache.nix {};
pyswisseph = callPackage ./Deps/pyswisseph.nix {};
simple-ascii-tables = callPackage ./Deps/simple-ascii-tables.nix {};
+ sphinx = dontCheck pysuper.sphinx;
tokenizers = dontCheck pysuper.tokenizers;
+ uvloop = dontCheck pysuper.uvloop;
};
};
diff --git a/Omni/Test.py b/Omni/Test.py
index 57270f9..89ef1fa 100644
--- a/Omni/Test.py
+++ b/Omni/Test.py
@@ -9,6 +9,10 @@ import unittest
TestCase = unittest.TestCase
+class TestError(Exception):
+ """When the test environment or harness encounters a problem."""
+
+
def run(area: App.Area, tests: list[typing.Any]) -> None:
"""Run the given tests with loglevel determined by area."""
Log.setup(logging.DEBUG if area == App.Area.Test else logging.ERROR)