diff --git a/pkgs/development/python-modules/bilibili-api-python/default.nix b/pkgs/development/python-modules/bilibili-api-python/default.nix new file mode 100644 index 000000000000..259c912438c4 --- /dev/null +++ b/pkgs/development/python-modules/bilibili-api-python/default.nix @@ -0,0 +1,76 @@ +{ + aiohttp, + apscheduler, + beautifulsoup4, + brotli, + buildPythonPackage, + colorama, + fetchPypi, + httpx, + lib, + lxml, + pillow, + pycryptodomex, + pyyaml, + qrcode, + qrcode-terminal, + requests, + rsa, + setuptools, + setuptools-scm, + tqdm, + yarl, +}: +buildPythonPackage rec { + pname = "bilibili-api-python"; + version = "16.2.0"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-ecv9lzp2L13seBosahgnglaZP8YZCD/13nlTPP8LCs0="; + }; + + postPatch = '' + # The upstream uses requirements.txt, which overly strict version constraints. + substituteInPlace requirements.txt \ + --replace-fail "~=" ">=" + ''; + + build-system = [ + setuptools-scm + setuptools + ]; + + dependencies = [ + aiohttp + beautifulsoup4 + colorama + lxml + pyyaml + brotli + httpx + qrcode + requests + apscheduler + rsa + pillow + tqdm + yarl + pycryptodomex + qrcode-terminal + ]; + + # tests require network + doCheck = false; + + pythonImportsCheck = [ "bilibili_api" ]; + + meta = { + changelog = "https://github.com/Nemo2011/bilibili-api/releases/tag/${version}"; + description = "A python module providing convenient integration for various Bilibili API along with some additional common features"; + homepage = "https://nemo2011.github.io/bilibili-api"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ moraxyc ]; + }; +} diff --git a/pkgs/development/python-modules/qrcode-terminal/default.nix b/pkgs/development/python-modules/qrcode-terminal/default.nix new file mode 100644 index 000000000000..2ec58510c707 --- /dev/null +++ b/pkgs/development/python-modules/qrcode-terminal/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + qrcode, + pillow, +}: +buildPythonPackage rec { + pname = "qrcode-terminal"; + version = "0.8"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-Hitp5mK5NG6Y3ZWYMDPp1Dz/BkPYr9oSYF9RVCjmZsA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + qrcode + pillow + ]; + + # have no test + doCheck = false; + + pythonImportsCheck = [ "qrcode_terminal" ]; + + meta = { + description = "Display QRCode in Terminal"; + homepage = "https://github.com/alishtory/qrcode-terminal"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ moraxyc ]; + mainProgram = "qrcode-terminal-py"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5b6c2e88d5c5..abd5218c0c7a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1525,6 +1525,8 @@ self: super: with self; { biliass = callPackage ../development/python-modules/biliass { }; + bilibili-api-python = callPackage ../development/python-modules/bilibili-api-python { }; + billiard = callPackage ../development/python-modules/billiard { }; bimmer-connected = callPackage ../development/python-modules/bimmer-connected { }; @@ -12907,6 +12909,8 @@ self: super: with self; { qrcode = callPackage ../development/python-modules/qrcode { }; + qrcode-terminal = callPackage ../development/python-modules/qrcode-terminal { }; + qreactor = callPackage ../development/python-modules/qreactor { }; qscintilla-qt5 = pkgs.libsForQt5.callPackage ../development/python-modules/qscintilla-qt5 {