From 8cbd3c8772ac7bb68accf23934bd167faf93c123 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:14:04 +0200 Subject: [PATCH 1/8] python3.pkgs.apswutils: init at 0.1.2 --- .../python-modules/apswutils/default.nix | 55 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/development/python-modules/apswutils/default.nix diff --git a/pkgs/development/python-modules/apswutils/default.nix b/pkgs/development/python-modules/apswutils/default.nix new file mode 100644 index 000000000000..035a74132ab5 --- /dev/null +++ b/pkgs/development/python-modules/apswutils/default.nix @@ -0,0 +1,55 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + apsw, + fastcore, + + # tests + pytestCheckHook, + hypothesis, +}: + +buildPythonPackage (finalAttrs: { + pname = "apswutils"; + version = "0.1.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "AnswerDotAI"; + repo = "apswutils"; + tag = finalAttrs.version; + hash = "sha256-lqtgjQ4nhmcf52mFeXdFxvd8WNsDDR9PEeWAncBX46g="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + apsw + fastcore + ]; + + nativeCheckInputs = [ + pytestCheckHook + hypothesis + ]; + + pythonImportsCheck = [ + "apswutils" + ]; + + meta = { + description = "A fork of sqlite-minutils for apsw"; + homepage = "https://github.com/AnswerDotAI/apswutils"; + changelog = "https://github.com/AnswerDotAI/apswutils/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = [ ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6b0982194de2..6da6e9d647c9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -880,6 +880,8 @@ self: super: with self; { apsw = callPackage ../development/python-modules/apsw { }; + apswutils = callPackage ../development/python-modules/apswutils { }; + apsystems-ez1 = callPackage ../development/python-modules/apsystems-ez1 { }; apt-repo = callPackage ../development/python-modules/apt-repo { }; From ee78da9d9987c766e88f29d29f46f812ffeb9dfc Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:07:23 +0200 Subject: [PATCH 2/8] python3.pkgs.fastlite: init at 0.2.4 --- .../python-modules/fastlite/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/fastlite/default.nix diff --git a/pkgs/development/python-modules/fastlite/default.nix b/pkgs/development/python-modules/fastlite/default.nix new file mode 100644 index 000000000000..c1c9efde7f3e --- /dev/null +++ b/pkgs/development/python-modules/fastlite/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + fastcore, + apswutils, +}: + +buildPythonPackage (finalAttrs: { + pname = "fastlite"; + version = "0.2.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "AnswerDotAI"; + repo = "fastlite"; + tag = finalAttrs.version; + hash = "sha256-q2eGP/GRWqgbvWOVuLch33VkYbedeDRsxsnN+xsevPI="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + fastcore + apswutils + ]; + + # No tests + doCheck = false; + + pythonImportsCheck = [ + "fastlite" + ]; + + meta = { + description = "A bit of extra usability for sqlite"; + homepage = "https://github.com/AnswerDotAI/fastlite"; + changelog = "https://github.com/AnswerDotAI/fastlite/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = [ ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6da6e9d647c9..82d942b5b971 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5357,6 +5357,8 @@ self: super: with self; { fastjsonschema = callPackage ../development/python-modules/fastjsonschema { }; + fastlite = callPackage ../development/python-modules/fastlite { }; + fastmcp = callPackage ../development/python-modules/fastmcp { }; fastmri = callPackage ../development/python-modules/fastmri { }; From d9c8b1de91e05ed5dfd2a3bd657a1b16c660afc4 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:05:14 +0200 Subject: [PATCH 3/8] python3.pkgs.fasthtml: init at 0.12.47 --- .../python-modules/fasthtml/default.nix | 91 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 93 insertions(+) create mode 100644 pkgs/development/python-modules/fasthtml/default.nix diff --git a/pkgs/development/python-modules/fasthtml/default.nix b/pkgs/development/python-modules/fasthtml/default.nix new file mode 100644 index 000000000000..cc939fda4141 --- /dev/null +++ b/pkgs/development/python-modules/fasthtml/default.nix @@ -0,0 +1,91 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + beautifulsoup4, + fastcore, + fastlite, + httpx, + itsdangerous, + oauthlib, + python-dateutil, + python-multipart, + starlette, + uvicorn, + + # optional-dependencies + ipython, + lxml, + monsterui ? null, # TODO: package + pyjwt, + pysymbol-llm ? null, # TODO: package + + # tests + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "fasthtml"; + version = "0.12.47"; + pyproject = true; + + src = fetchFromGitHub { + owner = "AnswerDotAI"; + repo = "fasthtml"; + tag = finalAttrs.version; + hash = "sha256-dlG6pOVsd9RSmy/rgr7lUANRllND4tZDnsOecsI4bh8="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + beautifulsoup4 + fastcore + fastlite + httpx + itsdangerous + oauthlib + python-dateutil + python-multipart + starlette + uvicorn + ]; + + optional-dependencies = { + dev = [ + ipython + lxml + monsterui + pyjwt + pysymbol-llm + ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # https://github.com/AnswerDotAI/fasthtml/issues/835 + "test_get_toaster_with_typehint" + ]; + + pythonImportsCheck = [ + "fasthtml" + ]; + + meta = { + description = "The fastest way to create an HTML app"; + homepage = "https://github.com/AnswerDotAI/fasthtml"; + changelog = "https://github.com/AnswerDotAI/fasthtml/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = [ ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 82d942b5b971..46f90c876445 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5351,6 +5351,8 @@ self: super: with self; { fastgit = callPackage ../development/python-modules/fastgit { }; + fasthtml = callPackage ../development/python-modules/fasthtml { }; + fastimport = callPackage ../development/python-modules/fastimport { }; fastjet = callPackage ../development/python-modules/fastjet { }; From 09ad5a0416ab234d8bd7799e857dd955f14de988 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:34:09 +0200 Subject: [PATCH 4/8] python3.pkgs.fastprogress: fix build with missing deps --- pkgs/development/python-modules/fastprogress/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index ef9251a2608a..b807a51cefd4 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -5,6 +5,8 @@ setuptools, fastcore, numpy, + fasthtml, + ipython, }: buildPythonPackage rec { @@ -22,6 +24,8 @@ buildPythonPackage rec { dependencies = [ fastcore numpy + fasthtml + ipython ]; # no real tests From dba3b4acc97f0bb5e19144284ac7b2b4c71ad77d Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:29:34 +0200 Subject: [PATCH 5/8] python3.pkgs.fastprogress: use finalAttrs pattern --- pkgs/development/python-modules/fastprogress/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index b807a51cefd4..91d0e80a5599 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -9,13 +9,13 @@ ipython, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fastprogress"; version = "1.1.3"; pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-L3Bxvrk84mHdtR1mskOoUXtCFWOgEHSY5Yhe0tkTb8o="; }; @@ -38,4 +38,4 @@ buildPythonPackage rec { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ris ]; }; -} +}) From 6941128b3cfb0355f0362deb59825fb77cc560d5 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:31:04 +0200 Subject: [PATCH 6/8] python3.pkgs.fastprogress: add meta.changelog --- pkgs/development/python-modules/fastprogress/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index 91d0e80a5599..19e1a4849587 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -34,6 +34,7 @@ buildPythonPackage (finalAttrs: { meta = { homepage = "https://github.com/fastai/fastprogress"; + changelog = "https://github.com/AnswerDotAI/fastprogress/blob/${finalAttrs.version}/CHANGELOG.md"; description = "Simple and flexible progress bar for Jupyter Notebook and console"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ris ]; From c8e7483733119d88b13714df921250d141f558dd Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:32:59 +0200 Subject: [PATCH 7/8] python3.pkgs.fastprogress: switch to fetchFromGitHub --- .../python-modules/fastprogress/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index 19e1a4849587..a29b8964c246 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, setuptools, fastcore, numpy, @@ -14,9 +14,11 @@ buildPythonPackage (finalAttrs: { version = "1.1.3"; pyproject = true; - src = fetchPypi { - inherit (finalAttrs) pname version; - hash = "sha256-L3Bxvrk84mHdtR1mskOoUXtCFWOgEHSY5Yhe0tkTb8o="; + src = fetchFromGitHub { + owner = "fastai"; + repo = "fastprogress"; + tag = finalAttrs.version; + hash = "sha256-hP61+gbETHlkQMy0KMAW5uGPyo2Kga/yJ5u9LvA+lgs="; }; build-system = [ setuptools ]; @@ -34,7 +36,7 @@ buildPythonPackage (finalAttrs: { meta = { homepage = "https://github.com/fastai/fastprogress"; - changelog = "https://github.com/AnswerDotAI/fastprogress/blob/${finalAttrs.version}/CHANGELOG.md"; + changelog = "https://github.com/AnswerDotAI/fastprogress/blob/${finalAttrs.src.tag}/CHANGELOG.md"; description = "Simple and flexible progress bar for Jupyter Notebook and console"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ris ]; From 24a0742d2f293513a78226c23ae77a49455d1ce2 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 23 Feb 2026 00:34:33 +0200 Subject: [PATCH 8/8] python3.pkgs.fastprogress: 1.1.3 -> 1.1.5 Diff: https://github.com/fastai/fastprogress/compare/1.1.3...1.1.5 Changelog: https://github.com/AnswerDotAI/fastprogress/blob/1.1.5/CHANGELOG.md --- pkgs/development/python-modules/fastprogress/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index a29b8964c246..25d21494eb0a 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -11,14 +11,14 @@ buildPythonPackage (finalAttrs: { pname = "fastprogress"; - version = "1.1.3"; + version = "1.1.5"; pyproject = true; src = fetchFromGitHub { owner = "fastai"; repo = "fastprogress"; tag = finalAttrs.version; - hash = "sha256-hP61+gbETHlkQMy0KMAW5uGPyo2Kga/yJ5u9LvA+lgs="; + hash = "sha256-n4FwOgxYn2JWlF8VwtO7m7mOXg1l27lT/3Rd+GeDlvw="; }; build-system = [ setuptools ];