diff --git a/pkgs/development/python-modules/sniffio/default.nix b/pkgs/development/python-modules/sniffio/default.nix new file mode 100644 index 00000000000..9893bc5828a --- /dev/null +++ b/pkgs/development/python-modules/sniffio/default.nix @@ -0,0 +1,30 @@ +{ buildPythonPackage, lib, fetchPypi, glibcLocales, isPy3k, contextvars +, pythonOlder +}: + +buildPythonPackage rec { + pname = "sniffio"; + version = "1.0.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1dzb0nx3m1hpjgsv6s6w5ac2jcmywcz6gqnfkw8rwz1vkr1836rf"; + }; + + # breaks with the following error: + # > TypeError: 'encoding' is an invalid keyword argument for this function + disabled = !isPy3k; + + buildInputs = [ glibcLocales ]; + + propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [ contextvars ]; + + # no tests distributed with PyPI + doCheck = false; + + meta = with lib; { + homepage = https://github.com/python-trio/sniffio; + license = licenses.asl20; + description = "Sniff out which async library your code is running under"; + }; +} diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix index 4924fa527c6..89addb377dc 100644 --- a/pkgs/development/python-modules/trio/default.nix +++ b/pkgs/development/python-modules/trio/default.nix @@ -8,6 +8,7 @@ , pytest , pyopenssl , trustme +, sniffio }: buildPythonPackage rec { @@ -31,6 +32,7 @@ buildPythonPackage rec { async_generator idna outcome + sniffio ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ]; meta = { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 09169463393..2eae6212cd4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -574,6 +574,8 @@ in { trio = callPackage ../development/python-modules/trio {}; + sniffio = callPackage ../development/python-modules/sniffio { }; + tokenserver = callPackage ../development/python-modules/tokenserver {}; toml = callPackage ../development/python-modules/toml { };