diff options
Diffstat (limited to 'pkgs/development/python-modules')
24 files changed, 474 insertions, 57 deletions
diff --git a/pkgs/development/python-modules/airos/default.nix b/pkgs/development/python-modules/airos/default.nix new file mode 100644 index 000000000000..42fcee67126c --- /dev/null +++ b/pkgs/development/python-modules/airos/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + setuptools, + aiohttp, + mashumaro, + aiofiles, + aioresponses, + pytest-asyncio, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "airos"; + version = "0.2.4"; + pyproject = true; + + disabled = pythonOlder "3.13"; + + src = fetchFromGitHub { + owner = "CoMPaTech"; + repo = "python-airos"; + tag = "v${version}"; + hash = "sha256-zY0XPucCXiJDo9C4GiDqs/lxQDTphs/mBXBqSYPvkoI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + mashumaro + ]; + + nativeCheckInputs = [ + aiofiles + aioresponses + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ "airos" ]; + + meta = { + description = "Ubiquity airOS module(s) for Python 3"; + homepage = "https://github.com/CoMPaTech/python-airos"; + changelog = "https://github.com/CoMPaTech/python-airos/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/catppuccin/default.nix b/pkgs/development/python-modules/catppuccin/default.nix index d0fc7210c542..84b5be78fc3f 100644 --- a/pkgs/development/python-modules/catppuccin/default.nix +++ b/pkgs/development/python-modules/catppuccin/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "catppuccin"; - version = "2.4.1"; + version = "2.5.0"; pyproject = true; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "catppuccin"; repo = "python"; tag = "v${version}"; - hash = "sha256-lQsJnzOnyDIUu1mbydiyfRwh0zCRGU35p0Kn2a3H/48="; + hash = "sha256-wumJ8kpr+C2pdw8jYf+IqYTdSB6Iy37yZqPKycYmOSs="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/django-stubs-ext/default.nix b/pkgs/development/python-modules/django-stubs-ext/default.nix index 40464d29fcff..c0c9b8d8a706 100644 --- a/pkgs/development/python-modules/django-stubs-ext/default.nix +++ b/pkgs/development/python-modules/django-stubs-ext/default.nix @@ -7,13 +7,13 @@ pytestCheckHook, pythonOlder, redis, - setuptools, + hatchling, typing-extensions, }: buildPythonPackage rec { pname = "django-stubs-ext"; - version = "5.2.0"; + version = "5.2.2"; pyproject = true; disabled = pythonOlder "3.10"; @@ -21,10 +21,10 @@ buildPythonPackage rec { src = fetchPypi { pname = "django_stubs_ext"; inherit version; - hash = "sha256-AMSuMHtTj1ZDr3YakUw/jk4/JfTnxtcJjxkGwNjyqsk="; + hash = "sha256-2dFRuRn+JDh2D1vZOPA+HLCMhNBlH55ZF/ExOQfkJoM="; }; - build-system = [ setuptools ]; + build-system = [ hatchling ]; dependencies = [ django @@ -36,7 +36,8 @@ buildPythonPackage rec { oracle = [ oracledb ]; }; - nativeCheckInputs = [ pytestCheckHook ]; + # Tests are not shipped with PyPI + doCheck = false; pythonImportsCheck = [ "django_stubs_ext" ]; diff --git a/pkgs/development/python-modules/django-stubs/default.nix b/pkgs/development/python-modules/django-stubs/default.nix index bc7897dd6ba9..1bc25588fcd8 100644 --- a/pkgs/development/python-modules/django-stubs/default.nix +++ b/pkgs/development/python-modules/django-stubs/default.nix @@ -1,38 +1,38 @@ { lib, buildPythonPackage, - django, django-stubs-ext, - fetchPypi, + django, + fetchFromGitHub, + hatchling, mypy, + oracledb, pytestCheckHook, + pytest-mypy-plugins, pythonOlder, - setuptools, + redis, tomli, types-pytz, types-pyyaml, + types-redis, typing-extensions, }: buildPythonPackage rec { pname = "django-stubs"; - version = "5.2.0"; + version = "5.2.2"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.10"; - src = fetchPypi { - pname = "django_stubs"; - inherit version; - hash = "sha256-B+JcLTy/9b5UAif/N3GcyJ8hXfqqpesDinWwG7+7JyI="; + src = fetchFromGitHub { + owner = "typeddjango"; + repo = "django-stubs"; + tag = version; + hash = "sha256-kF5g0/rkMQxYTfSrTqzZ6BuqGlE42K/AVhc1/ARc+/c="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "setuptools<79.0.0" setuptools - ''; - - build-system = [ setuptools ]; + build-system = [ hatchling ]; dependencies = [ django @@ -45,15 +45,31 @@ buildPythonPackage rec { optional-dependencies = { compatible-mypy = [ mypy ]; + oracle = [ oracledb ]; + redis = [ + redis + types-redis + ]; }; nativeCheckInputs = [ + pytest-mypy-plugins pytestCheckHook ] ++ lib.flatten (builtins.attrValues optional-dependencies); pythonImportsCheck = [ "django-stubs" ]; + disabledTests = [ + # AttributeError: module 'django.contrib.auth.forms' has no attribute + "test_find_classes_inheriting_from_generic" + ]; + + disabledTestPaths = [ + # Skip type checking + "tests/typecheck/" + ]; + meta = with lib; { description = "PEP-484 stubs for Django"; homepage = "https://github.com/typeddjango/django-stubs"; diff --git a/pkgs/development/python-modules/djangorestframework-stubs/default.nix b/pkgs/development/python-modules/djangorestframework-stubs/default.nix index b0434f169f43..f78eba4dc99f 100644 --- a/pkgs/development/python-modules/djangorestframework-stubs/default.nix +++ b/pkgs/development/python-modules/djangorestframework-stubs/default.nix @@ -19,21 +19,26 @@ buildPythonPackage rec { pname = "djangorestframework-stubs"; - version = "3.16.0"; + version = "3.16.1"; pyproject = true; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "typeddjango"; repo = "djangorestframework-stubs"; tag = version; - hash = "sha256-q/9tCMT79TMHIQ4KH8tiunaTt7L6IItwNYBFlbNxBcE="; + hash = "sha256-TTv6v7G3LODrUDSYSNNa4+dujih7QElmvK3mMQg9EuQ="; }; - nativeBuildInputs = [ setuptools ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "<79.0.0" "" + ''; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ django-stubs requests types-pyyaml @@ -54,7 +59,7 @@ buildPythonPackage rec { ] ++ lib.flatten (builtins.attrValues optional-dependencies); - # Upstream recommends mypy > 1.7 which we don't have yet, thus all testsare failing with 3.14.5 and below + # Upstream recommends mypy > 1.7 which we don't have yet, thus all tests are failing with 3.14.5 and below doCheck = false; pythonImportsCheck = [ "rest_framework-stubs" ]; diff --git a/pkgs/development/python-modules/facedancer/default.nix b/pkgs/development/python-modules/facedancer/default.nix index e341d09aff69..a3720a6d4cec 100644 --- a/pkgs/development/python-modules/facedancer/default.nix +++ b/pkgs/development/python-modules/facedancer/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "facedancer"; - version = "3.1.0"; + version = "3.1.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "greatscottgadgets"; repo = "facedancer"; tag = version; - hash = "sha256-u1fvrfjk79R16MUuYx8m63EkgHJiMmAksaduk4lVnTw="; + hash = "sha256-Qe8DPUKwlukPftc7SOZIcY/do/14UdS61WH0g5dFeMI="; }; postPatch = '' @@ -45,7 +45,7 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/greatscottgadgets/facedancer/releases/tag/${version}"; + changelog = "https://github.com/greatscottgadgets/facedancer/releases/tag/${src.tag}"; description = "Implement your own USB device in Python, supported by a hardware peripheral such as Cynthion or GreatFET"; homepage = "https://github.com/greatscottgadgets/facedancer"; license = lib.licenses.bsd3; diff --git a/pkgs/development/python-modules/fastai/default.nix b/pkgs/development/python-modules/fastai/default.nix index ab0606756715..b727be7fe7cf 100644 --- a/pkgs/development/python-modules/fastai/default.nix +++ b/pkgs/development/python-modules/fastai/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "fastai"; - version = "2.8.2"; + version = "2.8.3"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-ix3Sp/IKj7BLmuuGd/763LB0llSUYAbMWJD8fvWe/u8="; + hash = "sha256-lgUBxf8vef9HnAWh2eNxtFRMeHxDjucJrZEcONq9DK8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix index d0fda3d3ef12..f63db1ad80ce 100644 --- a/pkgs/development/python-modules/globus-sdk/default.nix +++ b/pkgs/development/python-modules/globus-sdk/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "globus-sdk"; - version = "3.61.0"; + version = "3.62.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "globus"; repo = "globus-sdk-python"; tag = version; - hash = "sha256-DFLWFdwgKLhGde8ZH40YJ2434cl9nSrEfU6DfHANChE="; + hash = "sha256-uvvv96ztvzCmXx63brvnoKcfXUsDgZA9cNeCB7jdawQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix index 0f5aa1bf18ae..4d4b6997409a 100644 --- a/pkgs/development/python-modules/ldap3/default.nix +++ b/pkgs/development/python-modules/ldap3/default.nix @@ -24,6 +24,8 @@ buildPythonPackage rec { prePatch = '' # patch fails to apply because of line endings dos2unix ldap3/utils/asn1.py + substituteInPlace _version.json \ + --replace-fail '"version": "2.9",' '"version": "${version}",' ''; patches = [ @@ -52,7 +54,7 @@ buildPythonPackage rec { meta = with lib; { homepage = "https://github.com/cannatag/ldap3"; description = "Strictly RFC 4510 conforming LDAP V3 pure Python client library"; - license = licenses.lgpl3; + license = licenses.lgpl3Plus; maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 26fcb0f7ec22..2baa27fb9200 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "publicsuffixlist"; - version = "1.0.2.20250802"; + version = "1.0.2.20250809"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-/Liz65F7Rk/TJr5xICfRsK10Flzgojw2m4otnh4+y5A="; + hash = "sha256-eTvYGTwuSjT7ban7B9xS+8HzJfiMHnEIZSXimjMykJE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pybind11-stubgen/default.nix b/pkgs/development/python-modules/pybind11-stubgen/default.nix index 0cdbedaa2014..a54c2b7f8997 100644 --- a/pkgs/development/python-modules/pybind11-stubgen/default.nix +++ b/pkgs/development/python-modules/pybind11-stubgen/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "pybind11-stubgen"; - version = "2.5.4"; + version = "2.5.5"; pyproject = true; build-system = [ setuptools ]; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "sizmailov"; repo = "pybind11-stubgen"; tag = "v${version}"; - hash = "sha256-xOvh5H2n7KOOvsRecwWlaWgFIHUPYxTEOTvM9RIpTTQ="; + hash = "sha256-J2LydgkiNQp+2/agwBCSTtr+Ci4zONLkHmnMLFBww24="; }; # For testing purposes, the upstream source uses a shell script to build the pybind11 diff --git a/pkgs/development/python-modules/pyitachip2ir/default.nix b/pkgs/development/python-modules/pyitachip2ir/default.nix new file mode 100644 index 000000000000..e74a2fb9ed97 --- /dev/null +++ b/pkgs/development/python-modules/pyitachip2ir/default.nix @@ -0,0 +1,31 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, +}: + +buildPythonPackage rec { + pname = "pyitachip2ir"; + version = "0.0.7"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-T/Q3tZTTwqlaHDR2l2nRLISC4LLrOPZZv14sRxYyqDQ="; + }; + + build-system = [ setuptools ]; + + # Package has no tests + doCheck = false; + + pythonImportsCheck = [ "pyitachip2ir" ]; + + meta = { + description = "Library for sending IR commands to an ITach IP2IR gateway"; + homepage = "https://github.com/alanfischer/itachip2ir"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix index fda09c5f6a49..01e362ba1241 100644 --- a/pkgs/development/python-modules/pymavlink/default.nix +++ b/pkgs/development/python-modules/pymavlink/default.nix @@ -1,23 +1,30 @@ { lib, buildPythonPackage, + cython, + fastcrc, fetchPypi, - future, lxml, + setuptools, }: buildPythonPackage rec { pname = "pymavlink"; - version = "2.4.43"; - format = "setuptools"; + version = "2.4.49"; + pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-IcShujVcBXQtKvQVEFdtbgjboNd2AunqY1MxzQdV7nY="; + hash = "sha256-188Q1VktA4oYqpcnERd+u4i+IUPvzCWN9jCwUT6dosI="; }; - propagatedBuildInputs = [ - future + build-system = [ + cython + setuptools + ]; + + dependencies = [ + fastcrc lxml ]; @@ -32,6 +39,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python MAVLink interface and utilities"; homepage = "https://github.com/ArduPilot/pymavlink"; + changelog = "https://github.com/ArduPilot/pymavlink/releases/tag/${version}"; license = with licenses; [ lgpl3Plus mit diff --git a/pkgs/development/python-modules/pymiele/default.nix b/pkgs/development/python-modules/pymiele/default.nix index 56a22feb2ebf..4b6cd4d38234 100644 --- a/pkgs/development/python-modules/pymiele/default.nix +++ b/pkgs/development/python-modules/pymiele/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pymiele"; - version = "0.5.2"; + version = "0.5.3"; pyproject = true; disabled = pythonOlder "3.13"; src = fetchPypi { inherit pname version; - hash = "sha256-pU1PC1DXoXjZVkml3OFPhKgLVqhB9LbPPE1NzphyOSk="; + hash = "sha256-sz8yNyh8cmgmnElEhjw7yUUUiG6bpdB4LXze6ZWFjMo="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pypasser/default.nix b/pkgs/development/python-modules/pypasser/default.nix new file mode 100644 index 000000000000..47c1fbe39294 --- /dev/null +++ b/pkgs/development/python-modules/pypasser/default.nix @@ -0,0 +1,59 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pythonRelaxDepsHook, + pydub, + pysocks, + requests, + selenium, + speechrecognition, +}: + +buildPythonPackage rec { + pname = "pypasser"; + version = "0.0.5"; + pyproject = true; + + src = fetchFromGitHub { + owner = "xHossein"; + repo = "PyPasser"; + tag = version; + hash = "sha256-vqa+Xap9dYvjJMiGNGNmegh7rmAqwf3//MH47xwr/T0="; + }; + + build-system = [ setuptools ]; + + nativeBuildInputs = [ + pythonRelaxDepsHook + ]; + + pythonRelaxDeps = [ + "speechrecognition" + ]; + + dependencies = [ + pydub + pysocks + requests + selenium + speechrecognition + ]; + + pythonImportsCheck = [ + "pypasser" + "pypasser.reCaptchaV2" + "pypasser.reCaptchaV3" + ]; + + # Package has no tests + doCheck = false; + + meta = { + description = "Bypassing reCaptcha V3 by sending HTTP requests & solving reCaptcha V2 using speech to text"; + homepage = "https://github.com/xHossein/PyPasser"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/pypjlink2/default.nix b/pkgs/development/python-modules/pypjlink2/default.nix new file mode 100644 index 000000000000..30d9e3c4d2a2 --- /dev/null +++ b/pkgs/development/python-modules/pypjlink2/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + appdirs, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "pypjlink2"; + version = "1.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "benoitlouy"; + repo = "pypjlink"; + tag = "v${version}"; + hash = "sha256-0RVI9DX5JaVWntSu5du5SU45NC70TZJyVrvMuVR7grA="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + appdirs + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pypjlink" + ]; + + meta = { + description = "Python implementation of the PJLink protocol for controlling digital projectors"; + homepage = "https://github.com/benoitlouy/pypjlink"; + changelog = "https://github.com/benoitlouy/pypjlink/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix index eb612b1e312d..79ad7395598e 100644 --- a/pkgs/development/python-modules/pytenable/default.nix +++ b/pkgs/development/python-modules/pytenable/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { pname = "pytenable"; - version = "1.8.2"; + version = "1.8.3"; pyproject = true; disabled = pythonOlder "3.10"; @@ -37,7 +37,7 @@ buildPythonPackage rec { owner = "tenable"; repo = "pyTenable"; tag = version; - hash = "sha256-21vKR9W2Bpi+9YfmMQ+vgQIGchb7cYA2Sx493/XuYU0="; + hash = "sha256-91V2R29M/+kiosfkl5t6Y8qT/E041Wl1jhXCw3eQ7us="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index d6fb0b903251..991c25cfbcc6 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { pname = "python-roborock"; - version = "2.25.0"; + version = "2.29.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -34,7 +34,7 @@ buildPythonPackage rec { owner = "humbertogontijo"; repo = "python-roborock"; tag = "v${version}"; - hash = "sha256-RsNWhcScp81plqXg9NmRFJhF+aLA0ld0A5H6mHo60uE="; + hash = "sha256-6Y/nqgGZQgmgaMjdAcYEidhr2h913deWtBoWnQz966o="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pywmspro/default.nix b/pkgs/development/python-modules/pywmspro/default.nix new file mode 100644 index 000000000000..61d9571e057e --- /dev/null +++ b/pkgs/development/python-modules/pywmspro/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hatch-vcs, + aiohttp, +}: + +buildPythonPackage rec { + pname = "pywmspro"; + version = "0.3.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mback2k"; + repo = "pywmspro"; + tag = version; + hash = "sha256-o/+WjdU9+Vh1CnZYF2IsNpK5cubAFvsqANZ4GxrKFHI="; + }; + + build-system = [ + hatchling + hatch-vcs + ]; + + dependencies = [ aiohttp ]; + + # Package has no tests + doCheck = false; + + pythonImportsCheck = [ "wmspro" ]; + + meta = { + description = "Python library for WMS WebControl pro API"; + homepage = "https://github.com/mback2k/pywmspro"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/sagemaker-core/default.nix b/pkgs/development/python-modules/sagemaker-core/default.nix index d0b26d1c1bb0..0505fcbd904c 100644 --- a/pkgs/development/python-modules/sagemaker-core/default.nix +++ b/pkgs/development/python-modules/sagemaker-core/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "sagemaker-core"; - version = "1.0.47"; + version = "1.0.49"; pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "sagemaker-core"; tag = "v${version}"; - hash = "sha256-PfAv4w+egB0fIkL6nexjtoqcXyvnx52RTQu6QwKjpNU="; + hash = "sha256-xDtBtsrromqfciVOxGTTWhTZG08qUjk9EJ9yMvYS7+Y="; }; build-system = [ diff --git a/pkgs/development/python-modules/storage3/default.nix b/pkgs/development/python-modules/storage3/default.nix index f022c39ccf80..9280072bdc6a 100644 --- a/pkgs/development/python-modules/storage3/default.nix +++ b/pkgs/development/python-modules/storage3/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "storage3"; - version = "0.12.0"; + version = "0.12.1"; pyproject = true; src = fetchFromGitHub { owner = "supabase"; repo = "storage-py"; - rev = "v${version}"; - hash = "sha256-3Z+j9n/seL1ZuB1djOVpA6Qci/Ygi9g8g2lLQGKRUHM="; + tag = "v${version}"; + hash = "sha256-Ef309CTnzbaqKAVMdvroUYAy9RImWZZqhsnwRdpGVkk="; }; dependencies = [ diff --git a/pkgs/development/python-modules/tami4edgeapi/default.nix b/pkgs/development/python-modules/tami4edgeapi/default.nix new file mode 100644 index 000000000000..45cf533db170 --- /dev/null +++ b/pkgs/development/python-modules/tami4edgeapi/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pyjwt, + pypasser, + requests, + pythonOlder, +}: + +buildPythonPackage rec { + pname = "tami4edgeapi"; + version = "3.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Guy293"; + repo = "Tami4EdgeAPI"; + tag = "v${version}"; + hash = "sha256-rhJ8L6qLDnO50Xp2eqquRinDTQjMxWVSjNL5GQI1gvM="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pyjwt + pypasser + requests + ]; + + # Package has no tests + doCheck = false; + + pythonImportsCheck = [ "Tami4EdgeAPI" ]; + + meta = { + description = "Python API client for Tami4 Edge / Edge+ devices"; + homepage = "https://github.com/Guy293/Tami4EdgeAPI"; + changelog = "https://github.com/Guy293/Tami4EdgeAPI/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/thingspeak/default.nix b/pkgs/development/python-modules/thingspeak/default.nix new file mode 100644 index 000000000000..ba904072e290 --- /dev/null +++ b/pkgs/development/python-modules/thingspeak/default.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + docopt, + fetchFromGitHub, + poetry-core, + pytest-vcr, + pytestCheckHook, + requests, + setuptools, + vcrpy, +}: + +buildPythonPackage rec { + pname = "thingspeak"; + version = "1.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mchwalisz"; + repo = "thingspeak"; + tag = "v${version}"; + hash = "sha256-9YvudzksWp130hkG8WxiX9WHegAVH2TT1vwMbLJ13qE="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "poetry.masonry.api" "poetry.core.masonry.api" \ + --replace-fail 'requires = ["poetry>=0.12"]' 'requires = ["poetry-core"]' + ''; + + build-system = [ + poetry-core + ]; + + dependencies = [ + docopt + requests + setuptools + ]; + + nativeCheckInputs = [ + pytest-vcr + pytestCheckHook + vcrpy + ]; + + disabledTests = [ + # VCR cassette conflicts with different API keys + "test_get_with_key" + ]; + + pythonImportsCheck = [ + "thingspeak" + ]; + + meta = { + description = "Client library for the thingspeak.com API"; + homepage = "https://github.com/mchwalisz/thingspeak"; + changelog = "https://github.com/mchwalisz/thingspeak/releases/tag/v${version}"; + license = lib.licenses.lgpl3Only; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/volvocarsapi/default.nix b/pkgs/development/python-modules/volvocarsapi/default.nix new file mode 100644 index 000000000000..7d0dfc1fbb37 --- /dev/null +++ b/pkgs/development/python-modules/volvocarsapi/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + aiohttp, + yarl, + hatchling, +}: + +buildPythonPackage rec { + pname = "volvocarsapi"; + version = "0.4.1"; + pyproject = true; + + disabled = pythonOlder "3.12"; + + src = fetchFromGitHub { + owner = "thomasddn"; + repo = "volvo-cars-api"; + tag = "v${version}"; + hash = "sha256-YMrhVxDm8Cp8vbMVtdq6yoaAu8nUB7L2YG+LSkvMdZs="; + }; + + build-system = [ + hatchling + ]; + + dependencies = [ + aiohttp + yarl + ]; + + # Package has no tests + doCheck = false; + + pythonImportsCheck = [ + "volvocarsapi" + ]; + + meta = { + description = "Python client for the Volvo Cars API"; + homepage = "https://github.com/thomasddn/volvo-cars-api"; + changelog = "https://github.com/thomasddn/volvo-cars-api/releases/tag/v${version}"; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} |
