Skip to main content

Lightweight Python bindings for the TG geometry library

Project description

ToGo

Python bindings for TG (Geometry library for C - Fast point-in-polygon)

ToGo is a high-performance Python library for computational geometry, providing a Cython wrapper around the above-mentioned C library.

The main goal is to offer a Pythonic, object-oriented, fast and memory-efficient library for geometric operations, including spatial predicates, format conversions, and spatial indexing. ToGo's API is flexible and allows you to reason in either TG concepts (if you're familiar with the TG library) or Shapely conventions (the de facto standard for geospatial work in Python)—whichever fits your workflow best.

See SHAPELY_API.md for more details on Shapely compatibility.

Installation

pip install togo

Features

  • Fast and efficient geometric operations
  • Support for standard geometry types: Point, Line, Ring, Polygon, and their multi-variants
  • Flexible API supporting both TG and Shapely conventions
  • Geometric predicates: contains, intersects, covers, touches, etc.
  • Format conversion between WKT, GeoJSON, WKB, and HEX
  • Spatial indexing for accelerated queries
  • Memory-efficient C implementation with Python-friendly interface
  • Advanced operations via libgeos integration (buffer, unary union, etc.)

Basic Usage

ToGo's API supports multiple styles of interaction. You can use Shapely-like conventions for familiarity, TG-like conventions if you're already familiar with that library, or mix both as needed.

Creating Geometries

from togo import Point, LineString, Polygon, Ring, Poly, Geometry

# Shapely-like syntax
point = Point(1.0, 2.0)
line = LineString([(0, 0), (1, 1), (2, 2)])
poly = Polygon([(0, 0), (4, 0), (4, 4), (0, 4), (0, 0)])

# TG-like syntax with Ring and Poly
ring = Ring([(0,0), (10,0), (10,10), (0,10), (0,0)])
polygon = Poly(ring)

# Direct Geometry creation from formats
geom = Geometry("POINT(1 2)", fmt='wkt')
geom2 = Geometry('{"type":"Point","coordinates":[1,2]}', fmt='geojson')

Working with Geometries

from togo import Point, Polygon

# Access properties (works with both API styles)
point = Point(1.0, 2.0)
print(point.geom_type)     # 'Point'
print(point.bounds)        # (1.0, 2.0, 1.0, 2.0)

poly = Polygon([(0, 0), (4, 0), (4, 4), (0, 4), (0, 0)])
print(poly.area)           # 16.0
print(poly.length)         # 16.0

# Convert between formats
print(point.to_wkt())      # 'POINT (1 2)'
print(point.to_geojson())  # '{"type":"Point","coordinates":[1.0,2.0]}'

# Spatial predicates
if poly.contains(point):
    print("Polygon contains point!")

Core Classes

Geometry

The base class that wraps tg_geom structures and provides core operations:

# Create from various formats
g1 = Geometry('POINT(1 2)', fmt='wkt')
g2 = Geometry('{"type":"Point","coordinates":[1,2]}', fmt='geojson')

# Geometric predicates
g1.intersects(g2)
g1.contains(g2)
g1.within(g2)

# Format conversion
g1.to_wkt()
g1.to_geojson()

# Access sub-geometries by index (e.g., for GeometryCollection, MultiPoint, etc.)
gc = Geometry('GEOMETRYCOLLECTION(POINT(1 2),POINT(3 4))', fmt='wkt')
first = gc[0]  # Bound to TG function call tg_geom_geometry_at(idx)
second = gc[1]
print(first.type_string())  # 'Point'

Point

from togo import Point

# Create a point
p = Point(1.0, 2.0)

# Access coordinates
print(f"X: {p.x}, Y: {p.y}")

# Get as a tuple
print(p.as_tuple())

# Convert to a Geometry object
geom = p.as_geometry()
print(geom.type_string())

Segment

from togo import Segment, Point

# Create a segment from two points (or tuples)
seg = Segment(Point(0, 0), Point(1, 1))
# Or using tuples
tuple_seg = Segment((0, 0), (1, 1))

# Access endpoints
print(seg.a)  # Point(0, 0)
print(seg.b)  # Point(1, 1)

# Get the bounding rectangle
rect = seg.rect()
print(rect)  # ((0.0, 0.0), (1.0, 1.0))

# Check intersection with another segment
other = Segment((1, 1), (2, 2))
print(seg.intersects(other))  # True or False

Line

from togo import Line

# Create a line from a list of tuples
line = Line([(0,0), (1,1), (2,0)])

# Get number of points
print(f"Number of points: {line.num_points}")

# Get all points as a list of tuples
print(f"Points: {line.points()}")

# Get the length of the line
print(f"Length: {line.length}")

# Get the bounding box
print(f"Bounding box: {line.rect()}")

# Get a point by index
print(f"First point: {line[0].as_tuple()}")

Ring

from togo import Ring

# Create a ring (must be closed)
ring = Ring([(0,0), (10,0), (10,10), (0,10), (0,0)])

# Get area and perimeter
print(f"Area: {ring.area}")
print(f"Perimeter: {ring.length}")

# Check if it's convex or clockwise
print(f"Is convex: {ring.is_convex()}")
print(f"Is clockwise: {ring.is_clockwise()}")

# Get bounding box
min_pt, max_pt = ring.rect().min, ring.rect().max
print(f"Bounding box: {min_pt.as_tuple()}, {max_pt.as_tuple()}")

Poly

from togo import Poly, Ring, Point

# Create a polygon with one exterior ring and one interior hole
exterior = Ring([(0,0), (10,0), (10,10), (0,10), (0,0)])
hole1 = Ring([(1,1), (2,1), (2,2), (1,2), (1,1)])
poly = Poly(exterior, holes=[hole1])

# Get the exterior ring
ext_ring = poly.exterior
print(f"Exterior has {ext_ring.num_points} points")

# Get number of holes
print(f"Number of holes: {poly.num_holes()}")

# Get a hole by index
h = poly.hole(0)
print(f"Hole area: {h.area()}")

# A polygon is a geometry, so you can use geometry methods
geom = poly.as_geometry()
print(f"Contains point (5,5): {geom.contains(Point(5,5).as_geometry())}")
# Point is inside the hole, so it is not contained by the polygon
print(f"Contains point (1.5,1.5): {geom.contains(Point(1.5,1.5).as_geometry())}")

MultiGeometries

Creating collections of geometries:

from togo import Geometry, Point, Line, Poly, Ring

# Create a MultiPoint
multi_point = Geometry.from_multipoint([(0,0), (1,1), Point(2,2)])

# Create a MultiLineString
multi_line = Geometry.from_multilinestring([
    [(0,0), (1,1)],
    Line([(2,2), (3,3)])
])

# Create a MultiPolygon
poly1 = Poly(Ring([(0,0), (1,0), (1,1), (0,1), (0,0)]))
poly2 = Poly(Ring([(2,2), (3,2), (3,3), (2,3), (2,2)]))
multi_poly = Geometry.from_multipolygon([poly1, poly2])

Polygon Indexing

Togo supports different polygon indexing strategies for optimized spatial operations:

from togo import TGIndex, set_polygon_indexing_mode

# Set the indexing mode
set_polygon_indexing_mode(TGIndex.NATURAL)  # or NONE, YSTRIPES

Integration with tgx and libgeos

Togo integrates with the tgx extension and libgeos to provide advanced geometry operations, such as topological unions and conversions between TG and GEOS geometry formats. This allows you to leverage the speed of TG for basic operations and the flexibility of GEOS for more complex tasks.

Example: Unary Union (GEOS integration)

The unary_union method demonstrates this integration. It combines multiple geometries into a single geometry using GEOS's topological union, with all conversions handled automatically:

from togo import Geometry, Point, Poly, Ring

# Create several polygons
poly1 = Poly(Ring([(0,0), (2,0), (2,2), (0,2), (0,0)]))
poly2 = Poly(Ring([(1,1), (3,1), (3,3), (1,3), (1,1)]))

# Perform unary union (requires tgx and libgeos)
union = Geometry.unary_union([poly1, poly2])

# The result is a single geometry representing the union of the input polygons
print(union.to_wkt())

This operation uses tgx to convert TG geometries to GEOS, applies the union in libgeos, and converts the result back to TG format for further use in ToGo.

Example: Buffer Operations (GEOS integration)

The buffer() method creates geometrical buffers (expanded or shrunk versions of geometries) using GEOS:

from togo import Point, LineString, Polygon, Ring, Geometry

# Buffer a point to create a circular zone
point = Point(0, 0)
circular_zone = point.buffer(10.0, quad_segs=16)
print(f"Point buffer: {circular_zone.geom_type}")  # Polygon

# Buffer a line to create a corridor around it
line = LineString([(0, 0), (10, 10)])
corridor = line.buffer(2.0, cap_style=1)  # round ends
print(f"Line buffer: {corridor.geom_type}")  # Polygon

# Buffer a polygon to expand or shrink it
exterior = Ring([(0, 0), (10, 0), (10, 10), (0, 10), (0, 0)])
poly = Polygon(exterior)

expanded = poly.buffer(2.0)    # Expand outward by 2 units
shrunk = poly.buffer(-1.0)     # Shrink inward by 1 unit

# Via Geometry object with advanced parameters
geom = Geometry("POLYGON((0 0, 20 0, 20 20, 0 20, 0 0))")
buffered = geom.buffer(
    distance=3.0,
    quad_segs=16,           # Segments per quadrant (higher = smoother)
    cap_style=1,            # 1=round, 2=flat, 3=square
    join_style=1,           # 1=round, 2=mitre, 3=bevel
    mitre_limit=5.0         # Mitre ratio limit
)

Like unary_union, buffer operations automatically handle TG ↔ GEOS conversions. For comprehensive buffer documentation, see BUFFER_API.md.

Performance Considerations

  • Togo is optimized for speed and memory efficiency
  • For large datasets, proper indexing can significantly improve performance
  • Creating geometries with the appropriate format avoids unnecessary conversions
  • Buffer operations support quad_segs parameter to balance quality vs. performance

Soon there will be a full API documentation, for now please refer to the test suite for more usage examples.

Project details


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.

togo-0.2.5-cp314-cp314t-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

togo-0.2.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

togo-0.2.5-cp314-cp314-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

togo-0.2.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

togo-0.2.5-cp313-cp313-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

togo-0.2.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

togo-0.2.5-cp312-cp312-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

togo-0.2.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

togo-0.2.5-cp311-cp311-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

togo-0.2.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

togo-0.2.5-cp310-cp310-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

togo-0.2.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

togo-0.2.5-cp39-cp39-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

togo-0.2.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

togo-0.2.5-cp38-cp38-musllinux_1_2_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

togo-0.2.5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file togo-0.2.5-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0fa0882c09033566dcef38d61a3cebd1a45db92a31eab21ee715d35effe5736a
MD5 682ec85d0d578a901d84392cd8f895c0
BLAKE2b-256 e4396e74b0b8eec14f44d0e9b59081d5c62838accbf428e85782c7444c552b28

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 38b7dc8fad786fd0a484c752ad6ac1229e3dc1b63378ba3f391b1b49fc4fa1c8
MD5 2f1bd8d89b51726af46baf1e61632e26
BLAKE2b-256 f90ab05aa1ebd2091fba43b7ddd08dbae3cfa6661bde37d74011ad6603fe7756

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a87279e7d319927222dd8a22468f3db4c21ab3a0ec750ba0ddb2b846952acbc1
MD5 7c077798c86e00a00036e8a73b2f898b
BLAKE2b-256 4a7f20b4ee23cc9c9e7378b255aeb5fd0e68748b312b3d1fb25f5d4ae85640b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2568d4bd44a16861b5081cd1afff719a6c274b5b9429ce5d18d1c5792a2120be
MD5 a0b9fac148e7268899de803059fe31df
BLAKE2b-256 d8b672064a23ad45431ad4069652701a09a3fe1d4e5dfc729d6365f69a60df44

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 432738cc2ae2053c91f17fd325b21b1bf89c976b70512547840d4c2e298f105b
MD5 1771cd30ecaa3a4b8e48d50d54e44a9f
BLAKE2b-256 e1e37954d863924f6531f52644e7c6729d58776363b8a7d300372a5e8eeab5e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f75da7d537c758c53265aef1cf1f8e220425263c0a804281aed3cf4d73a95b7
MD5 a468fac42d357eace8fd9c2ca91cfcc9
BLAKE2b-256 84b7a88055568d825d4510f228f5c84951385d171268ef275c427e6dc909cdf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d288a9ae319e2ba7ba4a6d8745c0e70dcf37b7c5246356163d10fa950579b128
MD5 dd076b01ad181ab8735ad69b8ce03c03
BLAKE2b-256 adbb6ac7e7fa99f970d889404fae13af3f51f01435bf819755db39063715a4af

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 90f8e1a7ad2eb1cd377e502b4e6e7781c53ee0bb4bccf2a4a07f607b1e779478
MD5 93adb16cdb7bb08c386d140e4ff2da71
BLAKE2b-256 457b6761c63f9f3626cd036d6ecd031e59518e3af1b7907adea61ac6aebcd472

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b9a09c6d2d98cd6f1f41a3d4338b1977b2049aaf46da37ad340e2f71c13d55bc
MD5 e02491d1a8dc747ac12942261e3de10b
BLAKE2b-256 2153dfa22074b24ef13db32b76ab1bf3907348b9a3e3ddc46f19f97def8a77d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f839d8a8d743cf459eafa21429d46f9f616990ddf824ebb13eb7e2347d6d55b8
MD5 6bdea23ada03676acbf119c2a943b226
BLAKE2b-256 8503c146697a8f4190d2bf8c0bb92ca68807762dede3d7ab8b69dbcf9c093f36

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6bd55a92dbb4f9341f5fbca13f62f091f1d29f750b68152c08ba281e625263dd
MD5 c461d954024ba939f2aec627202297f1
BLAKE2b-256 16f7731fbaedf0333a927341cb594035e227986f653b14d77264fb7ee97365fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fffebbc5b3325b6363cde238953c790127d0cd5aceb8811cdc726cbf04d7a4dd
MD5 743786bce5e94e84cac604728ab6981a
BLAKE2b-256 ae3cedebe8666c6b2457ff44184d001a9fd5667a7ed1bdcdc6a640a34eb216d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: togo-0.2.5-cp39-cp39-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for togo-0.2.5-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c16e35e21bf49d9eb7d9417df6759e74bf635a4bbbcada8f8e89ce5aabced46d
MD5 6d2a006012024b6b50a4e101acd58de4
BLAKE2b-256 1fd0f5b2d13f25805eea669f97fcef0f0da31c181aa6da8321359d0ce0ab442d

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb9d5865f3925521ca3e038d5af6640aa501417b33457b065199fa98a9fbe79b
MD5 0cec6a98c0a63e6e6d0d214a8c4ce49d
BLAKE2b-256 20c8f3f068cac7571fdf45a0ce9dccdb4b6f5db2956b17f5fa5e0401a1746d3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: togo-0.2.5-cp38-cp38-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for togo-0.2.5-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a4a6b547dfa619b268a58383726aaefaf671e0cdd0bc0ecf7ad33700772acf1a
MD5 dd7d30e07683a3fcdb96196dff7a3a8b
BLAKE2b-256 4b7401f936e1c0de0bac57b2ce81dc615cc992ec61f1319559bf228c446944bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file togo-0.2.5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 11184bdc7803dd3680f24e5a9de63b63884dfa0e756bd77e59eb3adb2158c0dc
MD5 01d9265ac5913bf58e022aa619b8679d
BLAKE2b-256 f9b1b0bef13aecb754820c907debbdfcf4e373c6fea482bcbb2a7985c1afdf1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on mindflayer/togo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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