Unverified Commit 78066a57 authored by squat's avatar squat
Browse files

python3Packages.uncalled-for: init at 0.3.1

uncalled-for is an async dependency injection for Python functions.

This introduces a new Python3 package called uncalled-for:
https://github.com/chrisguidry/uncalled-for. This library is not
especially popular but it is a dependency of fastmcp
(https://github.com/prefecthq/fastmcp) v3. [Nixpkgs is still on fastmcp
v2](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/fastmcp/default.nix#L48)
and cannot be updated to the v3 major version until this dependecy is
added to nixpkgs.
parent 4eb3c802
Loading
Loading
Loading
Loading
+52 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,

  # build-system
  hatch-vcs,
  hatchling,

  # tests
  pytest-asyncio,
  pytest-cov-stub,
  pytest-timeout,
  pytestCheckHook,
}:

buildPythonPackage (finalAttrs: {
  pname = "uncalled-for";
  version = "0.3.1";
  pyproject = true;

  __structuredAttrs = true;

  src = fetchFromGitHub {
    owner = "chrisguidry";
    repo = "uncalled-for";
    tag = finalAttrs.version;
    hash = "sha256-+akXLsfto3FNbkpsPPwN1DQmvu3BpTafRbqLmLwtqek=";
  };

  build-system = [
    hatch-vcs
    hatchling
  ];

  pythonImportsCheck = [ "uncalled_for" ];

  nativeCheckInputs = [
    pytest-asyncio
    pytest-cov-stub
    pytest-timeout
    pytestCheckHook
  ];

  meta = {
    description = "Async dependency injection for Python functions";
    homepage = "https://github.com/chrisguidry/uncalled-for";
    changelog = "https://github.com/chrisguidry/uncalled-for/releases/tag/${finalAttrs.src.tag}";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ squat ];
  };
})
+2 −0
Original line number Diff line number Diff line
@@ -20511,6 +20511,8 @@ self: super: with self; {
  unasync = callPackage ../development/python-modules/unasync { };
  uncalled-for = callPackage ../development/python-modules/uncalled-for { };
  uncertainties = callPackage ../development/python-modules/uncertainties { };
  uncompresspy = callPackage ../development/python-modules/uncompresspy { };