Skip to main content

Blazingly fast spatio-temporal database library

Project description

Spatio: Python Bindings for High-Performance Spatio-Temporal Database

PyPI version Python 3.8+ License: MIT

Python bindings for Spatio, a high-performance, embedded spatio-temporal database written in Rust. Spatio brings spatial operations and geographic data management to Python with minimal overhead.

Features

  • High Performance: Built on Rust for maximum speed and memory efficiency
  • Spatio-Temporal Operations: Geographic point storage with automatic spatial indexing and optional time filters
  • Trajectory Tracking: Store and query movement data over time
  • TTL Support: Automatic data expiration with time-to-live
  • Thread-Safe: Concurrent access (atomic operations coming soon for Python)
  • Persistent Storage: Optional file-based persistence

Installation

From PyPI (Recommended)

pip install spatio

📦 PyPI Repository: https://pypi.org/project/spatio

From Source

# Clone the repository
git clone https://github.com/pkvartsianyi/spatio.git
cd spatio/py-spatio

# Build and install
pip install maturin
maturin develop

Quick Start

import spatio

# Create an in-memory database
db = spatio.Spatio.memory()

# Store simple key-value data
db.insert(b"user:123", b"John Doe")
user = db.get(b"user:123")
print(f"User: {user.decode()}")  # User: John Doe

# Store geographic points with automatic spatial indexing
nyc = spatio.Point(40.7128, -74.0060)
london = spatio.Point(51.5074, -0.1278)

db.insert_point("cities", nyc, b"New York City")
db.insert_point("cities", london, b"London")

# Find nearby points within 6000km
nearby = db.query_within_radius("cities", nyc, 6000000.0, 10)
for point, city_name, distance in nearby:
    print(f"{city_name.decode()}: {distance/1000:.0f}km away")

Core Classes

Spatio

The main database class for all operations.

# Create databases
db = spatio.Spatio.memory()                    # In-memory
db = spatio.Spatio.open("data.db")             # Persistent
db = spatio.Spatio.memory_with_config(config)  # With custom config

# Basic operations
db.insert(key, value, options=None)
value = db.get(key)
old_value = db.delete(key)

# Spatial operations
db.insert_point(prefix, point, value, options=None)
nearby = db.query_within_radius(prefix, center, radius_meters, limit)
count = db.count_within_radius(prefix, center, radius_meters)

# Trajectory operations
db.insert_trajectory(object_id, trajectory, options=None)
path = db.query_trajectory(object_id, start_time, end_time)

Point

Represents a geographic coordinate.

# Create points
point = spatio.Point(latitude, longitude)
print(f"Location: {point.lat}, {point.lon}")

# Calculate distance
distance = point1.distance_to(point2)  # Returns meters

SetOptions

Configure data storage options.

# TTL (time-to-live)
opts = spatio.SetOptions.with_ttl(300.0)  # 5 minutes
db.insert(b"session", b"data", opts)

# Absolute expiration
import time
future = time.time() + 300
opts = spatio.SetOptions.with_expiration(future)

Config

Database configuration.

# Custom geohash precision (1-12, default: 8)
config = spatio.Config.with_geohash_precision(10)  # ~61cm accuracy
db = spatio.Spatio.memory_with_config(config)

# Manual configuration
config = spatio.Config()
config.geohash_precision = 6  # ~610m accuracy

Usage Examples

Basic Spatial Queries

import spatio

db = spatio.Spatio.memory()

# Insert city data
cities = [
    (spatio.Point(40.7128, -74.0060), b"New York"),
    (spatio.Point(51.5074, -0.1278), b"London"),
    (spatio.Point(35.6762, 139.6503), b"Tokyo"),
    (spatio.Point(48.8566, 2.3522), b"Paris"),
]

for point, name in cities:
    db.insert_point("cities", point, name)

# Find cities within 6000km of New York
nyc = spatio.Point(40.7128, -74.0060)
nearby = db.query_within_radius("cities", nyc, 6000000.0, 10)

print(f"Cities within 6000km of NYC:")
for point, name, distance in nearby:
    print(f"  {name.decode()}: {distance/1000:.0f}km")

Trajectory Tracking

import spatio
import time

db = spatio.Spatio.memory()

# Create a trajectory (list of (Point, timestamp) tuples)
trajectory = [
    (spatio.Point(40.7128, -74.0060), 1640995200),  # NYC
    (spatio.Point(40.7580, -73.9855), 1640995800),  # Central Park
    (spatio.Point(40.6892, -74.0445), 1640996400),  # Brooklyn
]

# Store trajectory
db.insert_trajectory("vehicle:truck001", trajectory)

# Query trajectory for specific time range
path = db.query_trajectory("vehicle:truck001", 1640995200, 1640996400)

print(f"Vehicle path ({len(path)} points):")
for point, timestamp in path:
    print(f"  {timestamp}: ({point.lat:.4f}, {point.lon:.4f})")

TTL and Expiration

import spatio
import time

db = spatio.Spatio.memory()

# Data that expires in 5 seconds
opts = spatio.SetOptions.with_ttl(5.0)
db.insert(b"session:temp", b"temporary_data", opts)

print("Immediate:", db.get(b"session:temp"))  # b'temporary_data'
time.sleep(6)
print("After TTL:", db.get(b"session:temp"))  # None

Sequential Operations

import spatio

db = spatio.Spatio.memory()

# Sequential operations (atomic operations coming in future version)
db.insert(b"user:1", b"Alice")
db.insert(b"user:2", b"Bob")

point = spatio.Point(40.7128, -74.0060)
db.insert_point("locations", point, b"NYC Office")

print("Operations completed")

# Verify all operations were applied
print(db.get(b"user:1"))  # b'Alice'
nearby = db.query_within_radius("locations", spatio.Point(40.7128, -74.0060), 1000, 10)
print(len(nearby))  # 1

Bounding Box Queries

import spatio

db = spatio.Spatio.memory()

# Insert points across different regions
points = [
    (spatio.Point(40.7128, -74.0060), b"NYC"),      # North America
    (spatio.Point(51.5074, -0.1278), b"London"),    # Europe
    (spatio.Point(35.6762, 139.6503), b"Tokyo"),    # Asia
]

for point, name in points:
    db.insert_point("cities", point, name)

# Find cities in Europe (rough bounding box)
european_cities = db.find_within_bounds(
    "cities",
    40.0, -10.0,  # min_lat, min_lon
    60.0, 10.0,   # max_lat, max_lon
    10            # limit
)

print("European cities:")
for point, name in european_cities:
    print(f"  {name.decode()} at ({point.lat:.2f}, {point.lon:.2f})")

Performance

Spatio-Py is built for high performance:

  • Fast spatial indexing using geohash and R-tree algorithms
  • Memory efficient storage with zero-copy operations where possible
  • Concurrent access with minimal locking overhead
  • Optimized distance calculations using efficient approximation algorithms

Benchmarks

Basic performance characteristics (your results may vary):

  • Key-value operations: ~1.6M ops/sec (600ns per operation)
  • Spatial insertions: ~1.9M points/sec (530ns per operation)
  • Spatial queries: ~225K queries/sec (4.4μs per operation)
  • Memory usage: Efficient in-memory storage with spatial indexing

Development

Development Tools

This project uses just as the primary task runner for all development workflows. Just provides a more powerful and expressive alternative to Make.

# Install just (if not already installed)
cargo install just

# See all available commands
just --list

# Common development tasks
just setup          # Set up development environment
just build           # Build the package
just test            # Run tests
just check           # Run all quality checks (lint, format, typecheck)
just ci              # Run full CI pipeline locally

Building from Source

# Prerequisites
pip install maturin pytest

# Clone and build
git clone https://github.com/pkvartsianyi/spatio.git
cd spatio/py-spatio

# Development build
maturin develop

# Run tests
just test

# Run examples
python examples/basic_usage.py

Building Multi-Platform Wheels

The project uses cibuildwheel to build wheels for all major platforms and Python versions (3.9-3.13):

Supported Platforms:

  • Linux: x86_64, aarch64 (manylinux)
  • macOS: x86_64 (Intel), arm64 (Apple Silicon)
  • Windows: AMD64

Automated Builds:

  • Wheels are automatically built on every release via GitHub Actions
  • All wheels are tested before publishing to PyPI
  • The workflow generates 40+ wheel files covering all platform/Python combinations

Manual Build:

# Install cibuildwheel
pip install cibuildwheel

# Build wheels for your platform
cibuildwheel --platform linux  # or macos, windows

# Build for specific Python versions
CIBW_BUILD="cp311-* cp312-*" cibuildwheel

# Output wheels will be in ./wheelhouse/

For more details, see .github/workflows/wheels.yml

Testing

# Run all tests
just test

# Run with coverage
just coverage

# Run performance tests
just bench

Code Formatting

# Format Python code
just fmt

# Type checking
just typecheck

# Run all checks
just check

API Reference

Database Operations

Method Description
Spatio.memory() Create in-memory database
Spatio.open(path) Open/create persistent database
insert(key, value, options=None) Store key-value pair
get(key) Retrieve value by key
delete(key) Remove key and return old value
(atomic operations coming soon) Execute operations atomically
sync() Force sync to disk
stats() Get database statistics

Spatial Operations

Method Description
insert_point(prefix, point, value, options=None) Store geographic point
query_within_radius(prefix, center, radius_meters, limit) Find points within radius
contains_point(prefix, center, radius_meters) Check if any points exist in radius
count_within_radius(prefix, center, radius_meters) Count points within radius
intersects_bounds(prefix, min_lat, min_lon, max_lat, max_lon) Check if any points in bounding box
find_within_bounds(prefix, min_lat, min_lon, max_lat, max_lon, limit) Find points in bounding box

Trajectory Operations

Method Description
insert_trajectory(object_id, trajectory, options=None) Store trajectory data
query_trajectory(object_id, start_time, end_time) Query trajectory for time range

Error Handling

Spatio-Py uses standard Python exceptions:

import spatio

try:
    # Invalid coordinates
    point = spatio.Point(91.0, 0.0)  # Raises ValueError
except ValueError as e:
    print(f"Invalid point: {e}")

try:
    db = spatio.Spatio.open("/invalid/path/db.spatio")
except RuntimeError as e:
    print(f"Database error: {e}")

Project Status

Spatio-Python is in alpha development:

  • Core spatial operations implemented
  • Complete Python API via PyO3 bindings
  • TTL and persistence support
  • Multi-platform wheels (Linux, macOS, Windows)
  • Python 3.8-3.13 support

Current version: 0.1.0-alpha.10

Platform Support

Pre-built wheels are available for:

  • Linux: x86_64, aarch64 (manylinux)
  • macOS: x86_64 (Intel), arm64 (Apple Silicon)
  • Windows: AMD64
  • Python: 3.9, 3.10, 3.11, 3.12, 3.13

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Links

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.

spatio-0.1.3-cp313-cp313-win_amd64.whl (273.1 kB view details)

Uploaded CPython 3.13Windows x86-64

spatio-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl (372.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

spatio-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (316.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

spatio-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl (353.8 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

spatio-0.1.3-cp312-cp312-win_amd64.whl (273.1 kB view details)

Uploaded CPython 3.12Windows x86-64

spatio-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl (372.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

spatio-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (316.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

spatio-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl (353.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

spatio-0.1.3-cp311-cp311-win_amd64.whl (274.0 kB view details)

Uploaded CPython 3.11Windows x86-64

spatio-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl (372.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

spatio-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (317.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

spatio-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl (354.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

spatio-0.1.3-cp310-cp310-win_amd64.whl (274.2 kB view details)

Uploaded CPython 3.10Windows x86-64

spatio-0.1.3-cp310-cp310-manylinux_2_34_x86_64.whl (372.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

spatio-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (317.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

spatio-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl (354.1 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

spatio-0.1.3-cp39-cp39-win_amd64.whl (274.4 kB view details)

Uploaded CPython 3.9Windows x86-64

spatio-0.1.3-cp39-cp39-manylinux_2_34_x86_64.whl (373.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

spatio-0.1.3-cp39-cp39-macosx_11_0_arm64.whl (317.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

spatio-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl (354.3 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file spatio-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: spatio-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 273.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for spatio-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ee1e87cd21cb6ce01a9f67df3f92f68b1f6a5fd1f25b9bc85bc50bc2ec9cb143
MD5 58452845ebed1aa8a563d099ae2eca88
BLAKE2b-256 67d072fa4b571b151bce49dee1ffb75f13959a5374afb4ea681d1e325bdb3435

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 81f84f0d167cea60c28d2ed699cf9d0ae2508df8d83a8741972cf8dc43f83fe8
MD5 34ff990841ef9abab3089a010210379e
BLAKE2b-256 f35c5ffb3550519477143a2f2bf563c8c13548d8928df2d05af3f76fc1c196dc

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a84cd6c18d74da8ce0e5629b8aff5ddf1aee4ffcc8736fc19d01ac0af15724f
MD5 aefae699531d578b690cca34d135cf8e
BLAKE2b-256 b565673b2c5bb3f1d5f3d7df173ef0f8a6cf1d8d72c2c43c8080a313ad7cb3f7

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 defd7b5b8a32190d7092bf179ad9a41c90c261af570f83839256b9468fb203a1
MD5 55f15267492ccacbf5ecea09adc35d3d
BLAKE2b-256 edce79b3a6833d5ae9b8eb9d19e2c6ab1d1b147718e79050206af627783463e1

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: spatio-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 273.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for spatio-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6004fe87919e9dd4cce405c242d202ee50ff1c359640a6cf1872aa6c5071bd42
MD5 8c668b17fc27e0ef5fa9add377999408
BLAKE2b-256 9aa66cfb020e2b525f7efec92bf00a4ac5211a76e0e9b5c75b226a054e7920f7

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f17bf7e1dcd4a6bda7ae4c2b51391ef183ccd8085a68cb0843eda79a1b542d3c
MD5 502290569d478752103880be6042f67f
BLAKE2b-256 d0b5fe3304b08cb46e80f24d3e13e63895a01d13fa0b43348837f6964af1f67e

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79d1938265b412fd87a641b5b8ffeb15d7646e0f3fe573c7bf573abbf80b3cc9
MD5 e01afef0a534d1a74ac96dd221d1b565
BLAKE2b-256 5f042a0b6e72e0c55345eabde1ab3215e76871bb566e9ebf8cb8147908ce362f

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d326c9ba58df7a27935c08524c666123bcb5fbb104638f7280d1c57ab267321d
MD5 cf08d4f0d6a61c53aeb060466a0476f3
BLAKE2b-256 33365d09855169b021a3c17f9dbaca7a08298c8aec70c3759d3e34849b047274

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: spatio-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 274.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for spatio-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5687307618b657fafe351f4430025be24ba6d4d824080d65d05988dbc3cd308e
MD5 c112e492887da9f1e54a5efc6bc88e8d
BLAKE2b-256 67bdd632f8eba8a34fcee3517bde50a20814f1bfed53a191ac8bb615b102865d

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 917e1e0ab77ee9ff05b5e1d703e361670f321a1f21d710f2086bc2e297c97da0
MD5 08d5bd46e901e8e4cd9a715a305dbd14
BLAKE2b-256 9b682d4dacd996dafa82afddb59b151585792ee3f8e79a879320d0d16452d6cc

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 863fb3e98e519b5140aea8b76aa38e87a874bc8ae3cb4fba3cd7bd43ca86184b
MD5 e01c65b64387b83e940bd1dc028c22b2
BLAKE2b-256 6071f3a66df6c1272ba0d33d4f3b781e3de8e61e0b30eb7e796fda428ace99e1

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 72e3153808e1c242314e642a4453754c39513ee2c78664ac42a2a74f494b8c9f
MD5 83a3743f63c973df9ff97bdacd50ed96
BLAKE2b-256 35a9979efc69e80684198e06ba56dc88f7954482c6ce260aa9118fdc8c6177f0

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: spatio-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 274.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for spatio-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a0ba00c970bebc1323f03ac5622584f53741e29feea21ddc53a02d96e40464f9
MD5 d09cf620590368ec7f29546b0b9ba148
BLAKE2b-256 3b03137987f73536ce6a1153e50832ea00da4fc1cdb2e9b5be282e1a6c4f30bd

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c19e77eb7b723c79b2e268e7a6232b9d1e5845f59d813e26d07d763b6f5ce9c3
MD5 6be67189e08a5a126ef9ea9ef02df54c
BLAKE2b-256 27549b25f734d99fd88484430b4384356f30fb4a3a44f239483c01bf998ec31e

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7ed5d43449d8c37b1f690865a73aa7ca811e3b1a92caa71bc4514dc8e731661
MD5 83871fe2f165d00ec4a627d97f407133
BLAKE2b-256 00bf879c37d1b23e3cd35cdf21754cf0855e441fce93e3e8ace568f81a5fb3ab

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dca09c82cd23dbf80a6ed04f4cd1d94cf3079e0612dcbf235eed2d4638cc947c
MD5 98007813523f42096043b716659e18ec
BLAKE2b-256 8d34fb2ead653009f338467496112c52ecf60130398b3f8f7eff204a726b1c6b

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: spatio-0.1.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 274.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for spatio-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f3df8e9c9a6919900f877ac5921b3dccdfb801b1b3495ffa3cc20e0ea8fd90b7
MD5 091647767dcd31894b661c5bf84b3eab
BLAKE2b-256 c8027c7c4b683ff961ec17a6bd7a90e568c9b12a52f0b897e1a7f6865a9388a9

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ccab7fefa5cf55ec5e6e1e2af45e092a68d388ff378982fef489433a6e86996f
MD5 7b695c23ce6e093b593f7f1bef30c566
BLAKE2b-256 35d6a6808829b3bf6331d7a930129f2bcb05a8041ecb999b246606bfd5df1a07

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a20e8e7b9d55748a136794634ec8a8337ac532a636db5a0a6f9b92df456dc12
MD5 18aeb5c59860b95136a119035d52b6ce
BLAKE2b-256 c65513e671ad9071f2b1094caf12b228bea00fb64cc511d06203cbafed6cb3e6

See more details on using hashes here.

File details

Details for the file spatio-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for spatio-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6168209e1780e187e1081a907ade9acd3445517f267c807828a39983c60cd439
MD5 92ec6a408dbe48afe9ac6cc2ef18ae44
BLAKE2b-256 36e281a882c610c99d38064912ac42e3fb88827a0ae4cb09aff6a0106e8a2745

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page