mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nix-repo.git
synced 2024-11-24 04:51:27 +00:00
SelfPrivacy API 2.0
This commit is contained in:
parent
da20f28521
commit
33910708dd
33
default.nix
33
default.nix
|
@ -1,7 +1,38 @@
|
|||
let
|
||||
pkgs = import <nixpkgs> {};
|
||||
pkgs = import <nixpkgs> { };
|
||||
in
|
||||
|
||||
self: super: rec {
|
||||
python39 = super.python39.override {
|
||||
packageOverrides = python-self: python-super: {
|
||||
strawberry_graphql = python-super.buildPythonPackage rec {
|
||||
pname = "strawberry-graphql";
|
||||
version = "0.123.0";
|
||||
format = "pyproject";
|
||||
patches = [
|
||||
./strawberry-graphql.patch
|
||||
];
|
||||
propagatedBuildInputs = with self.python39Packages; [
|
||||
typing-extensions
|
||||
graphql-core
|
||||
python-multipart
|
||||
python-dateutil
|
||||
flask
|
||||
pydantic
|
||||
pygments
|
||||
poetry
|
||||
];
|
||||
src = python-super.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-KsmZ5Xv8tUg6yBxieAEtvoKoRG60VS+iVGV0X6oCExo=";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
pythonPackages = python39.pkgs;
|
||||
selfprivacy-api = super.callPackage ./pkgs/selfprivacy-api {};
|
||||
selfprivacy-graphql-api = super.callPackage ./pkgs/selfprivacy-graphql-api {
|
||||
nixpkgs = pkgs;
|
||||
pythonPkgs = pythonPackages;
|
||||
};
|
||||
}
|
||||
|
|
61
pkgs/selfprivacy-graphql-api/default.nix
Normal file
61
pkgs/selfprivacy-graphql-api/default.nix
Normal file
|
@ -0,0 +1,61 @@
|
|||
{ nixpkgs ? import <nixpkgs> { }, pythonPkgs ? nixpkgs.pkgs.python39Packages }:
|
||||
|
||||
let
|
||||
inherit (nixpkgs) pkgs;
|
||||
inherit pythonPkgs;
|
||||
|
||||
selfprivacy-graphql-api =
|
||||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, setuptools
|
||||
, portalocker
|
||||
, pytz
|
||||
, pytest
|
||||
, pytest-mock
|
||||
, pytest-datadir
|
||||
, huey
|
||||
, gevent
|
||||
, mnemonic
|
||||
, pydantic
|
||||
, typing-extensions
|
||||
, strawberry_graphql
|
||||
, psutil
|
||||
, fastapi
|
||||
, uvicorn
|
||||
}:
|
||||
pythonPkgs.buildPythonApplication rec {
|
||||
pname = "selfprivacy-graphql-api";
|
||||
version = "2.0.0";
|
||||
src = builtins.fetchGit {
|
||||
url = "https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git";
|
||||
rev = "0e68ef1386e44872f41741edd24b81e29013ee39";
|
||||
};
|
||||
propagatedBuildInputs = [
|
||||
setuptools
|
||||
portalocker
|
||||
pytz
|
||||
pytest
|
||||
pytest-mock
|
||||
pytest-datadir
|
||||
huey
|
||||
gevent
|
||||
mnemonic
|
||||
pydantic
|
||||
typing-extensions
|
||||
strawberry_graphql
|
||||
psutil
|
||||
fastapi
|
||||
uvicorn
|
||||
];
|
||||
meta = {
|
||||
description = ''
|
||||
SelfPrivacy Server Management API
|
||||
'';
|
||||
};
|
||||
passthru = {
|
||||
pythonPath = pythonPkgs.makePythonPath propagatedBuildInputs;
|
||||
};
|
||||
};
|
||||
drv = pythonPkgs.callPackage selfprivacy-graphql-api { };
|
||||
in
|
||||
drv
|
96
strawberry-graphql.patch
Normal file
96
strawberry-graphql.patch
Normal file
|
@ -0,0 +1,96 @@
|
|||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 0cbf2ef..7736e92 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -51,7 +51,6 @@ python-multipart = "^0.0.5"
|
||||
sanic = {version = ">=20.12.2,<22.0.0", optional = true}
|
||||
aiohttp = {version = "^3.7.4.post0", optional = true}
|
||||
fastapi = {version = ">=0.65.2", optional = true}
|
||||
-"backports.cached-property" = "^1.0.1"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
pytest = "^7.1"
|
||||
diff --git a/strawberry/directive.py b/strawberry/directive.py
|
||||
index 491e390..26ba345 100644
|
||||
--- a/strawberry/directive.py
|
||||
+++ b/strawberry/directive.py
|
||||
@@ -1,10 +1,10 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import dataclasses
|
||||
+from functools import cached_property
|
||||
import inspect
|
||||
from typing import Any, Callable, List, Optional, TypeVar
|
||||
|
||||
-from backports.cached_property import cached_property
|
||||
from typing_extensions import Annotated
|
||||
|
||||
from graphql import DirectiveLocation
|
||||
diff --git a/strawberry/extensions/tracing/datadog.py b/strawberry/extensions/tracing/datadog.py
|
||||
index 01fba20..7c06950 100644
|
||||
--- a/strawberry/extensions/tracing/datadog.py
|
||||
+++ b/strawberry/extensions/tracing/datadog.py
|
||||
@@ -1,8 +1,8 @@
|
||||
import hashlib
|
||||
+from functools import cached_property
|
||||
from inspect import isawaitable
|
||||
from typing import Optional
|
||||
|
||||
-from backports.cached_property import cached_property
|
||||
from ddtrace import tracer
|
||||
|
||||
from strawberry.extensions import Extension
|
||||
diff --git a/strawberry/field.py b/strawberry/field.py
|
||||
index 80ed12a..f1bf2e9 100644
|
||||
--- a/strawberry/field.py
|
||||
+++ b/strawberry/field.py
|
||||
@@ -1,5 +1,6 @@
|
||||
import builtins
|
||||
import dataclasses
|
||||
+from functools import cached_property
|
||||
import inspect
|
||||
import sys
|
||||
from typing import (
|
||||
@@ -18,7 +19,6 @@ from typing import (
|
||||
overload,
|
||||
)
|
||||
|
||||
-from backports.cached_property import cached_property
|
||||
from typing_extensions import Literal
|
||||
|
||||
from strawberry.annotation import StrawberryAnnotation
|
||||
diff --git a/strawberry/types/fields/resolver.py b/strawberry/types/fields/resolver.py
|
||||
index c5b3edd..f4112ce 100644
|
||||
--- a/strawberry/types/fields/resolver.py
|
||||
+++ b/strawberry/types/fields/resolver.py
|
||||
@@ -1,6 +1,7 @@
|
||||
from __future__ import annotations as _
|
||||
|
||||
import builtins
|
||||
+from functools import cached_property
|
||||
import inspect
|
||||
import sys
|
||||
import warnings
|
||||
@@ -22,7 +23,6 @@ from typing import ( # type: ignore[attr-defined]
|
||||
_eval_type,
|
||||
)
|
||||
|
||||
-from backports.cached_property import cached_property
|
||||
from typing_extensions import Annotated, Protocol, get_args, get_origin
|
||||
|
||||
from strawberry.annotation import StrawberryAnnotation
|
||||
diff --git a/strawberry/types/info.py b/strawberry/types/info.py
|
||||
index a172c04..475a3ee 100644
|
||||
--- a/strawberry/types/info.py
|
||||
+++ b/strawberry/types/info.py
|
||||
@@ -1,9 +1,8 @@
|
||||
import dataclasses
|
||||
+from functools import cached_property
|
||||
import warnings
|
||||
from typing import TYPE_CHECKING, Any, Dict, Generic, List, Optional, TypeVar, Union
|
||||
|
||||
-from backports.cached_property import cached_property
|
||||
-
|
||||
from graphql import GraphQLResolveInfo, OperationDefinitionNode
|
||||
from graphql.language import FieldNode
|
||||
from graphql.pyutils.path import Path
|
Loading…
Reference in a new issue