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.95-cp313-cp313-win_arm64.whl (4.5 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

graperoot-3.9.95-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

graperoot-3.9.95-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

graperoot-3.9.95-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

graperoot-3.9.95-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

graperoot-3.9.95-cp312-cp312-macosx_26_0_arm64.whl (5.8 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

graperoot-3.9.95-cp311-cp311-win_arm64.whl (4.6 MB view details)

Uploaded CPython 3.11Windows ARM64

graperoot-3.9.95-cp311-cp311-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.11Windows x86-64

graperoot-3.9.95-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

graperoot-3.9.95-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

graperoot-3.9.95-cp311-cp311-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

graperoot-3.9.95-cp310-cp310-win_arm64.whl (4.6 MB view details)

Uploaded CPython 3.10Windows ARM64

graperoot-3.9.95-cp310-cp310-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.10Windows x86-64

graperoot-3.9.95-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

graperoot-3.9.95-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

graperoot-3.9.95-cp310-cp310-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

graperoot-3.9.95-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.95-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: graperoot-3.9.95-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.95-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 fffdd56e8ec68876506dbeb9bec19428ceaa43e00e83df4adf77efc9af9738a3
MD5 47f189d8965bc547248ef94158822332
BLAKE2b-256 427c0f6212798e0f5410a9d4a35a723ceb9deea73630f770fd1c349b30812ac3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graperoot-3.9.95-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.95-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d35b6743a08dab46854a8d7a7ecb78aff208d2b4a2e808d35444c763713e89f3
MD5 85c44960da72716b6a23af6b3e463bcc
BLAKE2b-256 1f65e095fd0e33cda4e9acc8eac0fbe911c19d421ff0d5b82863317edacc8280

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95474f20253fdc429c461b46298bcdfc7314ea5537a623923d419b0ed94a9d1d
MD5 437d6fdabb10875c39123ffa7c326c9b
BLAKE2b-256 fec544d397c2b2fd1a4464ca3f2a8d173696edf391c5dfa0cf37959f24014b2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3f4f88315a0f64879b10dc59c9ae490b5d94601acefd25e8051ab6d1ad3fd4bc
MD5 1d672eafec14fd12cbe946dc60e8fec4
BLAKE2b-256 595a4a7f492706292bca1f390c6e0e6dc6131e4be8af1d5e5684b49f10bd39d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d46ad5224163730abecae4cb5fd9cea783b642507ea89a5a7eeb75f9682e0d6
MD5 e3b7c85af058ea3c1296e73d154d2f06
BLAKE2b-256 c420bf2cf839991372ae97864d0c1ee6c0b468896a43db9b9644a9f568809192

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e4f3b7c2650e914519eb8d5722a45a8e11c2907cfab38edf13ffc1df750c5518
MD5 945d77d0b490dfe5944f2bbd89615386
BLAKE2b-256 ad85fcec36414e997f601995dfed30811d1281b11c753c2d6314e8cc565a2773

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graperoot-3.9.95-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.95-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 c2a03835bd5df7079233971546bcfa675fa476daaefdcb1e6c3dfb3f307ebe57
MD5 7fa335baeea2017ef5d882ecb016809d
BLAKE2b-256 88f7b61228d031d5e88405954d13584dabe97592cd3c0bd4d1d8033f47094a36

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graperoot-3.9.95-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.95-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2f44be84d4083a547914dcd2a7f4aac0eaeaead894f7a688cf4ef14fc4774917
MD5 fcf21fa2b34df7a6f2eab526ac6367d3
BLAKE2b-256 26ea0d64cf4dc54579f5b0b2c9c3aaf370ce4de37c2e20e208dff763baa85aa2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37c105cb71f90afa4ed8fc115e5bfb253bc9919a67341909fa678ca84d386ff3
MD5 e1982abb0ba3ef8c9937f07abb403422
BLAKE2b-256 3d97de9dc04db7e36828afdb286206bb384643a25829a516249437103b27bfda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7328063e1f81e2d3176bc1fe10d469ac235a1629b6d32e4faac2595e869c43ee
MD5 19390d2966f04d23950d3f52980f1dc7
BLAKE2b-256 42becc2f7aec8948c6ff7649a07d97210719499028f91d4a4211fa435aa52b73

See more details on using hashes here.

File details

Details for the file graperoot-3.9.95-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for graperoot-3.9.95-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 7ac5026265b7b6eda5020d3aae371d0e01d0d4ed00524753a2db4e1f5e832093
MD5 553546ca7916c3ffe1dab59ae0e10a0f
BLAKE2b-256 0f75dd30a687482d9389e2acc34665590980ff73e7791e3f6bbeef930d07d0fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2564d9da89cebfa5851967445ad56312783d53e1644ae535b9a24de8eafa994c
MD5 5ba76f270eef4145cb71d6343a753ea8
BLAKE2b-256 5a771fdea4b48b4683e12a1d6baf0caa24e56bf1bdc9551e2366ba11f0fa72c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9e239d01b75b6eabf8791bc1c38d6753f13fbb04547975c89a730f4fa2ad89f0
MD5 769691f52226648584c26470a28263f2
BLAKE2b-256 537203a13980f8c5c0e41210d7d61ce7622de7221ee2127289080ceeeb03909c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graperoot-3.9.95-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 4.6 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.95-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 bcfc2947c5faf7934033d74ac68022fc74791b878d9df525bac8058d86e87370
MD5 e5edcac9d31bcac8cd15f823ee87997b
BLAKE2b-256 993be96b42380add5d0a2cad129a87d1153666d3f4d1d3dc6fca22386878daf7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graperoot-3.9.95-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.7 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.95-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a08794c1300ee737845a791cccc513b715a1ef192cdbb45163f7c14aeefd15ad
MD5 041bbd420ceac6777d2c7f5d938512e9
BLAKE2b-256 0c81e6601df7f64eda5f56f1a3b14fe4d0936e47d6dad93df1d0c5b2437026a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea1a66dcdd655279fcfe1c5f8a9ed60e482e471546bb099e33cb188c0f4124ec
MD5 05b37244644b1bd7d4ddc82aaabe78e8
BLAKE2b-256 f1c64b776a0ad159158244de688a3c0b53c0d9cbfef1b115c0bfcc08b786a517

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 56f5203a59949eb92fb7bff16ac83bd6c59eaeccd192801abbb610118e17216c
MD5 96dc3bb90b33f91021b4cc49e1c368f2
BLAKE2b-256 bb1733260c1fbdb8a961619adcb673b045f149611f22f28fd4e55a269c5e38cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0614bea2e435412b25d7993ddf1d420c2967eb9f4abcfb400913878a3f63c87
MD5 bf18499b538836ad4dbeffa2eadbbffa
BLAKE2b-256 927a9a5b1356df7b23deaae5976f14795b65aee513eef7a348db7a973966c4b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 45f335028707b809ea683c29b89f89508f1e04aa26f777ec82beb7f8c9d47460
MD5 d2ad27d1b022fd3422fc00074eab51d9
BLAKE2b-256 415263fd82f0a8904c9294a22cd83e3d76f9ad7c86c98367c266fbf5aad7b8a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graperoot-3.9.95-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 4.6 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.95-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 76aabe880fd661bf5cb08cf938d024341bd73d759a79f0aad28352ceedd9d25b
MD5 caa3b326215a2bd3cbb4ff5b3a1eab6c
BLAKE2b-256 6a370ce8ece7c9dc9b441151890a25badc6cf8af36bcc0959045fd4266893094

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graperoot-3.9.95-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.7 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.95-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5e53dd58bf225b10da16fe26162d30bff0c13aed7dbb0140c5e567f974e98651
MD5 6d4bd3721d2c138107e2599dc24b66a3
BLAKE2b-256 8a30f25946069751a5e81cd04c2b6ebf41584cc60ed57a21dbcf47d6a03ef791

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7feb7cc5207c56c56494b8de6fb956a10f198e9ae11fddc3e05745d293432848
MD5 c656e84272a9795dcdbd49c2811b2e06
BLAKE2b-256 9796fb1f0d447df6ef90399eb556d7cb7b41ef57e707cc37921eda2af023c421

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6dcdf6d7bd15a8109530827d17c27554c67528386ab644e2ab591960fb2d8f1
MD5 54801ee9de5a14b7f0b73b8f98f03171
BLAKE2b-256 483bdd24a474568ed42c481df2481921e4042c51464a89588101e0558cbb6a8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 738e21024b53f4b1f8b8aa88da17df0df794e9fb18b4cbe63e06cecc5a1ca56e
MD5 d86421a9bd15bea2d7c0c350d653f2c7
BLAKE2b-256 0d79402c62c33cfe43fff1eabf3555818a24d38f21cb177e1632a063bff80b2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graperoot-3.9.95-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 90772575e7054af1a55c527a0bc65847e0ec6380eda23dd7ddccea635f4a7197
MD5 276aa2c4e75af05dab81486160d905a3
BLAKE2b-256 43f7bb4963c561943f63b3762f415d36fdfa6a7161e960206d1fed5f4ca3635c

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