diff --git a/pkgs/development/python-modules/apswutils/default.nix b/pkgs/development/python-modules/apswutils/default.nix new file mode 100644 index 0000000000000..035a74132ab51 --- /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/development/python-modules/fasthtml/default.nix b/pkgs/development/python-modules/fasthtml/default.nix new file mode 100644 index 0000000000000..cc939fda41410 --- /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/development/python-modules/fastlite/default.nix b/pkgs/development/python-modules/fastlite/default.nix new file mode 100644 index 0000000000000..c1c9efde7f3e3 --- /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/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index ef9251a2608a1..25d21494eb0a3 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -1,20 +1,24 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, setuptools, fastcore, numpy, + fasthtml, + ipython, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fastprogress"; - version = "1.1.3"; + version = "1.1.5"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-L3Bxvrk84mHdtR1mskOoUXtCFWOgEHSY5Yhe0tkTb8o="; + src = fetchFromGitHub { + owner = "fastai"; + repo = "fastprogress"; + tag = finalAttrs.version; + hash = "sha256-n4FwOgxYn2JWlF8VwtO7m7mOXg1l27lT/3Rd+GeDlvw="; }; build-system = [ setuptools ]; @@ -22,6 +26,8 @@ buildPythonPackage rec { dependencies = [ fastcore numpy + fasthtml + ipython ]; # no real tests @@ -30,8 +36,9 @@ buildPythonPackage rec { meta = { homepage = "https://github.com/fastai/fastprogress"; + 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 ]; }; -} +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6b0982194de26..46f90c8764454 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 { }; @@ -5349,12 +5351,16 @@ 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 { }; fastjsonschema = callPackage ../development/python-modules/fastjsonschema { }; + fastlite = callPackage ../development/python-modules/fastlite { }; + fastmcp = callPackage ../development/python-modules/fastmcp { }; fastmri = callPackage ../development/python-modules/fastmri { };