commit 490a9c75571d44d5cf0f2e4c69b6385fb0df558a
parent cc83bb56da97aaa05982fbb47324323d23861789
Author: Nikolay Korotkiy <sikmir@disroot.org>
Date: Sun, 8 Mar 2026 22:10:12 +0400
Up
Diffstat:
4 files changed, 141 insertions(+), 7 deletions(-)
diff --git a/pkgs/development/python-modules/binapy/default.nix b/pkgs/development/python-modules/binapy/default.nix
@@ -0,0 +1,31 @@
+{
+ lib,
+ fetchFromGitHub,
+ python3Packages,
+}:
+
+python3Packages.buildPythonPackage (finalAttrs: {
+ pname = "binapy";
+ version = "0.8.0";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "guillp";
+ repo = "binapy";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-WaRf2bj8MjbAfPRLwXtFk7fMoCNoYBdBtcaLnTJQjLI=";
+ };
+
+ build-system = with python3Packages; [ poetry-core ];
+
+ dependencies = with python3Packages; [ typing-extensions ];
+
+ nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+
+ meta = {
+ description = "Binary Data manipulation, for humans";
+ homepage = "https://github.com/guillp/binapy";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.sikmir ];
+ };
+})
diff --git a/pkgs/development/python-modules/hardpy/default.nix b/pkgs/development/python-modules/hardpy/default.nix
@@ -3,35 +3,51 @@
python3Packages,
fetchFromGitHub,
pycouchdb,
+ requests-oauth2client,
}:
python3Packages.buildPythonPackage (finalAttrs: {
pname = "hardpy";
- version = "0.4.0";
+ version = "0.22.1";
pyproject = true;
src = fetchFromGitHub {
owner = "everypinio";
repo = "hardpy";
tag = finalAttrs.version;
- hash = "sha256-CVn5Edon1auXNFFNRGnt2i1j9TJo+uX194a22tIQpVE=";
+ hash = "sha256-LxM5Q3XZnL3iJT2c7nSo44PWm98hP+pI2B1SuQfTGZY=";
};
postPatch = ''
substituteInPlace pyproject.toml \
- --replace-fail "hatchling==1.21.1" "hatchling"
+ --replace-fail "hatchling==1.27.0" "hatchling"
'';
build-system = with python3Packages; [ hatchling ];
+ pythonRelaxDeps = true;
+
dependencies = with python3Packages; [
- pycouchdb
+ fastapi
glom
- pydantic
+ jinja2
+ keyring
natsort
- fastapi
- uvicorn
+ oauthlib
+ py-machineid
+ pycouchdb
+ pydantic
pytest
+ qrcode
+ requests
+ requests-oauth2client
+ requests-oauthlib
+ tomli
+ tomli-w
+ typer
+ tzlocal
+ uuid6
+ uvicorn
];
doCheck = false;
diff --git a/pkgs/development/python-modules/jwskate/default.nix b/pkgs/development/python-modules/jwskate/default.nix
@@ -0,0 +1,41 @@
+{
+ lib,
+ fetchFromGitHub,
+ python3Packages,
+ binapy,
+}:
+
+python3Packages.buildPythonPackage (finalAttrs: {
+ pname = "jwskate";
+ version = "0.12.2";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "guillp";
+ repo = "jwskate";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-yWsZb340Hwo63e6Ass7El8MJ4wK6uHODkghVdSFvu+U=";
+ };
+
+ build-system = with python3Packages; [ hatchling ];
+
+ dependencies = with python3Packages; [
+ binapy
+ cryptography
+ typing-extensions
+ ];
+
+ nativeCheckInputs = with python3Packages; [
+ jwcrypto
+ pytestCheckHook
+ pytest-cov-stub
+ pytest-freezer
+ ];
+
+ meta = {
+ description = "A Pythonic implementation of the JOSE / JSON Web Crypto related RFCs (JWS, JWK, JWA, JWT, JWE)";
+ homepage = "https://github.com/guillp/jwskate";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.sikmir ];
+ };
+})
diff --git a/pkgs/development/python-modules/requests-oauth2client/default.nix b/pkgs/development/python-modules/requests-oauth2client/default.nix
@@ -0,0 +1,46 @@
+{
+ lib,
+ fetchFromGitHub,
+ python3Packages,
+ binapy,
+ jwskate,
+}:
+
+python3Packages.buildPythonPackage (finalAttrs: {
+ pname = "requests-oauth2client";
+ version = "1.8.0";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "guillp";
+ repo = "requests_oauth2client";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-ve4oBPz98fE+02BqDdlmVQPlM14DvfnknRM0TZCKxk4=";
+ };
+
+ build-system = with python3Packages; [ hatchling ];
+
+ dependencies = with python3Packages; [
+ attrs
+ binapy
+ furl
+ jwskate
+ requests
+ ];
+
+ nativeCheckInputs = with python3Packages; [
+ pytestCheckHook
+ pytest-cov-stub
+ pytest-examples
+ pytest-freezer
+ pytest-mock
+ requests-mock
+ ];
+
+ meta = {
+ description = "An OAuth2.x client based on `requests`";
+ homepage = "https://github.com/guillp/requests-oauth2client";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.sikmir ];
+ };
+})