Skip to main content

Lightweight Python bindings for the TG geometry library

Project description

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.

Note on pronunciation: "ToGo" is pronounced like the country Togo ("TOH-go"), not like "to go".

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.7-cp314-cp314t-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

togo-0.2.7-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.7-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.7-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.7-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.7-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.7-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.7-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.7-cp311-cp311-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

togo-0.2.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

togo-0.2.7-cp310-cp310-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

togo-0.2.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

togo-0.2.7-cp39-cp39-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

togo-0.2.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

togo-0.2.7-cp38-cp38-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

togo-0.2.7-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.7-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3891ee205ee2cccf5555a7178b9680febdb90fab1a657afdb5bb1b400fa1323e
MD5 2e6c4cec17b621023f0b21428926caec
BLAKE2b-256 f6944d2e9e3c390564317ad2ed1655df05926257496bd93e1fa7804f9bb84174

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c92c1729b53f5d795a73bcb11b1a7f90504df36cc341d454dbdffeb82deca3c9
MD5 86dbe65e3f17df824d1a571bd08d484e
BLAKE2b-256 ca6fe83ba186a7adb688fe40d5b8c65ce02d3dbcf75a586fe56410a233dab32d

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9c3732fa03b61906349e44e730fdd16f635d6d939bf030dc9fcdbfe8c91353d4
MD5 418af4e9f8a9eebecc2b8f644b5b2f32
BLAKE2b-256 a2445f445f2798c49bdc1dcc4df63de2486028fe248a72fa9c0b1be5f33f8fe1

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9897bc3f3690877a4e89dd6e57788a881a8f3fc4f19cf29a18f552984637443
MD5 fbd4b51e235ac1b6e96b28be65572cbf
BLAKE2b-256 68cee67831207bae41c96f553f1888532ad3d22db78c57f8ba04da4b2422a188

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6be1d78d68e9c517c650260079ed24dd1557065e967ae91c6e38775742c5ac79
MD5 4562dc8b431a6f4ff7f4c053f9afd028
BLAKE2b-256 a67ae87f886a2157a1fb7b0246ef6ba9246c8ac8ffcdfceff623f0c2ec234e68

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f70793dd0f377b4295acf16ab90f89749bb6e5361470add84d6e9e74322ec205
MD5 b6f72ebd48f787b475d165bb92a62048
BLAKE2b-256 a756571cf18e58eaf366f8124c667fec7c36372b42a6bde76e26b484e7d15398

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca8d8f3f8b259ea63639649999bb43e024cb12e249702a0d33e0332ae7e034eb
MD5 ba2a35c97e5b50d5c06c33bd7011f7e2
BLAKE2b-256 7ed4e21d89a7fe51281e593062cced1fe68f2f24f9b3e6ee25a7a667f1c081ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31334e41733b7defdfa8f408bb3882851111f9bd3255d0ba6f53eec4d857392e
MD5 0182cff7dcf8fefc6fa1bf97e959fd27
BLAKE2b-256 38de04cd58c1d7ef8491c969b19c59de40d5053886f6dcad8e90bb4e9f3b2589

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7aa6285ac4eaf619b03b8af478088d764bbb90d3be6c55c76b86b2921f453822
MD5 5d3fa74c4038b584539aef72e81e8406
BLAKE2b-256 10f63eb4e42ab5962633ace2ca1209bb78185294ff584fe0aba5ac1889883dec

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aef94c5ab2705ac56ce5ca5849539a3333126946032220dadedb72e0dc5c3f80
MD5 dc65cea442f3f7555fb9cde708f21a23
BLAKE2b-256 7ce33249c0457b01952726a28d19d2724e33d03e32931749117cd7142b8f8707

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6f793832d3fe8c75a8950af98d2120374cb3bfe63479fc38b4f351d845f95547
MD5 9f1c81fb88e5131b0a877219298a5a5f
BLAKE2b-256 a0b4a26e5c32b006b84ac4a0655472b07982aa2eefffd77fd5267ad93d43125c

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f769efa770af5dd2c8f0fc00a522cd5dd5c1fea96b9b4118f044581f9fb6c64
MD5 3a07b38b1841eafb9e45a912838903c6
BLAKE2b-256 c719c954cda723497efed9254f79cb4406eaf30525f749494b939002b2b43081

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: togo-0.2.7-cp39-cp39-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.1 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.7-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 884de3ce2c6052a4a7946424505b53e198894c40795bdc2fe927534ba007fd47
MD5 0d687ebcc4b6fcfe60b49815b4b03cbe
BLAKE2b-256 7d4e52f02b86bc6b32c05731fde5769d977e5552d3d6a473f70aebf92d0aaa79

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 111439011702a17e2b6fbe0359b753e299879c3ad13e9b2e264c10eb1d50cc87
MD5 8a163d0b41ffdd4eb5d4ad452bd158c6
BLAKE2b-256 f9b723dc45d9dff242a71ab306ca3174904d958e897492ef89b829ee2003c94a

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: togo-0.2.7-cp38-cp38-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.1 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.7-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 54404234f6a2b10a1563f06ad0bb89b653c22077c7dcba58fab16b02287e441f
MD5 a852e3d3877ef67bdda0b967938561ea
BLAKE2b-256 9b214fb111333514d264d877d4dce32927899a4dec296b37ae7d9f26d94b1f52

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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.7-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for togo-0.2.7-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 78eeabeeb11b0775683dab769266a519b21d9e2399a27178bc700a89f32d23e1
MD5 1831d30f6aa43b85f00634a313480d54
BLAKE2b-256 5dac88c2b363df0099a504b71896a806e3df8bf4b8bd0b2a47267df19ac4ec43

See more details on using hashes here.

Provenance

The following attestation bundles were made for togo-0.2.7-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