Skip to main content

GrapeRoot — graph-based context engine for AI coding agents

Project description

Dual-Graph — Compounding Context for Claude Code & Codex CLI

A context engine that makes Claude Code and Codex CLI 30-45% cheaper without sacrificing quality. It builds a semantic graph of your codebase and pre-loads the right files into every prompt — so Claude spends tokens reasoning, not exploring.

Works on macOS, Linux, and Windows. Supports any project size.

Join the community: discord.gg/ptyr7KJz


How It Works

You run: dgc /path/to/project
         ↓
1. Project scanned → semantic graph built (files, symbols, imports)
2. You ask a question
3. Graph identifies the relevant files → packs them into context
4. Claude gets your question + the right code already loaded
5. Fewer turns, fewer tokens, better answers

Token savings compound across a session. The graph remembers which files were read, edited, and queried — each turn gets cheaper.


Results

Benchmarked across 80+ prompts (5 complexity levels) on a real-world full-stack app:

Metric Without Dual-Graph With Dual-Graph
Avg cost per prompt $0.46 $0.27
Avg turns 16.8 10.3
Avg response time 186s 134s
Quality (regex scorer) 82.7/100 87.1/100

Cost wins on 16 out of 20 prompts. Quality equal or better on all complexity levels.


Install

macOS / Linux:

curl -sSL https://raw.githubusercontent.com/kunal12203/Codex-CLI-Compact/main/install.sh | bash
source ~/.zshrc   # or ~/.bashrc / ~/.profile

Windows (PowerShell):

irm https://raw.githubusercontent.com/kunal12203/Codex-CLI-Compact/main/install.ps1 | iex

Windows (Scoop):

scoop bucket add dual-graph https://github.com/kunal12203/scoop-dual-graph
scoop install dual-graph

Prerequisites: Python 3.10+, Node.js 18+, Claude Code or Codex CLI. The installer detects missing tools and offers to install them via winget (Windows) or homebrew (macOS).


Usage

Claude Code (dgc)

dgc                              # scan current directory, launch Claude
dgc /path/to/project             # scan a specific project
dgc /path/to/project "fix the login bug"   # start with a prompt

Codex CLI (dg)

dg                               # scan current directory, launch Codex
dg /path/to/project              # scan a specific project
dg /path/to/project "add tests"  # start with a prompt

Windows

dgc .                            # from inside the project directory
dgc "D:\projects\my-app"         # any drive, any path
dg "C:\work\backend"             # Codex CLI

What It Does Under the Hood

  1. Scans your project — extracts files, functions, classes, import relationships into a local graph.
  2. Pre-loads context — when you ask a question, the graph ranks relevant files and packs them into the prompt before Claude sees it. No extra tool calls needed.
  3. Remembers across turns — files you've read or edited are prioritized in future turns. Context compounds.
  4. MCP tools available — Claude can still explore the codebase via graph-aware tools (graph_read, graph_retrieve, graph_neighbors, etc.) when it needs to go deeper.

All processing is local. No code leaves your machine.


Data & Files

All data lives in <project>/.dual-graph/ (gitignored automatically).

File Description
info_graph.json Semantic graph of the project: files, symbols, edges
chat_action_graph.json Session memory: reads, edits, queries, decisions
context-store.json Persistent store for decisions/tasks/facts across sessions
mcp_server.log MCP server logs

Global files in ~/.dual-graph/:

File Description
dgc.ps1 / dg.ps1 Launcher scripts (auto-updated)
venv/ Python virtual environment for dependencies
version.txt Current installed version

Configuration

All optional, via environment variables:

Variable Default Description
DG_HARD_MAX_READ_CHARS 4000 Max characters per file read
DG_TURN_READ_BUDGET_CHARS 18000 Total read budget per turn
DG_FALLBACK_MAX_CALLS_PER_TURN 1 Max fallback grep calls per turn
DG_RETRIEVE_CACHE_TTL_SEC 900 Retrieval cache TTL (15 min)
DG_MCP_PORT auto (8080-8099) Force a specific MCP server port

Context Store

Decisions, tasks, and facts from your sessions are persisted in .dual-graph/context-store.json and re-injected at the start of the next session. This gives Claude continuity across conversations.

You can also create a CONTEXT.md in your project root for free-form session notes.


Token Tracking

A token-counter dashboard is registered automatically with Claude Code:

http://localhost:8899

Usage from inside a Claude session:

count_tokens({text: "<content>"})   # estimate tokens before reading
get_session_stats()                  # running session cost

Self-Update

The launcher checks for updates on every run and auto-updates if a new version is available. No manual intervention needed.

Current version: 3.8.55


Privacy & Security

  • All project data stays local. Graphs, session data, and code never leave your machine.
  • The only outbound calls are:
    • Version check — fetches a version string (no project data).
    • Heartbeat — sends machine_id and platform only. No file names, no code.
    • One-time feedback — optional rating after first day of use.
  • .dual-graph/ is automatically added to .gitignore.

Community

Have a question, found a bug, or want to share feedback?

Join the Discord: discord.gg/ptyr7KJz

  • Get help with setup
  • Report bugs
  • Share workflows
  • Follow releases

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

graperoot-3.9.86-cp313-cp313-win_arm64.whl (4.5 MB view details)

Uploaded CPython 3.13Windows ARM64

graperoot-3.9.86-cp313-cp313-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.13Windows x86-64

graperoot-3.9.86-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

graperoot-3.9.86-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

graperoot-3.9.86-cp313-cp313-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

graperoot-3.9.86-cp313-cp313-macosx_10_13_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

graperoot-3.9.86-cp312-cp312-win_arm64.whl (4.5 MB view details)

Uploaded CPython 3.12Windows ARM64

graperoot-3.9.86-cp312-cp312-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.12Windows x86-64

graperoot-3.9.86-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

graperoot-3.9.86-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

graperoot-3.9.86-cp312-cp312-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

graperoot-3.9.86-cp312-cp312-macosx_10_13_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

graperoot-3.9.86-cp311-cp311-win_arm64.whl (4.5 MB view details)

Uploaded CPython 3.11Windows ARM64

graperoot-3.9.86-cp311-cp311-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.11Windows x86-64

graperoot-3.9.86-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

graperoot-3.9.86-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

graperoot-3.9.86-cp311-cp311-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

graperoot-3.9.86-cp311-cp311-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

graperoot-3.9.86-cp310-cp310-win_arm64.whl (4.5 MB view details)

Uploaded CPython 3.10Windows ARM64

graperoot-3.9.86-cp310-cp310-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.10Windows x86-64

graperoot-3.9.86-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

graperoot-3.9.86-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

graperoot-3.9.86-cp310-cp310-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

graperoot-3.9.86-cp310-cp310-macosx_10_9_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file graperoot-3.9.86-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 d5570ce134de0ffb97ff9f1d0f5e28f1d2d727bf6ba3925ef152be975fef2a7a
MD5 7a02712dec10a6c68f3f993923ab98b4
BLAKE2b-256 7e93ef94420adcd4c6b67a53552dab92b0b2bd63adce06e1f28abc15b5a0dd16

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4bc0e094ccac383e3dcf5c2ffbdf99aa8d03182197aec532d6b49c6e1bfdc91a
MD5 1b3a165af290389409e9caa17fdd02f4
BLAKE2b-256 d2c83a6543471bc3b99dbad3a0c178caeea598ecd97b3bddd3cb34582ede19a1

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9f838f3be72219cebe4bdffab460a7f204ee2c598a4e42e76f6e275e30bb6568
MD5 9cd1a22488cf19421ae6077f2b58449d
BLAKE2b-256 93d5be37d99b9915d5353068e7daa46418c26f860b8f8ab2f07da1ae463f6e8c

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99a5b8e50b7284e1d44b0fe862cdcb3221be67adf9bbe5690c611fecfd503ae6
MD5 285e168aba154c51d8bc19a734017015
BLAKE2b-256 a2bc827990fffca0e54a4bb49f25c1e53a8ffc1e2bf179233500735d775d2fac

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1c1fc905ceb274d6371dbfcb6653bf8b15b427fbaa3b128cf967d10e93a8c3f
MD5 be6c37dbb5c30128dc1c4e1ce54974bb
BLAKE2b-256 cda2d2c39a02a3c52a6a4c884b2b1233a6d2edbd94c011028a859fadaf18a7c8

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9686af98726e5d3819d9f611130eb09604ee07ff03ac4ff7fe54912735fe3de3
MD5 a444423e98c0ac43f2655c6634af4577
BLAKE2b-256 a516bde6b095d5cf06ac3684b44996106325d1db25516b836dec5b17e8bbd28d

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 ed65ff63fc73350341ac6f3f4b9b01fe0d55152588ddce03186b9421b3236014
MD5 1a8859502948704f705e3917142c5a5a
BLAKE2b-256 3adf0215ef63344e22f5fb06d9652b867bafa049831fecbaa495537930d232dc

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f2f6fb693ae3ae4d6e51254eee7b5152600e913e843bb026efc128261bab0fd7
MD5 1421dd7d895a9d7cb7b9e8082ccbb221
BLAKE2b-256 83046936e7b721db63c77cc12ad4fc9e06403f60c159d05a2314db89f6c11f5f

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd85ba31e95602f0a9f73ad744bf81369defe6a4ba1911bbd453a81f1e620b06
MD5 3c9d5b17a5a98214e278c833b0b75d5a
BLAKE2b-256 fe47bd7b8fff3dd70aef96ccdfaa6ec89bbbf7b92085facd7178fa55cf78272b

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3292f5ccdbd6b24e26a926fb49d586bb0c23d74e6a681ca95177adf1e67a485b
MD5 9c1bbd0baa2f94baeb6cfeb4f702b48f
BLAKE2b-256 4837994161494812ed5470ea58f42120819f58fb0606a92a5529896002272d93

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bae5e2e21756b2d366d582a9eec36dedeed3b858f960ef72b6882c444efbb156
MD5 6fae7fe84abc0e4a738c8ef23c239970
BLAKE2b-256 5754154d93930fc1131d2fb0f2540c8c012ccd1712804f0221046cc52222853b

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ef28cc902088d94d4414af59e57e91a4f48ef36958445f14f7db408a18d1746b
MD5 8c698648ed1b7d5cda4b71d6ca61098d
BLAKE2b-256 cf63fcff1772e4b60ecd3bf7f3a82a9c59cf046a4400a9f5debae058460478ac

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 c1f0e7af434519165d993f6bcfa7fef9eafb3d3eed5006764e18b408bc31887d
MD5 8477706644765b896d53959ce008cedf
BLAKE2b-256 269b0ae775608a2296aa11c2cb6ce5d3af5ab5a25f8840b432f95b1e47bad719

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4cebf62f134d713bad33700fa1ba20062f62c68c4f6c26299ee0e86f093eb1d9
MD5 11b2ec93469f337a447a4694d4dfe677
BLAKE2b-256 7de1adc4fd52f985be7d567cf72feec9ddc9416cfb432cfdf94447176445ebca

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff6219751c8eb0c64271aebf03b8ab335ebc86812f4d2b1d87e6fc19c443aa2c
MD5 3a27c765b594e39e2a1854fd41d2cf04
BLAKE2b-256 874c9e1b1ae442c0d5a52e7c209cc6cd03fc6c5dc56edf1f967fcf3bd76bebce

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df54877bc92251f03baf4297faad6265df23bb2fbf9736010e98e384a056580e
MD5 8ed68dfa82d01d50328cb1d8bab2ce4c
BLAKE2b-256 c3f9676512b2b952d79753d4218508695a3eae9731ca4512b3feeb918dfa178a

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3d9cb3d57fa86809752bf3166c625b148d6678ec302518af09a483a14b94d9a4
MD5 421952bd4c9116df9da695554733397d
BLAKE2b-256 150af7bffad15268e0dfd04d645ba632abd32bb3091dbcbc317c5009a511440e

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eb9e07c732734af4507760f366d9aafa4f0c9ca98c2a9c857b52d1457bde0289
MD5 e90fb7bf9ae77afb8620d49b08b4cfc2
BLAKE2b-256 8ee033c5d7b6558f86c082683d599d1df9d913829c784bfcc0443aa36d8fe8ab

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 6d10b710ff22f8a6801b17e8f8164a817a74a5f2f7713451de359e85ececf558
MD5 8c09df9220482a8850a8cce815359bf4
BLAKE2b-256 5d88600682c2a84ceab8034f481ff91653a965c3f0c20929380da54c5b2fc2d4

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: graperoot-3.9.86-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for graperoot-3.9.86-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 17611e0c438b88666c5e77b2557e61ccf923fb14296a77db2cf3d0b61bebbd37
MD5 4d601cce954d909795c0a1758197ad82
BLAKE2b-256 9c899ed53f1ce83edf4c72941187829f41a9bb5621eec3e63e4c2c66e163412e

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 97bf311f571a2a69f0bd63b1067b356b13a8a7c5839fa70a62c0b31cc7cfbb40
MD5 1f1d33b55899835592bad1842afc669e
BLAKE2b-256 8599f80f7e1c4f23f08fdbf71eca3e0003627e8495bb54496564c3b0fbaf94fb

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8598e110a99af17be1164351d7e25d3f9061491e0ded9b9c0bb519effa25d040
MD5 90916631faa201bb8c8c48eee6322a21
BLAKE2b-256 f89457ed8e2102f206dd0b8af36a504384ef4657e996ecc9f036d2996f58d529

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ff3b25093a8e5d6b41bf037584fc130793c1fbb72942409b5af0d702534d0cb
MD5 9cc2d0432b598e80b2eac2629c223e2d
BLAKE2b-256 761ec9b39bfedb40721b5daeba7f9dfc4567d9687e9210d34fef7b97de656add

See more details on using hashes here.

File details

Details for the file graperoot-3.9.86-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.86-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c949b7c96f653d5671be74ed1194794c2cd6c9a68bc5356af3ee873e76088070
MD5 5563df8c59e3b4f71c5fad708d13c9b3
BLAKE2b-256 2649672afa55d30f2d094509c6465db5a687ba4889e27b9bf353da12d7b712c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page