Skip to main content

100% openCypher-compliant in-memory graph database — 4 backends, 175+ algorithms, pure Rust

Project description

OCG — OpenCypher Graph

High-performance in-memory graph database with 100% OpenCypher compliance, 4 backends, and 31 algorithms — pure Rust.

PyPI Python License OpenCypher TCK Rust

Overview

OCG executes OpenCypher queries against in-memory property graphs. It is built in pure Rust and exposed to Python via PyO3 bindings.

  • 100% OpenCypher TCK: 3,897 / 3,897 scenarios passing (0 skipped, 0 failed)
  • 4 graph backends: PropertyGraph, NetworKitRust, RustworkxCore, Graphrs
  • 31 graph algorithms: centrality, community detection, pathfinding, spanning trees, flow, coloring, matching
  • Bulk Loader API: 57x faster batch construction vs OpenCypher CREATE statements
  • Serialization: save/load graphs to JSON with full metadata
  • Python 3.8–3.13, macOS · Linux · Windows

Installation

pip install ocg

Rust:

[dependencies]
ocg = "0.3.0"

Quick Start

Python

from ocg import Graph

graph = Graph()

# OpenCypher queries
graph.execute("CREATE (a:Person {name: 'Alice', age: 30})")
graph.execute("CREATE (b:Person {name: 'Bob', age: 25})")
graph.execute("MATCH (a:Person), (b:Person) WHERE a.name='Alice' AND b.name='Bob' CREATE (a)-[:KNOWS]->(b)")

result = graph.execute("MATCH (a:Person)-[:KNOWS]->(b:Person) RETURN a.name AS from, b.name AS to")
print(result)  # [{'from': 'Alice', 'to': 'Bob'}]

Bulk Loader (10–57x faster)

Bypasses the OpenCypher parser for large batch operations:

from ocg import Graph

graph = Graph()

node_ids = graph.bulk_create_nodes([
    (["Person"], {"name": "Alice", "age": 30}),
    (["Person"], {"name": "Bob",   "age": 25}),
])

graph.bulk_create_relationships([
    (node_ids[0], node_ids[1], "KNOWS", {"since": 2020}),
])

result = graph.execute("MATCH (a)-[:KNOWS]->(b) RETURN a.name, b.name")

Serialization

graph.save("my_graph.json")
loaded = Graph.load("my_graph.json")

Rust

use ocg::{PropertyGraph, execute};

let mut graph = PropertyGraph::new();
execute(&mut graph, "CREATE (a:Person {name: 'Alice'})").unwrap();
let result = execute(&mut graph, "MATCH (n:Person) RETURN n.name").unwrap();

Graph Backends

Backend Class Description
PropertyGraph Graph Native petgraph-based property graph
NetworKitRust NetworKitGraph Port of NetworKit algorithms to pure Rust
RustworkxCore RustworkxGraph IBM Qiskit rustworkx-core algorithms
Graphrs GraphrsGraph graphrs-based community detection

All four backends expose identical APIs: OpenCypher execution, bulk loader, 31 algorithms, and save/load.


Graph Algorithms (31)

All algorithms are available on all 4 backends.

Category Algorithms
Centrality degree, betweenness, closeness, pagerank
Pathfinding bfs, dijkstra, astar, bellman_ford, floyd_warshall, all_pairs
Spanning Trees minimum, maximum
DAG topological_sort, is_dag, find_cycles, dag_longest_path, dag_longest_path_weighted, transitive_closure
Flow max_flow, min_cut_capacity
Coloring node_coloring, edge_coloring, chromatic_number
Matching max_weight_matching, max_cardinality_matching
Community louvain, label_propagation, girvan_newman
Components connected_components, strongly_connected_components
from ocg import Graph

graph = Graph()
# ... populate graph ...

scores = graph.pagerank(damping=0.85, max_iter=100)
communities = graph.louvain()
path = graph.dijkstra(source_id, target_id)

Supported OpenCypher Features

Clauses

  • MATCH, OPTIONAL MATCH, variable-length paths [*1..3]
  • CREATE, MERGE, SET, DELETE, DETACH DELETE, REMOVE
  • WITH, UNWIND, RETURN, WHERE
  • ORDER BY, SKIP, LIMIT, DISTINCT
  • UNION, UNION ALL

Expressions

  • Property access, list indexing, string slicing
  • Arithmetic: +, -, *, /, %, ^
  • Comparison: =, <>, <, >, <=, >=
  • Logical: AND, OR, NOT, XOR
  • String: STARTS WITH, ENDS WITH, CONTAINS, =~
  • Null: IS NULL, IS NOT NULL
  • List: IN, comprehensions, quantifiers

Functions (60+)

  • String: substring, trim, toLower, toUpper, split, replace
  • Math: abs, ceil, floor, round, sqrt, sin, cos, log
  • List: size, head, tail, range, reverse, keys
  • Aggregation: count, sum, avg, min, max, collect
  • Temporal: date, datetime, localDatetime, duration
  • Predicates: exists, all, any, none, single

Procedures

  • db.labels(), db.relationshipTypes(), db.propertyKeys()
  • dbms.components()

TCK Compliance

3,897 / 3,897 scenarios passing — 100% (0 skipped, 0 failed)

Validated against the openCypher Technology Compatibility Kit.


Development

# Build
cargo build --release

# Unit tests
cargo test --no-default-features

# OpenCypher TCK
cargo test --test tck_property_graph --no-default-features

# Python wheel (requires maturin)
maturin develop --features python

Credits

Algorithm implementations (PageRank, Betweenness Centrality, Dijkstra, etc.) are based on published academic work. See NOTICE file for complete citations.


License

Apache-2.0 — see LICENSE and NOTICE files.

OpenCypher® and Cypher® are registered trademarks of Neo4j, Inc. This project implements the open OpenCypher specification and is not affiliated with Neo4j.


Contributing

Issues and proposals may be submitted via GitHub. Contributions are evaluated on a controlled schedule — pull requests are reviewed at the maintainer's discretion and timeline.

Project details


Download files

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

Source Distribution

ocg-0.4.0.tar.gz (512.5 kB view details)

Uploaded Source

Built Distributions

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

ocg-0.4.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ocg-0.4.0-cp314-cp314-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ocg-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

ocg-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

ocg-0.4.0-cp314-cp314-macosx_11_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ x86-64

ocg-0.4.0-cp314-cp314-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ocg-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ocg-0.4.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ocg-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

ocg-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

ocg-0.4.0-cp313-cp313-macosx_11_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

ocg-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ocg-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ocg-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ocg-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

ocg-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

ocg-0.4.0-cp312-cp312-macosx_11_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

ocg-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ocg-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ocg-0.4.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ocg-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

ocg-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

ocg-0.4.0-cp311-cp311-macosx_11_0_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

ocg-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file ocg-0.4.0.tar.gz.

File metadata

  • Download URL: ocg-0.4.0.tar.gz
  • Upload date:
  • Size: 512.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ocg-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f09fb5a5ebdfa6b033562f40b92ddf49892f6df4a9e5924232abd91c45db918f
MD5 5c32acf6ea1f39226f01345882a3802b
BLAKE2b-256 ea22aa292705f35b544f8c274ba64b47dd60f783367e5e0c1602a88efa098553

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c2c918eda1031c64f317501234e3c8e680075f868ebad6783258b53791f42b15
MD5 d7acfae4844240655de71c42dc3e8700
BLAKE2b-256 d0bed35a65eab0891fbec889b6255227e04430768de2587288ce7d4ee2a2f272

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a44f7837fdea6bb0856d15f94da45034b1b485fd4bc14094c85570fdfcbcee9f
MD5 bd1e7f1b17417b284a1045a146c07b1c
BLAKE2b-256 6be9fcda54e1cf99c55ba3ab9b2421c2129c25d1177c572c469141708b97c221

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec8c0919feaab78b59539edc0a5509bbd1edf8bee5f818479345701beea81173
MD5 62020daf2037e3d2ba1dfda3cf93c07b
BLAKE2b-256 cc69e2b39c839ea5b0860364870ef31e8a95c914938bbe8b554996d4857407d8

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f4f4fa85bcdb74f9b2907b2b7ce9b6f0afe013c4f3acc81743217425a06edf5c
MD5 528563f31667decd913e1fe39b9625e9
BLAKE2b-256 3511a873570e1bc838dd0bf45e0a915d89f542fbf29b0451442cb0f1c27d93e5

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp314-cp314-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp314-cp314-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 eda74568e57adc2eece16213d0a9eaf48ddea391025c8eb2cd031a7e88ac6403
MD5 07c0c19e3d5888e56fc44ae9534840fc
BLAKE2b-256 3d7fa140baf45503b618c2ea3d8fba8ea5f16957ae6d748809102dc7a3b347db

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ocg-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ocg-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3fb911ec28fac3e12b312aca05161bc7068ec9df3264f3e765e488c1bccc1178
MD5 e71f79e2444142387740ad71e25baf0c
BLAKE2b-256 fff984f18b3a46c925491c17c217121fe920eccd2fe8b9f3d09181601dc3cc20

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e20d3127dba6dfce135f9b8ab717319abaf283790f2703a3268300d5b3bd7a5e
MD5 275be8721bcdda45fc2e1c8ae07c896c
BLAKE2b-256 b4a764e29361d2a9696fad86ffe7384934c94477a1cd3f565be1d619990e7364

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 360ca02b181210567f7e83727e182660944e0d4ec3ccff13de33b6714bef584c
MD5 ddad4858c44cb034280a3155fb98e97c
BLAKE2b-256 7bb6699e15aa156e2d9a44cc0c00665c0f38525ce8dbb3e0c1b29915da7d0485

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1152f853aa512bde77574d138891fbcfdc04259f12d073b36c72c9519cd12a92
MD5 a9097085b5591fb2b47b77f2016d016c
BLAKE2b-256 4f30ea991e7688529ba000b8efba080a8036f46a447fb0b91f216c8bafee551c

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6e8b14808d934308163b724e38e04330763a6fd69f5d3a0032ab61bf63f32ff3
MD5 6c7f087915aef7a49fcda410eb885ef2
BLAKE2b-256 90c78cb8a8a80eb285fced7c9f04dfd27edb8249637228cd5c713fa5411a6e77

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6dc514a22407809292e5790b39238cbe93dbd2932f344c53f85512bc078d9d0e
MD5 64dcd690f7ba416be01f3ca02ad506a7
BLAKE2b-256 6d1b7d775f3e334568f82da01398584ec3f76ac3df73620f234e6b2acf3ade12

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ocg-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ocg-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2cc9bb9ab37afadf0690ba71c3582f811690aa52d15b47f435b7bb212f2a6c0d
MD5 ea9e08cd8e989c35afad6b1e31365a0a
BLAKE2b-256 0b426de32294f8d794ac9af9b3d752d859bc44d71605a4b5dfb820f7fdb41c6b

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d23cb107fd9f8ce95d106c485634de09f2965f6c5edff9a54fb54d5a9e6bb72
MD5 1b8a6f5704a021b43eb8e19dd9926582
BLAKE2b-256 0c232904d36cf51ce7a98b1b92cb594e57cce7cdc2fdd7ea753e9952fd4f16a6

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b1d5b30c9bd76c26d8e0c1fd5e6adcf6af5b114d88d8122a4fd4632dbd9a119
MD5 67b1eab6db6ecfd8e70858c542f54b5f
BLAKE2b-256 9f6454ac07cacdf35ef7c86db9e41e98ccf1d3a0246d7f3de280eda4808a939a

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 57b56f563b7e87ed4ea38f57ea9e160f1063f585b83a8819e58f03a961e57921
MD5 5bf1f4f9ab7c7859b0d4a25e634039c4
BLAKE2b-256 75c641e3fb6bb5efe1ee3ff63d7a4fdb68b721428b57929dba37b2d4e7c521db

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 16622b1208bcc1a84c7a4c35cd78046031452b555e2bb60db78e6ddade888ef7
MD5 19dbd07d9c159775067fe305201ebf4c
BLAKE2b-256 133fb6f4284ce987e44c9b3fb98a1e8dc40f70cc82ff9f4de70d71521d8bc994

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 8d00e7eea0b80bc05e6b346148b92ee16de30b7220b5b913aa6e5a5a5b94df41
MD5 5040b24cfc1b368e7d6fc7ac6c8c90b4
BLAKE2b-256 4c49584c83acbffd2cdf6a4a155632100a17bfe4fa8d03edf505e28eb8c3e55b

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ocg-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ocg-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5088be0f10bb5f54af3e81887c87c60f1b01c54659a9d0cec1339495ba045c2
MD5 b83cac72d9f02515c349b21f9d53355d
BLAKE2b-256 a35f1325a301c8398b6b01d063e2237506cfd84ca64a9732f56058aa5d6545c1

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 31c40775709044bff8c65a0b0ba21760dd734645d52fa8c26a361abf167fb0d2
MD5 420cf1e6e3e984ab8f2acdaff9b809e2
BLAKE2b-256 ec2dc5144ba1b8006e01a91052f1bbbd97fb6afafabf3003e6f19a9b63d0a4d3

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6cbf85da18e593440a6a10c258b70b2be824cddd47358ac3fd5a1ad40f0026f0
MD5 83947bd52f9c2406058ac8830e1fbc02
BLAKE2b-256 a30292d273cb7ffa84122e30503d82a56ec671b8be437440b21da2b0d6d8c373

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e564dd26bb6b34044b915408c80612614d2cf6ab6b24fe7f8d62cada5f994e79
MD5 59c95d03bfadd569e4524d43b92c2273
BLAKE2b-256 03901ec735c4f72cdc1a0d5791441ca2ad41ff0ac1a6a298f25abd2d8c7a33ab

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ab9f3eb7829b0d18fb6cd29045eee0d2cf3d3932a3286e873351d7800f77d65b
MD5 c44d070fd93f2764ace362ecdfecbacf
BLAKE2b-256 cfcc2f0e4f2a41833de7cb9e1c50a1ddf4f6f383633ae4f5362c41d45920ce83

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ocg-0.4.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 831daf4d042a0332ae4ee0177901186d5dfef97047804ebd851c4533b07bb9e9
MD5 723cec0353a661eac6c4860a89faecc9
BLAKE2b-256 2a3a1a59c2caf4e179e3be7361b4e840b2190772cf83656f0b8651fa6a113e97

See more details on using hashes here.

File details

Details for the file ocg-0.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ocg-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ocg-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbfe33a925ee6b859f5ef164c74e2fecd97308f47ecd1fc3e2cdfcd49208a37b
MD5 563a93cc13f0056a1ae1686d5cdc0720
BLAKE2b-256 07d3f52065c74997cc7ce2e7b512e0278a517440d13afee220c22ee8c655028c

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