Skip to main content

OCG — OpenCypher Graph

High-performance in-memory graph database with 100% OpenCypher compliance, 4 backends, and 175+ 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
  • 175+ graph algorithms: centrality, community, pathfinding, spanning trees, flow, coloring, matching, cliques, layout, generators
  • Bulk Loader API: 57x faster batch construction vs OpenCypher CREATE statements
  • Persistence: WAL + Parquet snapshots for crash-safe durability
  • Serialization: save/load graphs to JSON with full metadata
  • Distributed mode (Rust only): Partitioned storage, Apache Arrow Flight RPC, Kubernetes-native autoscaling (build with --features distributed)
  • Python 3.11–3.14, macOS · Linux (glibc + musl) · Windows

Installation

pip install ocg

Rust:

[dependencies]
ocg = "0.4.5"

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")

Persistence (WAL + Snapshots)

For crash-safe durability with write-ahead logging:

from ocg import Graph

# Open persistent graph (creates/loads from directory)
graph = Graph.open("/path/to/data")

# All mutations are logged to WAL
graph.execute("CREATE (:User {name: 'Alice'})")
graph.execute("CREATE (:User {name: 'Bob'})")

# Manual checkpoint (writes snapshot.json, truncates WAL)
nodes, edges = graph.checkpoint()
print(f"Checkpointed: {nodes} nodes, {edges} edges")

# Auto-checkpoint happens after 10,000 operations

Files created:

  • snapshot.json — Full graph state (nodes + edges + properties)
  • wal.ndjson — Write-ahead log (operations since last checkpoint)

On restart, Graph.open() automatically loads the snapshot and replays the WAL to recover the exact state before shutdown.

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, 175+ algorithms, and save/load.


Graph Algorithms (175+)

All algorithms are available on all 4 backends.

Category Algorithms
Centrality degree, betweenness, closeness, pagerank, eigenvector, katz, harmonic, voterank
Pathfinding bfs, dijkstra, astar, bellman_ford, floyd_warshall, all_pairs, all_simple_paths, all_pairs_all_simple_paths
Shortest Paths single_source, multi_source, k_shortest, average_shortest_path_length
Spanning Trees minimum, maximum, steiner_tree
DAG topological_sort, is_dag, find_cycles, dag_longest_path, transitive_closure, transitive_reduction, dag_to_tree
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, number_weakly_connected, is_connected, is_tree, is_forest
Cliques find_cliques, max_clique, clique_number, node_clique_number, cliques_containing_node
Traversal dfs, bfs_layers, descendants, ancestors
Transitivity triangles, transitivity, clustering, average_clustering, square_clustering
Graph Ops complement, line_graph, cartesian_product, tensor_product, strong_product, lexicographic_product, graph_power
Euler is_eulerian, eulerian_circuit, semieulerian
Planar is_planar
Contraction contract_nodes, quotient_graph
Token Swapper token_swapper
Generators erdos_renyi, barabasi_albert, complete_graph, path_graph, cycle_graph, star_graph, grid_graph, petersen_graph, watts_strogatz, configuration_model, expected_degree_graph
Layout spring, kamada_kawai, spectral, sfdp, hierarchical, bipartite, circular, shell, random
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()

Python API Reference

Core Graph Operations

from ocg import Graph, NetworKitGraph, RustworkxGraph, GraphrsGraph

# Create graph (all 4 backends expose identical APIs)
graph = Graph()  # or NetworKitGraph(), RustworkxGraph(), GraphrsGraph()

# OpenCypher execution
result = graph.execute("MATCH (n:Person) RETURN n.name")  # -> list[dict]

# Bulk operations (10-57x faster than CREATE statements)
node_ids = graph.bulk_create_nodes([
    (["Label"], {"prop": "value"}),  # -> list[int]
])
graph.bulk_create_relationships([
    (src_id, dst_id, "REL_TYPE", {"prop": "value"}),
])

# Serialization
graph.save("graph.json")
loaded = Graph.load("graph.json")  # static method

# Persistence (WAL + snapshots)
graph = Graph.open("/data/dir")  # static method
nodes, edges = graph.checkpoint()  # -> tuple[int, int]

# Metadata
node_count = graph.node_count()  # -> int
edge_count = graph.edge_count()  # -> int

Algorithm Methods

All 175+ algorithms are available as methods on all 4 backend classes:

# Centrality
pagerank = graph.pagerank(damping=0.85, max_iter=100)  # -> dict[int, float]
betweenness = graph.betweenness_centrality()  # -> dict[int, float]
closeness = graph.closeness_centrality()  # -> dict[int, float]

# Community Detection
communities = graph.louvain()  # -> dict[int, int] (node_id -> community_id)
labels = graph.label_propagation()  # -> dict[int, int]

# Pathfinding
path = graph.dijkstra(source_id, target_id)  # -> list[int] (node IDs)
all_paths = graph.all_simple_paths(source_id, target_id)  # -> list[list[int]]

# Components
components = graph.connected_components()  # -> list[set[int]]
is_conn = graph.is_connected()  # -> bool

# See "Graph Algorithms (175+)" section for full list

TCK Compliance

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

Validated against the openCypher Technology Compatibility Kit.


Development

Feature Flags

Feature Description Default
python Python bindings via PyO3 ✓
persistence WAL + Parquet snapshots for crash-safe durability ✓
distributed Partitioned storage, Apache Arrow Flight RPC, autoscaling ✗
self-heal Automatic partition recovery from Parquet snapshots ✗
metrics Prometheus metrics collection ✗

Build with specific features:

# Standalone library (default)
cargo build --release

# With distributed storage + autoscaling
cargo build --release --features distributed,self-heal,metrics

# Python bindings only (no distributed features)
cargo build --release --features python

Build & Test

# 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

Installation Troubleshooting

Linux (glibc 2.17+ required for binary wheels):

# Check glibc version
ldd --version

# If glibc is too old, build from source
pip install ocg --no-binary ocg

Windows (MSVC runtime required):

Install Visual C++ Redistributable if you encounter DLL import errors.

macOS (universal2 wheels include both x86_64 and arm64):

# Works on both Intel and Apple Silicon
pip install ocg

Performance Benchmarks

Bulk Loader vs OpenCypher CREATE

Operation OpenCypher CREATE Bulk Loader Speedup
10,000 nodes 2,340 ms 215 ms 10.9x
50,000 nodes 11,820 ms 1,050 ms 11.3x
100,000 nodes 24,100 ms 2,180 ms 11.1x
10,000 edges 1,890 ms 145 ms 13.0x
50,000 edges 9,450 ms 680 ms 13.9x

Measured on Apple M3 Pro, single-threaded. Speedup varies by graph structure (10–57x observed).

Algorithm Performance (1M nodes, 5M edges)

Algorithm Time Throughput
PageRank (100 iterations) 3.2s 312k nodes/s
Betweenness Centrality 8.7s 115k nodes/s
Louvain (community) 1.9s 526k nodes/s
Dijkstra (single-source) 12ms 83k nodes/s
Connected Components 420ms 2.4M nodes/s

Single-threaded on Apple M3 Pro. Multi-threaded algorithms can achieve 2-4x speedup on multi-core systems.


Changelog

See CHANGELOG.md for detailed release history.

Recent highlights:

  • v0.4.5 — Python 3.11–3.14 support, manylinux wheels for all platforms
  • v0.4.4 — Index support, UNIQUE constraints, TLS on Arrow Flight
  • v0.4.3 — Distributed benchmark tests, WAL replay improvements
  • v0.4.0 — Persistence features (WAL + Parquet snapshots)

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.

Metadata

Release files for ocg 0.4.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ocg 0.4.6
File Size Uploaded Provenance Actions
ocg-0.4.6.tar.gz 563.3 kB Without provenance Details for ocg-0.4.6.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for ocg 0.4.6
File Actions
ocg-0.4.6-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for ocg-0.4.6-cp314-cp314-win_amd64.whl
ocg-0.4.6-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for ocg-0.4.6-cp314-cp314-musllinux_1_2_x86_64.whl
ocg-0.4.6-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details for ocg-0.4.6-cp314-cp314-musllinux_1_2_aarch64.whl
ocg-0.4.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details for ocg-0.4.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ocg-0.4.6-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ IBM System/390x Details for ocg-0.4.6-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl
ocg-0.4.6-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ PowerPC 64-le Details for ocg-0.4.6-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
ocg-0.4.6-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARMv7l Details for ocg-0.4.6-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
ocg-0.4.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details for ocg-0.4.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ocg-0.4.6-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-32 Details for ocg-0.4.6-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl
ocg-0.4.6-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for ocg-0.4.6-cp314-cp314-macosx_11_0_arm64.whl
ocg-0.4.6-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details for ocg-0.4.6-cp314-cp314-macosx_10_12_x86_64.whl
ocg-0.4.6-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for ocg-0.4.6-cp313-cp313-win_amd64.whl
ocg-0.4.6-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for ocg-0.4.6-cp313-cp313-musllinux_1_2_x86_64.whl
ocg-0.4.6-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details for ocg-0.4.6-cp313-cp313-musllinux_1_2_aarch64.whl
ocg-0.4.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for ocg-0.4.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ocg-0.4.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ IBM System/390x Details for ocg-0.4.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
ocg-0.4.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ PowerPC 64-le Details for ocg-0.4.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
ocg-0.4.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARMv7l Details for ocg-0.4.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
ocg-0.4.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for ocg-0.4.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ocg-0.4.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-32 Details for ocg-0.4.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
ocg-0.4.6-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for ocg-0.4.6-cp313-cp313-macosx_11_0_arm64.whl
ocg-0.4.6-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for ocg-0.4.6-cp313-cp313-macosx_10_12_x86_64.whl
ocg-0.4.6-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for ocg-0.4.6-cp312-cp312-win_amd64.whl
ocg-0.4.6-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for ocg-0.4.6-cp312-cp312-musllinux_1_2_x86_64.whl
ocg-0.4.6-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details for ocg-0.4.6-cp312-cp312-musllinux_1_2_aarch64.whl
ocg-0.4.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for ocg-0.4.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ocg-0.4.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ IBM System/390x Details for ocg-0.4.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
ocg-0.4.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ PowerPC 64-le Details for ocg-0.4.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
ocg-0.4.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARMv7l Details for ocg-0.4.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
ocg-0.4.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for ocg-0.4.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ocg-0.4.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-32 Details for ocg-0.4.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
ocg-0.4.6-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for ocg-0.4.6-cp312-cp312-macosx_11_0_arm64.whl
ocg-0.4.6-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for ocg-0.4.6-cp312-cp312-macosx_10_12_x86_64.whl
ocg-0.4.6-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for ocg-0.4.6-cp311-cp311-win_amd64.whl
ocg-0.4.6-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for ocg-0.4.6-cp311-cp311-musllinux_1_2_x86_64.whl
ocg-0.4.6-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for ocg-0.4.6-cp311-cp311-musllinux_1_2_aarch64.whl
ocg-0.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for ocg-0.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ocg-0.4.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ IBM System/390x Details for ocg-0.4.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
ocg-0.4.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ PowerPC 64-le Details for ocg-0.4.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
ocg-0.4.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARMv7l Details for ocg-0.4.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
ocg-0.4.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for ocg-0.4.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ocg-0.4.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-32 Details for ocg-0.4.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
ocg-0.4.6-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for ocg-0.4.6-cp311-cp311-macosx_11_0_arm64.whl
ocg-0.4.6-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for ocg-0.4.6-cp311-cp311-macosx_10_12_x86_64.whl

Total release size: 113.5 MB

Release files / ocg-0.4.6.tar.gz

Download URL ocg-0.4.6.tar.gz
Size 563.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9c44fda0a1e77d0a0afd1d41358f55b92c3b67ecfcf2eb86c37c9b9ed6cd7b95
BLAKE2b-256 checksum
How to use checksums
f502625203462fc1e66e832f4c8f18436ad60915cf918e46c32f7208d7270045
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-win_amd64.whl

Download URL ocg-0.4.6-cp314-cp314-win_amd64.whl
Size 2.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
eb105d506021242ecd3c148bdcbb34fdea166ffda1cd7ce4f5294786c5c74d0f
BLAKE2b-256 checksum
How to use checksums
e33c95a9ccf3e6f299201d1401af67e95838807886b256e5eb544e482133ad1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL ocg-0.4.6-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2534d426ab25a68221ed50fb1371cd43e057d68feaebad7af29e56dc3ca211aa
BLAKE2b-256 checksum
How to use checksums
d1024373b0a01b1318fa971bb7c01a77bf7ae7f3f838bb99d086240342f9323e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL ocg-0.4.6-cp314-cp314-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
31c400691b6c3c85bb83ce5baf14bdd75c02d7a76bbf8db2d16247eef9c4428f
BLAKE2b-256 checksum
How to use checksums
b3a228e4651853c085de5d5e98b137a51f4dc8c630691a33710a3f98b63f5194
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ocg-0.4.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.6 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d80913bdc4a04eb2e8c7a74c23d37fac1e96c46bcf6f9030419eda12dc803368
BLAKE2b-256 checksum
How to use checksums
a01dadde7c09043b2bae5a311043ffa8ba35f6827083cd96e086ea51745b921b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ocg-0.4.6-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 2.7 MB
Tags CPython 3.14 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
12fceaa35c227887e65ea63a0e5ce8341c1825e7070ed0a0c9f4379bfd00af8b
BLAKE2b-256 checksum
How to use checksums
951069577ddf94fa252b65a1570c48d3dc47cc8a621dd1ef7cba54009e8d4776
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ocg-0.4.6-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 2.8 MB
Tags CPython 3.14 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
53a237f7610d209e80d149081e1da366e05947d5301b804d0e457a75ddb97081
BLAKE2b-256 checksum
How to use checksums
edbd743dbe65e62763dc8d150984abed6d39770f71f1e259c0b6920de9bf8245
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ocg-0.4.6-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 2.4 MB
Tags CPython 3.14 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
0439506359927be903e2b339a90c625957c5d92f786f990fcd29d9b9180a19a1
BLAKE2b-256 checksum
How to use checksums
dc96a07762090fe2d69d2cbc5a636ea780f81c911d32e898169699c8b6e4f7ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ocg-0.4.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.4 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
638b2e58bc212fe021894af978601ccc2ad1798a82f5201b50ef7ebe04990dcd
BLAKE2b-256 checksum
How to use checksums
7414deea96ad7f7d6623d99e0643b4ddd16b4302219e2f850e659c8193d972be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl

Download URL ocg-0.4.6-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl
Size 2.8 MB
Tags CPython 3.14 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
0b088138449bdab3881bf86bdc3fa70142984f4864cc54ad0e63ec37f5884d6b
BLAKE2b-256 checksum
How to use checksums
e4684647554c26d5f3b6b7822751d1fcb16ce2847d1abb3011b769345922518c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-macosx_11_0_arm64.whl

Download URL ocg-0.4.6-cp314-cp314-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0950e59be185af96a73be6bd64bfb46992c377e843466fc357994cecf13661f8
BLAKE2b-256 checksum
How to use checksums
3edc68a0a91144c74763e7f5dc78451c69f74ef8ba3876fe56bda49e308de71f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp314-cp314-macosx_10_12_x86_64.whl

Download URL ocg-0.4.6-cp314-cp314-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ec181272f21dbd433ba84b5bb9d0f7c3b54194d8ccea6830230435451cb7b1f8
BLAKE2b-256 checksum
How to use checksums
4bc37b776ebafcd35506971bd73df6abcf6aa37f68ab47736cd19a1eac76b914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-win_amd64.whl

Download URL ocg-0.4.6-cp313-cp313-win_amd64.whl
Size 2.6 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b64ce71a8262a9f7b68f7d42b31e4c0e37b79d63eaf4263c45dfda58f0d9ebb4
BLAKE2b-256 checksum
How to use checksums
6c01f7ec19585a1a25817ac221b36e880b4183bc9d5fd41b05ade023f379e20c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL ocg-0.4.6-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
629247ea5162521e3f58a182db5006ef3fbe972d9472716e637e6345e2cf05a0
BLAKE2b-256 checksum
How to use checksums
80203cdcdfe1ec42179e1ae9e5f00781611d873063ee2b1c6122427f232a4d01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL ocg-0.4.6-cp313-cp313-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
93b8e849629429bdb32aa012014ada3e45f0b6947d1b859cc0d0fa90c06b6c34
BLAKE2b-256 checksum
How to use checksums
7bfbfb79ae8d167609c29f3c41fc0f604dbfe34d8b478239780d4a093ad1b3e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ocg-0.4.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.6 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b18106f118f6f688a22ae071b5712af0290c7e168735f399622b5bdbf2d4b2c8
BLAKE2b-256 checksum
How to use checksums
d10ba0f982de09111b58c4bbdee71c7e5708ee7be64b35b554c8b83a4f0e910c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ocg-0.4.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 2.7 MB
Tags CPython 3.13 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
0c295b180e90afb6b5fbba34d655d2fc11caacef36909cf6a16a0fab76e7f08e
BLAKE2b-256 checksum
How to use checksums
2f26fe22a12d96ef5356e974e611e273e75128255d4d343d5400c1e8bd0cc3bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ocg-0.4.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 2.8 MB
Tags CPython 3.13 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
4bd20a0b8ad587dee320ff04aa309854017a94d27da43d0b77c1f9a981d2cd15
BLAKE2b-256 checksum
How to use checksums
8c5095ad7991fa22c7fa15f67b2f7b429f0387a4b8478ccc64521b0fe2569d28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ocg-0.4.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 2.4 MB
Tags CPython 3.13 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
1cc216bccbd5ce9de3d2522878f8b125819dfb0cfc11858f4c219213975ae534
BLAKE2b-256 checksum
How to use checksums
c2078e553fa4c4a40b19baff5c6d47907a2e3e7cc1e58151679bfd4b3a07ac03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ocg-0.4.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.4 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5b7cb151e10b846d4577f7de1bece6057807d14b142fb1cc16ae6fb933061429
BLAKE2b-256 checksum
How to use checksums
b34da6c4cb2b398ec99673a3e00ca4e78140c09dc2c09ea4ce61574d58007d91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl

Download URL ocg-0.4.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Size 2.8 MB
Tags CPython 3.13 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
0e78c0764b76e0e2094e2d29408931815d8e4f3dd48a1412be6b77cac4093347
BLAKE2b-256 checksum
How to use checksums
0a9419f71467f2ed9db51c2cf4df578b8428bbfeebdb68e712ff1c6140ee922c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-macosx_11_0_arm64.whl

Download URL ocg-0.4.6-cp313-cp313-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e06908f6b9385cdec3e856703d10f19d035896f95c2be04b6c55a4879dec818b
BLAKE2b-256 checksum
How to use checksums
72f6d7ecf0bb4ba1d76361954e5a57d7aa984651f46c8a241951f7e4b53ad853
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp313-cp313-macosx_10_12_x86_64.whl

Download URL ocg-0.4.6-cp313-cp313-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
48e9e610f16de9dc13f3180f1fbe5c877c2889383599c137f5623509893d97c5
BLAKE2b-256 checksum
How to use checksums
4139482693cc2e8b1463ccdc6626227c70b692502f74928c606e2264b41cfb0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-win_amd64.whl

Download URL ocg-0.4.6-cp312-cp312-win_amd64.whl
Size 2.6 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ee7650418bc9a3cb4e40e544f531affcda2feec2650aa87d61de28dda0ddebe1
BLAKE2b-256 checksum
How to use checksums
8426bcf670850736d29df496f41977f0603d9ad7fe00f11d9adffe377d6c6000
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL ocg-0.4.6-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
26e909fc5eec8c3a1518652d6d11eca32e8f555e30b25c231fb738a4a2966ac7
BLAKE2b-256 checksum
How to use checksums
53f65d7c14f2078293cb335ea4c473faf3c5e2c4d0ae6c80d42097bb527af61a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL ocg-0.4.6-cp312-cp312-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
cd6c0373a7476bad268abf9fae1f8fb998eddcc5d01c015e74a75f72d45c629b
BLAKE2b-256 checksum
How to use checksums
d36832a7cbc8755b17b4e3aeaaa571c0f468f8547e98cd4ad0f54c7eb51b1129
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ocg-0.4.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
161f11960ef9ae794606a82b0a42ce0c2e47cdbad4a40d82dd71bc46349cde57
BLAKE2b-256 checksum
How to use checksums
88c74a65fc568b434aa2fc1713a1e07f33aa998b00990f6b64f3d3f1160e5ed6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ocg-0.4.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 2.7 MB
Tags CPython 3.12 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
2347e7baa97920e82bf5c427aecbf6a81336d7d9cf99169aa41b2dcd6fc91711
BLAKE2b-256 checksum
How to use checksums
94a1d2f1983b16f024fd315f4ef5c9ab645f6f458b9d237b777ac78f869d9631
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ocg-0.4.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 2.8 MB
Tags CPython 3.12 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
ba9834b459c76d2f6658c3eb9578baa4b3a3a172f3952d0e9893d95d3b99a4f7
BLAKE2b-256 checksum
How to use checksums
2f20facb675f0816ca3b9474a3ae55a54e5c62f61f745d8e97d68f5b5f4cbb9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ocg-0.4.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 2.4 MB
Tags CPython 3.12 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
78335b80e0a1c0be7f960533be7688ebf676b3e771474eecdf16e9f589bfd276
BLAKE2b-256 checksum
How to use checksums
1cc440549fdedc3fe64c75689a85bdd487723d5c56f97f1ba1a8cfe010c77723
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ocg-0.4.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.4 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
082fd8d1478b8cfa1a13fdff84121d58108a573c404631de3b203b99b26b0504
BLAKE2b-256 checksum
How to use checksums
dcd62f4a21cf804a14673bedb29a309d1c6de95e6410395d138300eb91217593
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl

Download URL ocg-0.4.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Size 2.8 MB
Tags CPython 3.12 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
fae940936d9e628cdb7c31638f38df74a55f6bc3ce8f9927e3e048d94006ffd0
BLAKE2b-256 checksum
How to use checksums
30ef622a8e6f030e5b2af1988adc220bbea00e20a43fb5511dec92103107e804
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-macosx_11_0_arm64.whl

Download URL ocg-0.4.6-cp312-cp312-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f2c7d9461f7d877d0b5ee183d8d5bbc6a52faa898ddf1064b3a7d6dc8dc54cb2
BLAKE2b-256 checksum
How to use checksums
2a77a1f10dde0ec8a16391796bca8efcfe3d5c5f39d9fedfe50b49b2502ccf7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp312-cp312-macosx_10_12_x86_64.whl

Download URL ocg-0.4.6-cp312-cp312-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0764c7de1c114a1c4b3aea1c7e24fbbee9287c9e2e9f22b3e767e2b25f4bd50a
BLAKE2b-256 checksum
How to use checksums
2c43cdfac128589b0a717b157d794b3a36c3b91da0164c4a70851523e8e9200f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-win_amd64.whl

Download URL ocg-0.4.6-cp311-cp311-win_amd64.whl
Size 2.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8e92e9cd3a6dcca4c6da20a765549c10e487f6eb412075954a89dcd09d62886d
BLAKE2b-256 checksum
How to use checksums
d14082fd0663872a6d535506d6c554afec6f98bf53d8a02588c8447fcf6c06fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL ocg-0.4.6-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e61ecf49fa9e2cf85cd4fa3c63a7c84f4493a1d3888a836669e7bb9a791fc039
BLAKE2b-256 checksum
How to use checksums
8d2df9f6676af51a7937eb3ef7db46289ce43d71b511ae79eddfa309c1843045
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL ocg-0.4.6-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
27d2be0e2ea887b2e94656b932b210ec0d7252ece0ccd1a9f2fe8f9c8569b825
BLAKE2b-256 checksum
How to use checksums
085fe12874b161ab43da39cc7d4bb1459e4c63c404029a0c68176701ebb1e457
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ocg-0.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5e4fa3e231822f1fb00bbb81f9fb1ed6162208976441f6b6e2d6693a7d062c87
BLAKE2b-256 checksum
How to use checksums
a1987e827ee24bf2a5336e4bb9fa5c93c79fadc7e7beebe5dfebc1c86e3b138d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ocg-0.4.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 2.6 MB
Tags CPython 3.11 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
1d7c4f589af455a0f60d15ebad21de96e2a245d0795813bec4bfac65f9d35386
BLAKE2b-256 checksum
How to use checksums
46982e5ca2f6332cc0de8e1c05a8f9b22412c741154e7df92ce56ecadb5afcfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ocg-0.4.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 2.8 MB
Tags CPython 3.11 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
55dfdca51b911a88ae09c04831d1f1dddd134a27f1fc813181f58bab9a174d1d
BLAKE2b-256 checksum
How to use checksums
2b86a58bb7d3bcfde400252f8c371c4f22a83a4a47c5ebdcb8fe961c946e67db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ocg-0.4.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 2.5 MB
Tags CPython 3.11 Linux glibc 2.17+ ARMv7l
SHA-256 checksum
How to use checksums
aac396ac46c6ddaea524215bb302bb1799bd4f4e9ab28d4cd783b0bb68c19924
BLAKE2b-256 checksum
How to use checksums
546da80423cb989134615ddd98e31007239c2ceac32c93e8e21caf363e6f0ce6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ocg-0.4.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.4 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0caa53553487c48592401552e0ca22ad6136c41b1918b517037bd19ea3e48cd1
BLAKE2b-256 checksum
How to use checksums
dd1a5683a6733a4efcba07c37ad0b52f6d84a8220039cbbefc39487b5bafa08a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl

Download URL ocg-0.4.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Size 2.8 MB
Tags CPython 3.11 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
9645fb4d9c4f2b9550206df9e6be89760b720a26074a0eb8a6bebcdd052f981e
BLAKE2b-256 checksum
How to use checksums
f7b10ba9ffaa3ebbf44299dd234e981d6bc5021f857bc8b121089b460d88f758
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-macosx_11_0_arm64.whl

Download URL ocg-0.4.6-cp311-cp311-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
71a4858aa413d73ed4e38b622a30cb55b1ed632fcde1e3670fb7824a54f90eea
BLAKE2b-256 checksum
How to use checksums
ae85aab9bd5cf35840bb24e6ba873a045e05ea5618e33a81fe881cbd5bbaa6f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ocg-0.4.6-cp311-cp311-macosx_10_12_x86_64.whl

Download URL ocg-0.4.6-cp311-cp311-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e501611151abc9b091a1ea50436ad72daab7d6c18fbf5b1faf84683c233307fd
BLAKE2b-256 checksum
How to use checksums
20be11df65ed162706c3ec02b4e4cbdf086e5724c3f6195d02a9369b2c63e25a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for ocg 0.4.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page