summaryrefslogtreecommitdiff
path: root/Biz/Bild/Deps
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2023-08-28 21:05:25 -0400
committerBen Sima <ben@bsima.me>2023-09-20 17:56:12 -0400
commit6e4a65579c3ade76feea0890072099f0d0caf416 (patch)
tree95671321c951134753323978854cece5f7d5435b /Biz/Bild/Deps
parent13added53bbf996ec25a19b734326a6834918279 (diff)
Prototype Mynion
This implements a prototype Mynion, my chatbot which will eventually help me write code here. In fact he's already helping me, and works pretty well over xmpp. The prompt is currently not checked in because I'm experimenting with it a lot, and it should probably be a runtime parameter anyways. In the course of writing this I added some helper libraries to get me going, configured black (didn't even know that was possible), and added 'outlines' and its dependencies even though I didn't end up using it. I'll keep outlines around for now, but I'm not sure how useful it really is because afaict its just pre-defining some stop conditions. But it took a while to get it working so I'll just keep it in for now.
Diffstat (limited to 'Biz/Bild/Deps')
-rw-r--r--Biz/Bild/Deps/interegular.nix26
-rw-r--r--Biz/Bild/Deps/outlines.nix49
-rw-r--r--Biz/Bild/Deps/perscache.nix39
3 files changed, 114 insertions, 0 deletions
diff --git a/Biz/Bild/Deps/interegular.nix b/Biz/Bild/Deps/interegular.nix
new file mode 100644
index 0000000..8b0bc86
--- /dev/null
+++ b/Biz/Bild/Deps/interegular.nix
@@ -0,0 +1,26 @@
+{ lib
+, sources
+, buildPythonPackage
+}:
+
+buildPythonPackage rec {
+ pname = "interegular";
+ version = sources.interegular.rev;
+ format = "setuptools";
+
+ src = sources.interegular;
+
+ propagatedBuildInputs = [ ];
+
+ doCheck = false; # no tests currently
+ pythonImportsCheck = [
+ "interegular"
+ ];
+
+ meta = with lib; {
+ description = "Allows to check regexes for overlaps.";
+ homepage = "https://github.com/MegaIng/interegular";
+ license = licenses.mit;
+ maintainers = with maintainers; [ bsima ];
+ };
+}
diff --git a/Biz/Bild/Deps/outlines.nix b/Biz/Bild/Deps/outlines.nix
new file mode 100644
index 0000000..013581b
--- /dev/null
+++ b/Biz/Bild/Deps/outlines.nix
@@ -0,0 +1,49 @@
+{ lib
+, sources
+, buildPythonPackage
+, interegular
+, jinja2
+, lark
+, numpy
+, perscache
+, pillow
+, pydantic
+, regex
+, scipy
+, tenacity
+, torch
+}:
+
+buildPythonPackage rec {
+ pname = "outlines";
+ version = sources.outlines.rev;
+ format = "pyproject";
+
+ src = sources.outlines;
+
+ propagatedBuildInputs = [
+ interegular
+ jinja2
+ lark
+ numpy
+ perscache
+ pillow
+ pydantic
+ regex
+ scipy
+ tenacity
+ torch
+ ];
+
+ doCheck = false; # no tests currently
+ pythonImportsCheck = [
+ "outlines"
+ ];
+
+ meta = with lib; {
+ description = "Probabilistic Generative Model Programming";
+ homepage = "https://github.com/normal-computing/outlines";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ bsima ];
+ };
+}
diff --git a/Biz/Bild/Deps/perscache.nix b/Biz/Bild/Deps/perscache.nix
new file mode 100644
index 0000000..d757e1a
--- /dev/null
+++ b/Biz/Bild/Deps/perscache.nix
@@ -0,0 +1,39 @@
+{ lib
+, sources
+, buildPythonPackage
+, beartype
+, cloudpickle
+, icontract
+, pbr
+}:
+
+buildPythonPackage rec {
+ pname = "perscache";
+ version = sources.perscache.rev;
+
+ src = sources.perscache;
+
+ propagatedBuildInputs = [
+ beartype
+ cloudpickle
+ icontract
+ pbr
+ ];
+ PBR_VERSION = version;
+
+ doCheck = false; # no tests currently
+ pythonImportsCheck = [
+ "perscache"
+ ];
+
+ meta = with lib; {
+ description = ''
+ An easy to use decorator for persistent memoization: like
+ `functools.lrucache`, but results can be saved in any format to any
+ storage.
+ '';
+ homepage = "https://github.com/leshchenko1979/perscache";
+ license = licenses.mit;
+ maintainers = with maintainers; [ bsima ];
+ };
+}