feat: add nextcloud-mcp-server with 20 inlined Python deps #1
@@ -6,112 +6,148 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
fetchWheel = { pname, version, hash, propagatedBuildInputs ? [ ], meta ? { } }:
|
mkPy = { pname, version, hash, propagatedBuildInputs ? [ ], nativeBuildInputs ? [ ], src, meta ? { } }:
|
||||||
python3Packages.buildPythonPackage {
|
python3Packages.buildPythonPackage {
|
||||||
inherit pname version;
|
inherit pname version src;
|
||||||
format = "wheel";
|
pyproject = true;
|
||||||
src = fetchPypi {
|
build-system = [ python3Packages.hatchling ];
|
||||||
inherit pname version hash;
|
inherit nativeBuildInputs propagatedBuildInputs;
|
||||||
format = "wheel";
|
|
||||||
dist = "py3";
|
|
||||||
python = "py3";
|
|
||||||
};
|
|
||||||
inherit propagatedBuildInputs;
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
inherit meta;
|
inherit meta;
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonvcard4 = fetchWheel {
|
# ── 4 packages that work from PyPI ──
|
||||||
pname = "pythonvcard4"; version = "0.2.0"; hash = lib.fakeHash;
|
pythonvcard4 = python3Packages.buildPythonPackage {
|
||||||
meta = with lib; { description = "vCard parsing library"; homepage = "https://github.com/GNOME/python-vcard4"; license = licenses.gpl3Plus; };
|
pname = "pythonvcard4"; version = "0.2.0"; format = "wheel";
|
||||||
|
src = fetchPypi { pname = "pythonvcard4"; version = "0.2.0"; hash = "sha256-3OMTVd1QruU3+Ig96G8wFRDkB7wXVaaOyNUFW2T1xmA="; format = "wheel"; dist = "py3"; python = "py3"; };
|
||||||
|
doCheck = false;
|
||||||
|
meta = with lib; { description = "vCard parsing"; homepage = "https://github.com/GNOME/python-vcard4"; license = licenses.gpl3Plus; };
|
||||||
};
|
};
|
||||||
prometheus-client = fetchWheel {
|
prometheus-client = python3Packages.buildPythonPackage {
|
||||||
pname = "prometheus_client"; version = "0.25.0"; hash = lib.fakeHash;
|
pname = "prometheus_client"; version = "0.25.0"; format = "wheel";
|
||||||
|
src = fetchPypi { pname = "prometheus_client"; version = "0.25.0"; hash = "sha256-1a7InjSabsIwgF0N+ILzgH90/WwaL6hoZOPCJ5BZ/tE="; format = "wheel"; dist = "py3"; python = "py3"; };
|
||||||
|
doCheck = false;
|
||||||
meta = with lib; { description = "Prometheus client"; homepage = "https://github.com/prometheus/client_python"; license = licenses.asl20; };
|
meta = with lib; { description = "Prometheus client"; homepage = "https://github.com/prometheus/client_python"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
python-json-logger = fetchWheel {
|
importlib-metadata = python3Packages.buildPythonPackage {
|
||||||
pname = "python-json-logger"; version = "4.1.0"; hash = lib.fakeHash;
|
pname = "importlib_metadata"; version = "8.7.1"; format = "wheel";
|
||||||
meta = with lib; { description = "JSON logger"; homepage = "https://github.com/nhairs/python-json-logger"; license = licenses.bsd2; };
|
src = fetchPypi { pname = "importlib_metadata"; version = "8.7.1"; hash = "sha256-Wh+Avx2qSJSVBx77sJXXWmNM8oqLwplYEkQGO1MXYVE="; format = "wheel"; dist = "py3"; python = "py3"; };
|
||||||
};
|
|
||||||
importlib-metadata = fetchWheel {
|
|
||||||
pname = "importlib_metadata"; version = "8.7.1"; hash = lib.fakeHash;
|
|
||||||
propagatedBuildInputs = with python3Packages; [ zipp ];
|
propagatedBuildInputs = with python3Packages; [ zipp ];
|
||||||
|
doCheck = false;
|
||||||
meta = with lib; { description = "Importlib metadata"; homepage = "https://github.com/python/importlib_metadata"; license = licenses.asl20; };
|
meta = with lib; { description = "Importlib metadata"; homepage = "https://github.com/python/importlib_metadata"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
googleapis-common-protos = fetchWheel {
|
x-wr-timezone = python3Packages.buildPythonPackage {
|
||||||
pname = "googleapis-common-protos"; version = "1.75.0"; hash = lib.fakeHash;
|
pname = "x_wr_timezone"; version = "2.0.1"; format = "wheel";
|
||||||
|
src = fetchPypi { pname = "x_wr_timezone"; version = "2.0.1"; hash = "sha256-50pTufT33vgThFXCQOZeR8Ikd4vOPAJPzW2iy+kcoDg="; format = "wheel"; dist = "py3"; python = "py3"; };
|
||||||
|
propagatedBuildInputs = with python3Packages; [ icalendar click ];
|
||||||
|
doCheck = false;
|
||||||
|
meta = with lib; { description = "X-WR-TIMEZONE"; homepage = "https://github.com/niccokunzmann/x-wr-timezone"; license = licenses.lgpl3Plus; };
|
||||||
|
};
|
||||||
|
|
||||||
|
# ── 16 packages from GitHub ──
|
||||||
|
python-json-logger = mkPy {
|
||||||
|
pname = "python-json-logger"; version = "4.1.0";
|
||||||
|
src = fetchFromGitHub { owner = "nhairs"; repo = "python-json-logger"; rev = "v4.1.0"; hash = lib.fakeHash; };
|
||||||
|
meta = with lib; { description = "JSON logger"; homepage = "https://github.com/nhairs/python-json-logger"; license = licenses.bsd2; };
|
||||||
|
};
|
||||||
|
googleapis-common-protos = mkPy {
|
||||||
|
pname = "googleapis-common-protos"; version = "1.75.0";
|
||||||
|
src = fetchFromGitHub { owner = "googleapis"; repo = "python-api-common-protos"; rev = "v1.75.0"; hash = lib.fakeHash; };
|
||||||
propagatedBuildInputs = with python3Packages; [ protobuf ];
|
propagatedBuildInputs = with python3Packages; [ protobuf ];
|
||||||
meta = with lib; { description = "Common protos"; homepage = "https://github.com/googleapis/python-api-common-protos"; license = licenses.asl20; };
|
meta = with lib; { description = "Common protos"; homepage = "https://github.com/googleapis/python-api-common-protos"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-api = fetchWheel {
|
opentelemetry-api = mkPy {
|
||||||
pname = "opentelemetry-api"; version = "1.39.1"; hash = lib.fakeHash;
|
pname = "opentelemetry-api"; version = "1.39.1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python"; rev = "v1.39.1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/opentelemetry-api";
|
||||||
propagatedBuildInputs = with python3Packages; [ deprecated ];
|
propagatedBuildInputs = with python3Packages; [ deprecated ];
|
||||||
meta = with lib; { description = "OpenTelemetry API"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
meta = with lib; { description = "OpenTelemetry API"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-proto = fetchWheel {
|
opentelemetry-proto = mkPy {
|
||||||
pname = "opentelemetry-proto"; version = "1.39.1"; hash = lib.fakeHash;
|
pname = "opentelemetry-proto"; version = "1.39.1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python"; rev = "v1.39.1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/opentelemetry-proto";
|
||||||
propagatedBuildInputs = with python3Packages; [ protobuf ];
|
propagatedBuildInputs = with python3Packages; [ protobuf ];
|
||||||
meta = with lib; { description = "OpenTelemetry Proto"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
meta = with lib; { description = "OpenTelemetry Proto"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-semantic-conventions = fetchWheel {
|
opentelemetry-semantic-conventions = mkPy {
|
||||||
pname = "opentelemetry-semantic-conventions"; version = "0.60b1"; hash = lib.fakeHash;
|
pname = "opentelemetry-semantic-conventions"; version = "0.60b1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "semantic-conventions"; rev = "v0.60b1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/model";
|
||||||
propagatedBuildInputs = with python3Packages; [ deprecated ];
|
propagatedBuildInputs = with python3Packages; [ deprecated ];
|
||||||
meta = with lib; { description = "OpenTelemetry semconv"; homepage = "https://github.com/open-telemetry/semantic-conventions"; license = licenses.asl20; };
|
meta = with lib; { description = "OTel semconv"; homepage = "https://github.com/open-telemetry/semantic-conventions"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-sdk = fetchWheel {
|
opentelemetry-sdk = mkPy {
|
||||||
pname = "opentelemetry-sdk"; version = "1.39.1"; hash = lib.fakeHash;
|
pname = "opentelemetry-sdk"; version = "1.39.1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python"; rev = "v1.39.1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/opentelemetry-sdk";
|
||||||
propagatedBuildInputs = with python3Packages; [ typing-extensions ];
|
propagatedBuildInputs = with python3Packages; [ typing-extensions ];
|
||||||
meta = with lib; { description = "OpenTelemetry SDK"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
meta = with lib; { description = "OpenTelemetry SDK"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
x-wr-timezone = fetchWheel {
|
opentelemetry-util-http = mkPy {
|
||||||
pname = "x_wr_timezone"; version = "2.0.1"; hash = lib.fakeHash;
|
pname = "opentelemetry-util-http"; version = "0.60b1";
|
||||||
propagatedBuildInputs = with python3Packages; [ icalendar click ];
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python-contrib"; rev = "v0.60b1"; hash = lib.fakeHash; };
|
||||||
meta = with lib; { description = "X-WR-TIMEZONE"; homepage = "https://github.com/niccokunzmann/x-wr-timezone"; license = licenses.lgpl3Plus; };
|
sourceRoot = "source/util/opentelemetry-util-http";
|
||||||
};
|
|
||||||
opentelemetry-util-http = fetchWheel {
|
|
||||||
pname = "opentelemetry-util-http"; version = "0.60b1"; hash = lib.fakeHash;
|
|
||||||
meta = with lib; { description = "OTel HTTP utils"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
meta = with lib; { description = "OTel HTTP utils"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-exporter-otlp-proto-common = fetchWheel {
|
opentelemetry-exporter-otlp-proto-common = mkPy {
|
||||||
pname = "opentelemetry-exporter-otlp-proto-common"; version = "1.39.1"; hash = lib.fakeHash;
|
pname = "opentelemetry-exporter-otlp-proto-common"; version = "1.39.1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python"; rev = "v1.39.1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-common";
|
||||||
meta = with lib; { description = "OTLP proto common"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
meta = with lib; { description = "OTLP proto common"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-instrumentation = fetchWheel {
|
opentelemetry-instrumentation = mkPy {
|
||||||
pname = "opentelemetry-instrumentation"; version = "0.60b1"; hash = lib.fakeHash;
|
pname = "opentelemetry-instrumentation"; version = "0.60b1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python-contrib"; rev = "v0.60b1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/opentelemetry-instrumentation";
|
||||||
propagatedBuildInputs = with python3Packages; [ wrapt packaging ];
|
propagatedBuildInputs = with python3Packages; [ wrapt packaging ];
|
||||||
meta = with lib; { description = "OTel instrumentation"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
meta = with lib; { description = "OTel instrumentation"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
recurring-ical-events = fetchWheel {
|
recurring-ical-events = mkPy {
|
||||||
pname = "recurring-ical-events"; version = "3.8.2"; hash = lib.fakeHash;
|
pname = "recurring-ical-events"; version = "3.8.2";
|
||||||
|
src = fetchFromGitHub { owner = "niccokunzmann"; repo = "python-recurring-ical-events"; rev = "v3.8.2"; hash = lib.fakeHash; };
|
||||||
propagatedBuildInputs = with python3Packages; [ icalendar python-dateutil ];
|
propagatedBuildInputs = with python3Packages; [ icalendar python-dateutil ];
|
||||||
meta = with lib; { description = "Recurring iCal events"; homepage = "https://github.com/niccokunzmann/python-recurring-ical-events"; license = licenses.lgpl3Plus; };
|
meta = with lib; { description = "Recurring iCal events"; homepage = "https://github.com/niccokunzmann/python-recurring-ical-events"; license = licenses.lgpl3Plus; };
|
||||||
};
|
};
|
||||||
opentelemetry-exporter-otlp-proto-grpc = fetchWheel {
|
opentelemetry-exporter-otlp-proto-grpc = mkPy {
|
||||||
pname = "opentelemetry-exporter-otlp-proto-grpc"; version = "1.39.1"; hash = lib.fakeHash;
|
pname = "opentelemetry-exporter-otlp-proto-grpc"; version = "1.39.1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python"; rev = "v1.39.1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-grpc";
|
||||||
propagatedBuildInputs = with python3Packages; [ grpcio deprecated ];
|
propagatedBuildInputs = with python3Packages; [ grpcio deprecated ];
|
||||||
meta = with lib; { description = "OTLP gRPC exporter"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
meta = with lib; { description = "OTLP gRPC exporter"; homepage = "https://github.com/open-telemetry/opentelemetry-python"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
qdrant-client = fetchWheel {
|
qdrant-client = mkPy {
|
||||||
pname = "qdrant-client"; version = "1.18.0"; hash = lib.fakeHash;
|
pname = "qdrant-client"; version = "1.18.0";
|
||||||
|
src = fetchFromGitHub { owner = "qdrant"; repo = "qdrant-client"; rev = "v1.18.0"; hash = lib.fakeHash; };
|
||||||
|
nativeBuildInputs = [ python3Packages.poetry-core ];
|
||||||
propagatedBuildInputs = with python3Packages; [ grpcio httpx numpy portalocker protobuf pydantic urllib3 ];
|
propagatedBuildInputs = with python3Packages; [ grpcio httpx numpy portalocker protobuf pydantic urllib3 ];
|
||||||
meta = with lib; { description = "Qdrant client"; homepage = "https://github.com/qdrant/qdrant-client"; license = licenses.asl20; };
|
meta = with lib; { description = "Qdrant client"; homepage = "https://github.com/qdrant/qdrant-client"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-instrumentation-asgi = fetchWheel {
|
opentelemetry-instrumentation-asgi = mkPy {
|
||||||
pname = "opentelemetry-instrumentation-asgi"; version = "0.60b1"; hash = lib.fakeHash;
|
pname = "opentelemetry-instrumentation-asgi"; version = "0.60b1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python-contrib"; rev = "v0.60b1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/instrumentation/opentelemetry-instrumentation-asgi";
|
||||||
propagatedBuildInputs = with python3Packages; [ asgiref ];
|
propagatedBuildInputs = with python3Packages; [ asgiref ];
|
||||||
meta = with lib; { description = "OTel ASGI"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
meta = with lib; { description = "OTel ASGI"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-instrumentation-httpx = fetchWheel {
|
opentelemetry-instrumentation-httpx = mkPy {
|
||||||
pname = "opentelemetry-instrumentation-httpx"; version = "0.60b1"; hash = lib.fakeHash;
|
pname = "opentelemetry-instrumentation-httpx"; version = "0.60b1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python-contrib"; rev = "v0.60b1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/instrumentation/opentelemetry-instrumentation-httpx";
|
||||||
propagatedBuildInputs = with python3Packages; [ httpx wrapt ];
|
propagatedBuildInputs = with python3Packages; [ httpx wrapt ];
|
||||||
meta = with lib; { description = "OTel HTTPX"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
meta = with lib; { description = "OTel HTTPX"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
opentelemetry-instrumentation-logging = fetchWheel {
|
opentelemetry-instrumentation-logging = mkPy {
|
||||||
pname = "opentelemetry-instrumentation-logging"; version = "0.60b1"; hash = lib.fakeHash;
|
pname = "opentelemetry-instrumentation-logging"; version = "0.60b1";
|
||||||
|
src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-python-contrib"; rev = "v0.60b1"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/instrumentation/opentelemetry-instrumentation-logging";
|
||||||
meta = with lib; { description = "OTel logging"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
meta = with lib; { description = "OTel logging"; homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib"; license = licenses.asl20; };
|
||||||
};
|
};
|
||||||
langchain-text-splitters = fetchWheel {
|
langchain-text-splitters = mkPy {
|
||||||
pname = "langchain-text-splitters"; version = "1.1.2"; hash = lib.fakeHash;
|
pname = "langchain-text-splitters"; version = "1.1.2";
|
||||||
|
src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; rev = "langchain-text-splitters==1.1.2"; hash = lib.fakeHash; };
|
||||||
|
sourceRoot = "source/libs/text-splitters";
|
||||||
|
nativeBuildInputs = [ python3Packages.poetry-core ];
|
||||||
propagatedBuildInputs = with python3Packages; [ langchain-core ];
|
propagatedBuildInputs = with python3Packages; [ langchain-core ];
|
||||||
meta = with lib; { description = "LangChain text splitters"; homepage = "https://github.com/langchain-ai/langchain"; license = licenses.mit; };
|
meta = with lib; { description = "LangChain text splitters"; homepage = "https://github.com/langchain-ai/langchain"; license = licenses.mit; };
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user