This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

pkgs.omnigent: init at 0.9.0

+157
+157
5pkgs/omnigent/package.nix
··· 1 + { 2 + lib, 3 + fetchPypi, 4 + python313Packages, 5 + }: 6 + let 7 + py = python313Packages; 8 + 9 + # omnigent-client declares `omnigent` as a dependency, and omnigent declares 10 + # omnigent-client: the two are released in lockstep from the same repo. Break 11 + # the cycle by dropping the back-reference here; the final application below 12 + # provides `omnigent` itself. 13 + omnigent-client = py.buildPythonPackage rec { 14 + pname = "omnigent_client"; 15 + version = "0.9.0"; 16 + format = "wheel"; 17 + 18 + src = fetchPypi { 19 + inherit pname version format; 20 + dist = "py3"; 21 + python = "py3"; 22 + hash = "sha256-NUF16ZzZkVzohOKznfAPVTT1LI09dXP6gZxlWZzmyrM="; 23 + }; 24 + 25 + pythonRemoveDeps = [ "omnigent" ]; 26 + 27 + dependencies = [ 28 + py.httpx 29 + py.pydantic 30 + ]; 31 + 32 + # No pythonImportsCheck: every module imports `omnigent`, which only exists 33 + # in the application closure below. 34 + doCheck = false; 35 + 36 + meta = { 37 + description = "Python client library for the Omnigent server API"; 38 + homepage = "https://omnigent.ai"; 39 + license = lib.licenses.asl20; 40 + }; 41 + }; 42 + 43 + omnigent-ui-sdk = py.buildPythonPackage rec { 44 + pname = "omnigent_ui_sdk"; 45 + version = "0.9.0"; 46 + format = "wheel"; 47 + 48 + src = fetchPypi { 49 + inherit pname version format; 50 + dist = "py3"; 51 + python = "py3"; 52 + hash = "sha256-xr5rtx2Ac/q8GShkeQudzbKDoLGe5d+Jp7XCiXzU7lQ="; 53 + }; 54 + 55 + dependencies = [ 56 + omnigent-client 57 + py.prompt-toolkit 58 + py.pyyaml 59 + py.rich 60 + ]; 61 + 62 + doCheck = false; 63 + 64 + meta = { 65 + description = "Terminal UI SDK for Omnigent"; 66 + homepage = "https://omnigent.ai"; 67 + license = lib.licenses.asl20; 68 + }; 69 + }; 70 + in 71 + py.buildPythonApplication rec { 72 + pname = "omnigent"; 73 + version = "0.9.0"; 74 + format = "wheel"; 75 + 76 + # The published wheel ships the prebuilt web SPA under 77 + # omnigent/server/static/web-ui; the sdist does not. 78 + src = fetchPypi { 79 + inherit pname version format; 80 + dist = "py3"; 81 + python = "py3"; 82 + hash = "sha256-deNx9SHyaf1ZNkq5+88c1fUieFZastIo8N27Ixy0F1Q="; 83 + }; 84 + 85 + # Upper bounds that nixpkgs has already moved past. All of these are 86 + # conservative caps in omnigent's pyproject, not known incompatibilities. 87 + pythonRelaxDeps = [ 88 + "argon2-cffi" # nixpkgs 25.1.0 vs <24 89 + "cachetools" # nixpkgs 7.1.4 vs <7 90 + "packaging" # nixpkgs 26.2 vs <26 91 + "protobuf" # nixpkgs 7.35.1 vs <7 92 + "rich" # nixpkgs 15.0.0 vs <15 93 + "websockets" # nixpkgs 16.1 vs <15 94 + ]; 95 + 96 + dependencies = [ 97 + omnigent-client 98 + omnigent-ui-sdk 99 + ] 100 + ++ (with py; [ 101 + alembic 102 + anyio 103 + argon2-cffi 104 + cachetools 105 + cel-python 106 + certifi 107 + claude-agent-sdk 108 + click 109 + fastapi 110 + ftfy 111 + httpx 112 + json5 113 + keyring 114 + mcp 115 + openai 116 + openai-agents 117 + opentelemetry-exporter-otlp-proto-grpc 118 + opentelemetry-exporter-otlp-proto-http 119 + opentelemetry-instrumentation-fastapi 120 + opentelemetry-instrumentation-httpx 121 + opentelemetry-instrumentation-sqlalchemy 122 + packaging 123 + pexpect 124 + prompt-toolkit 125 + protobuf 126 + psutil 127 + pydantic 128 + pyjwt 129 + pyte 130 + python-dateutil 131 + pyyaml 132 + rich 133 + sqlalchemy 134 + starlette 135 + tiktoken 136 + tomlkit 137 + uvicorn 138 + websockets 139 + zstandard 140 + ]) 141 + ++ py.pyjwt.optional-dependencies.crypto 142 + ++ py.uvicorn.optional-dependencies.standard; 143 + 144 + pythonImportsCheck = [ 145 + "omnigent" 146 + "omnigent_client" 147 + "omnigent_ui_sdk" 148 + ]; 149 + 150 + meta = { 151 + description = "Open-source meta-harness giving a common orchestration layer over AI coding agents"; 152 + homepage = "https://omnigent.ai"; 153 + license = lib.licenses.asl20; 154 + mainProgram = "omnigent"; 155 + platforms = lib.platforms.unix; 156 + }; 157 + }