diff --git a/pkgs/development/python-modules/asyncstdlib-fw/default.nix b/pkgs/development/python-modules/asyncstdlib-fw/default.nix deleted file mode 100644 index 2ffad097191a..000000000000 --- a/pkgs/development/python-modules/asyncstdlib-fw/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - - # build-system - pdm-backend, -}: - -buildPythonPackage rec { - pname = "asyncstdlib-fw"; - version = "3.13.2"; - pyproject = true; - - # Not available from any repo - src = fetchPypi { - pname = "asyncstdlib_fw"; - inherit version; - hash = "sha256-Ua0JTCBMWTbDBA84wy/W1UmzkcmA8h8foJW2X7aAah8="; - }; - - build-system = [ - pdm-backend - ]; - - doCheck = false; # no tests supplied - - pythonImportsCheck = [ - "asyncstdlib" - ]; - - meta = { - description = "Fork of asyncstdlib that work with fireworks-ai"; - homepage = "https://pypi.org/project/asyncstdlib-fw/"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ sarahec ]; - }; -} diff --git a/pkgs/development/python-modules/betterproto-fw/default.nix b/pkgs/development/python-modules/betterproto-fw/default.nix deleted file mode 100644 index 979710d92747..000000000000 --- a/pkgs/development/python-modules/betterproto-fw/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - - # build-system - pdm-backend, - - # dependencies - grpclib, - python-dateutil, - typing-extensions, - - # optional dependencies - jinja2, - ruff, - betterproto-rust-codec, -}: - -buildPythonPackage rec { - pname = "betterproto-fw"; - version = "2.0.3"; - pyproject = true; - - # Not available on Github - src = fetchPypi { - pname = "betterproto_fw"; - inherit version; - hash = "sha256-ut5GchUiTygHhC2hj+gSWKCoVnZrrV8KIKFHTFzba5M="; - }; - - build-system = [ - pdm-backend - ]; - - dependencies = [ - grpclib - python-dateutil - typing-extensions - ]; - - optional-dependencies = { - compiler = [ - jinja2 - ruff - ]; - rust-codec = [ - betterproto-rust-codec - ]; - }; - - doCheck = false; # no tests supplied - - pythonImportsCheck = [ - "betterproto" - ]; - - meta = { - description = "Fork of betterproto used in fireworks-ai"; - homepage = "https://pypi.org/project/betterproto-fw/"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.sarahec ]; - }; -} diff --git a/pkgs/development/python-modules/fireworks-ai/default.nix b/pkgs/development/python-modules/fireworks-ai/default.nix index 9fcd5105dfe8..d6df722bb5b7 100644 --- a/pkgs/development/python-modules/fireworks-ai/default.nix +++ b/pkgs/development/python-modules/fireworks-ai/default.nix @@ -1,107 +1,109 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, # build-system - pdm-backend, + hatchling, + hatch-fancy-pypi-readme, # dependencies - asyncstdlib-fw, - betterproto-fw, - googleapis-common-protos, - grpcio, - grpclib, - httpx-sse, - httpx-ws, httpx, - mmh3, - openai, - pillow, - protobuf, pydantic, - python-dateutil, - rich, - toml, typing-extensions, + anyio, + distro, + sniffio, + aiohttp, + httpx-aiohttp, # optional dependencies - fastapi, - gitignore-parser, - openapi-spec-validator, - prance, - safetensors, - tabulate, + datasets, + numpy, + requests, + tiktoken, + # tinker -- not packaged yet torch, - tqdm, + transformers, + wandb, + + # tests + dirty-equals, + pytest-asyncio, + pytestCheckHook, + respx, + time-machine, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fireworks-ai"; - version = "0.19.20"; + version = "1.2.0-alpha.71"; pyproject = true; + __structuredAttrs = true; + strictDeps = true; - # no source available - src = fetchPypi { - pname = "fireworks_ai"; - inherit version; - hash = "sha256-zK8lO+vFnMEPPl79QGfqPdemZT7kQdCqAPiCrcXdqYQ="; + src = fetchFromGitHub { + owner = "fw-ai-external"; + repo = "python-sdk"; + tag = "v${finalAttrs.version}"; + hash = "sha256-N5JjcYa3dRh1JTRjOIDpC8wykYzdj1rrMcU49UvWF7w="; }; - build-system = [ - pdm-backend - ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "hatchling==1.26.3" "hatchling>=1.26.3" + ''; - pythonRelaxDeps = [ - "attrs" - "protobuf" + build-system = [ + hatchling + hatch-fancy-pypi-readme ]; dependencies = [ - asyncstdlib-fw - betterproto-fw - googleapis-common-protos - grpcio - grpclib + aiohttp + anyio + distro httpx - httpx - httpx-sse - httpx-ws - mmh3 - openai - pillow - protobuf + httpx-aiohttp pydantic - python-dateutil - rich - toml + sniffio typing-extensions ]; optional-dependencies = { - flumina = [ - fastapi - gitignore-parser - openapi-spec-validator - prance - safetensors - tabulate - torch - tqdm + training-sdk = [ + # tinker is not available in nixpkgs + requests ]; + training = [ + datasets + numpy + tiktoken + torch + transformers + wandb + ] + ++ finalAttrs.passthru.optional-dependencies.training-sdk; }; - # no tests available - doCheck = false; + nativeCheckInputs = [ + dirty-equals + pytest-asyncio + pytestCheckHook + respx + time-machine + ] + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; pythonImportsCheck = [ "fireworks" ]; meta = { - description = "Client library for the Fireworks.ai platform"; - homepage = "https://pypi.org/project/fireworks-ai/"; + description = "Client library for Fireworks.ai"; + homepage = "https://github.com/fw-ai-external/python-sdk"; + changelog = "https://github.com/fw-ai-external/python-sdk/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-fireworks/default.nix b/pkgs/development/python-modules/langchain-fireworks/default.nix index 58a837f00b58..078a77568031 100644 --- a/pkgs/development/python-modules/langchain-fireworks/default.nix +++ b/pkgs/development/python-modules/langchain-fireworks/default.nix @@ -22,19 +22,21 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-fireworks"; - version = "1.3.1"; + version = "1.4.2"; pyproject = true; + __structuredAttrs = true; + strictDeps = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-fireworks==${version}"; - hash = "sha256-ladhHikzzLOf8mz98c+vawoSCTKBAx2XcQPtzMePr2A="; + tag = "langchain-fireworks==${finalAttrs.version}"; + hash = "sha256-d0Pd44/+YX+eOZ9a5P3V9cBASTEW/vvLUv5Kt5nWI8w="; }; - sourceRoot = "${src.name}/libs/partners/fireworks"; + sourceRoot = "${finalAttrs.src.name}/libs/partners/fireworks"; build-system = [ hatchling ]; @@ -47,8 +49,7 @@ buildPythonPackage rec { ]; pythonRelaxDeps = [ - # Each component release requests the exact latest core. - # That prevents us from updating individual components. + "fireworks-ai" "langchain-core" ]; @@ -76,7 +77,7 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}"; description = "Build LangChain applications with Fireworks"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/fireworks"; license = lib.licenses.mit; @@ -84,4 +85,4 @@ buildPythonPackage rec { sarahec ]; }; -} +}) diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 1a4d9b53fafa..a7d277f88617 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -96,6 +96,7 @@ mapAliases { async_generator = throw "'async_generator' has been renamed to/replaced by 'async-generator'"; # Converted to throw 2025-10-29 async_stagger = throw "'async_stagger' has been renamed to/replaced by 'async-stagger'"; # Converted to throw 2025-10-29 asyncio-nats-client = throw "'asyncio-nats-client' has been renamed to/replaced by 'nats-py'"; # Converted to throw 2025-10-29 + asyncstdlib-fw = throw "'asyncstdlib-fw' has been removed as it is not longer required by fireworks-ai"; # Added 2026-06-09 atsim_potentials = throw "'atsim_potentials' has been renamed to/replaced by 'atsim-potentials'"; # Converted to throw 2025-10-29 aubio = throw "'aubio' only direct user LedFX switched to a fork named 'aubio-ledfx', hence the aubio package has been replaced."; # Added 2026-04-20 audio-metadata = throw "'audio-metadata' has been removed as it's unmaintained since 2020"; # Added 2026-03-12 @@ -111,6 +112,7 @@ mapAliases { beancount_docverif = throw "'beancount_docverif' has been renamed to/replaced by 'beancount-docverif'"; # Converted to throw 2025-10-29 beets-stable = lib.warn "beets-stable was aliased to beets, since upstream releases are frequent nowadays" self.beets; # added 2025-10-16 beets-unstable = lib.warn "beets-unstable was aliased to beets, since upstream releases are frequent nowadays" self.beets; # added 2025-10-16 + betterproto-fw = throw "'betterproto-fw' has been removed as it is not longer required by fireworks-ai"; # Added 2026-06-09 bimmer-connected = throw "'bimmer-connected' was removed because BMW started blocking third parties"; # added 2026-03-30 bip_utils = throw "'bip_utils' has been renamed to/replaced by 'bip-utils'"; # Converted to throw 2025-10-29 bjoern = throw "'bjoern' has been removed, as the upstream repository was unmaintained and it was using libraries with severe security issues."; # Added 2025-09-01 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b25fc5e08b17..e82b1fc240a6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1180,8 +1180,6 @@ self: super: with self; { asyncstdlib = callPackage ../development/python-modules/asyncstdlib { }; - asyncstdlib-fw = callPackage ../development/python-modules/asyncstdlib-fw { }; - asynctest = callPackage ../development/python-modules/asynctest { }; asyncua = callPackage ../development/python-modules/asyncua { }; @@ -2032,8 +2030,6 @@ self: super: with self; { betterproto = callPackage ../development/python-modules/betterproto { }; - betterproto-fw = callPackage ../development/python-modules/betterproto-fw { }; - betterproto-rust-codec = callPackage ../development/python-modules/betterproto-rust-codec { }; bezier = callPackage ../development/python-modules/bezier { };