Skip to main content

A state management system for Python 3.x that unifies your applications business logic, data persistence, and caching into a single, efficient layer.

Project description

dbzero logo

A state management system for Python 3.x that unifies your application's business logic, data persistence, and caching into a single, efficient layer.

License: LGPL 2.1

"If we had infinite memory in our laptop, we'd have no need for clumsy databases. Instead, we could just use our objects whenever we liked."

— Harry Percival and Bob Gregory, Architecture Patterns with Python

Overview

dbzero lets you code as if you have infinite memory. Inspired by a thought experiment from Architecture Patterns with Python by Harry Percival and Bob Gregory, dbzero handles the complexities of data management in the background while you work with simple Python objects.

dbzero implements the DISTIC memory model:

  • Durable - Data persists across application restarts
  • Infinite - Work with data as if memory constraints don't exist (e.g. create lists, dicts or sets with billions of elements)
  • Shared - Multiple processes can access and share the same data
  • Transactional - Transaction support for data integrity
  • Isolated - Reads performed against a consistent point-in-time snapshot
  • Composable - Plug in multiple prefixes (memory partitions) on demand and access other apps’ data by simply attaching their prefix.

With dbzero, you don’t need separate pieces like a database, ORM, or cache layer. Your app becomes easier to build and it runs faster, because there are no roundtrips to a database, memory is used better, and you can shape your data to fit your problem.

Key Platform Features

dbzero provides the reliability of a traditional database system with modern capabilities and extra features on top.

  • Persistence: Application objects (classes and common structures like list, dict, set, etc.) are automatically persisted (e.g. to a local or network-attached file)
  • Efficient caching: Only the data actually accessed is retrieved and cached. For example, if a list has 1 million elements but only 10 are accessed, only those 10 are loaded.
  • Constrained memory usage: You can define memory limits for the process to control RAM consumption.
  • Serializable consistency: Data changes can be read immediately, maintaining a consistent view.
  • Transactions: Make atomic, exception-safe changes using the with dbzero.atomic(): context manager.
  • Snapshots & Time Travel: Query data as it existed at a specific point in the past. This enables tracking of data changes and simplify auditing.
  • Tags: Tag objects and use tags to filter or retrieve data.
  • Indexing: Define lightweight, imperative indexes that can be dynamically created and updated.
  • Data composability: Combine data from different apps, processes, or servers and access it through a unified interface - i.e. your application’s objects, methods and functions.
  • UUID support: All objects are automatically assigned a universally unique identifier, allowing to always reference them directly.
  • Custom data models - Unlike traditional databases, dbzero allows you to define custom data structures to match your domain's needs.

Requirements

  • Python: 3.9+
  • Operating Systems: Linux, macOS, Windows
  • Storage: Local filesystem or network-attached storage
  • Memory: Varies by workload; active working set should fit in RAM for best performance

Quick Start

Installation

pip install dbzero

Simple Example

The guiding philosophy behind dbzero is invisibility—it stays out of your way as much as possible. In most cases, unless you're using advanced features, you won’t even notice it’s there. No schema definitions, no explicit save calls, no ORM configuration. You just write regular Python code, as you always have. See the complete working example below:

import dbzero as db0

@db0.memo(singleton=True)
class GreeterAppRoot:
    def __init__(self, greeting, persons):
        self.greeting = greeting
        self.persons = persons
        self.counter = 0

    def greet(self):
        print(f"{self.greeting}{''.join(f', {person}' for person in self.persons)}!")
        self.counter += 1

if __name__ == "__main__":
    # Initialize dbzero
    db0.init("./app-data", prefix="main")
    # Initialize the application's root object
    root = GreeterAppRoot("Hello", ["Michael", "Jennifer"])
    root.greet() # Output: Hello, Michael, Jennifer!
    print(f"Greeted {root.counter} times.")

The application state is persisted automatically; the same data will be available the next time the app starts. All objects are automatically managed by dbzero and there's no need for explicit conversions, fetching, or saving — dbzero handles persistence transparently for the entire object graph.

Example Project and Utilities

Simple CRM

simple-crm is a small tutorial app that shows how to build a persistent Python internal tool with dbzero and NiceGUI. It tracks companies, contacts, notes, tags, and follow-up tasks using dbzero-backed Python objects instead of a separate REST API, ORM, cache layer, or database server.

Simple CRM browser interface

dbzero-modelkit

dbzero-modelkit is an open-source package of reusable model primitives for dbzero-friendly Python apps. It includes utilities for sparse calendars, active date windows, month-indexed storage, multilingual strings, FIFO queues, and tag-based object locks.

Core Concepts

Memo Classes

Transform any Python class into a persistent, automatically managed object by applying the @db0.memo decorator:

import dbzero as db0

@db0.memo
class Person:
    def __init__(self, name: str, age: int):
        self.name = name
        self.age = age

# Instantiation works just like regular Python
person = Person("Alice", 30)

# Attributes can be changed dynamically
person.age += 1
person.address = "123 Main St"  # Add new attributes on the fly

Collections

dbzero provides persistent versions of Python's built-in collections:

from datetime import date

person = Person("John", 25)

# Assign persistent collections to memo object
person.appointment_dates = {date(2026, 1, 12), date(2026, 1, 13), date(2026, 1, 14)}

person.skills = ["Python", "C++", "Docker"]

person.contact_info = {
    "email": "john@example.com",
    "phone": "+1-555-0100",
    "linkedin": "linkedin.com/in/john"
}

# Use them as usual
date(2026, 1, 13) in person.appointment_dates # True

person.skills.append("Kubernetes") 
print(person.skills) # Output: ['Python', 'C++', 'Docker', 'Kubernetes']

person.contact_info["github"] = "github.com/john"
person.contact_info["email"] # "john@example.com"

All standard operations are supported, and changes are automatically persisted.

Queries and Tags

Find objects using tag-based queries and flexible logic operators:

# Create and tag objects
person = Person("Susan", 31)
db0.tags(person).add("employee", "manager")

person = Person("Michael", 29)
db0.tags(person).add("employee", "developer")

# Find every Person by type
result = db0.find(Person)

# Combine type and tags (AND logic) to find employees
employees = db0.find(Person, "employee")

# OR logic using a list to find managers and developers
staff = db0.find(["manager", "developer"])

# NOT logic using db0.no() to find employees wich aren't managers
non_managers = db0.find("employee", db0.no("manager"))

Snapshots and Time Travel

Create isolated views of your data at any point in time:

person = Person("John", 25)
person.balance = 1500
# Keep the current state 
state = db0.get_state_num()
# Commit changes explicitely to advance the state immediately
db0.commit()

# Change the balance
person.balance -= 300
db0.commit()

print(f"{person.name} balance: {person.balance}") # John balance: 1200
# Open snapshot view with past state number
with db0.snapshot(state) as snap:
    past_person = db0.fetch(db0.uuid(person))
    print(f"{past_person.name} balance: {past_person.balance}") # John balance: 1500

Prefixes (Data Partitioning)

Organize data into independent, isolated partitions:

@db0.memo(singleton=True, prefix="/my-org/my-app/settings")
class AppSettings:
    def __init__(self, theme: str):
        self.theme = theme

@db0.memo(prefix="/my-org/my-app/data")
class Note:
    def __init__(self, content: str):
        self.content = content

settings = AppSettings(theme="dark") # Data goes to "settings.db0"
note = Note("Hello dbzero!")         # Data goes to "data.db0"

Indexes

Index your data for fast range queries and sorting:

from datetime import datetime

@db0.memo()
class Event:
    def __init__(self, event_id: int, occured: datetime):
        self.event_id = event_id
        self.occured = occured

events = [
    Event(100, datetime(2026, 1, 28)),
    Event(101, datetime(2026, 1, 30)),
    Event(102, datetime(2026, 1, 29)),
    Event(103, datetime(2026, 2, 1)),
]

# Create an index
event_index = db0.index()
# Populate with objects
for event in events:
    event_index.add(event.occured, event)

# Query events from January 2026
query = event_index.select(datetime(2026, 1, 1), datetime(2026, 1, 31))
# Sort ascending by date of occurance
query_sorted = event_index.sort(query)
print([event.event_id for event in query_sorted]) # Output: [100, 102, 101]

Scalability

dbzero provides tools to build scalable applications:

  • Data Partitioning - Split data across independent partitions (prefixes) to distribute workload
  • Distributed Transactions - Coordinate transactions across multiple partitions for data consistency
  • Multi-Process Support - Multiple processes can work with shared or separate data simultaneously, enabling horizontal scaling

These features give you the flexibility to design distributed architectures that fit your needs.

Use Cases

Our experience has proven that dbzero fits many real-life use cases, which include:

  • Web Applications - Unified state management for backend services
  • Data Processing Pipelines - Efficient and simple data preparation
  • Event-Driven Systems - Capturing data changes and time travel for auditing
  • AI Applications - Simplified state management for AI agents and workflows
  • Something Else? - Built something cool with dbzero? We'd love to see what you're working on—share it on our Discord server!

Why dbzero?

The short answer is illustrated by diagram below:

Traditional Stack

Application Code
    ↓
ORM Layer
    ↓
Caching Layer
    ↓
Database Layer
    ↓
Storage

With dbzero

Application Code + dbzero
    ↓
Storage

By eliminating intermediate layers, dbzero reduces complexity, improves performance, and accelerates development—all while providing the reliability and features you expect from a regular database system.

Documentation

Check our docs to learn more: docs.dbzero.io

There you can find:

  • Guides
  • Tutorials
  • Performance tips
  • API Reference

License

This project is licensed under the GNU Lesser General Public License v2.1 (LGPL 2.1). See LICENSE for the full text.

  • This library can be linked with proprietary software.
  • Modifications to the library itself must be released under LGPL 2.1.
  • Redistributions must preserve copyright and license notices and provide source.

For attribution details, see NOTICE.

Support

Feedback

We'd love to hear how you're using dbzero and what features you'd like to see! Your input helps us make dbzero better for everyone.

The best way to share your thoughts is through our Discord server: Join us on Discord

Commercial Support

Need help building large-scale solutions with dbzero?

We offer:

  • Tools for data export and manipulation
  • Tools for hosting rich UI applications on top of your existing dbzero codebase
  • System integrations
  • Expert consulting and architectural reviews
  • Performance tuning

Contact us at: info@dbzero.io


Start coding as if you have infinite memory. Let dbzero handle the rest.

Project details


Download files

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

Source Distribution

dbzero-0.4.2.tar.gz (15.9 MB view details)

Uploaded Source

Built Distributions

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

dbzero-0.4.2-cp314-cp314-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dbzero-0.4.2-cp313-cp313-win_amd64.whl (25.3 MB view details)

Uploaded CPython 3.13Windows x86-64

dbzero-0.4.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.2 MB view details)

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

dbzero-0.4.2-cp313-cp313-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dbzero-0.4.2-cp312-cp312-win_amd64.whl (25.3 MB view details)

Uploaded CPython 3.12Windows x86-64

dbzero-0.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.2 MB view details)

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

dbzero-0.4.2-cp312-cp312-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dbzero-0.4.2-cp311-cp311-win_amd64.whl (25.3 MB view details)

Uploaded CPython 3.11Windows x86-64

dbzero-0.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.2 MB view details)

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

dbzero-0.4.2-cp311-cp311-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dbzero-0.4.2-cp310-cp310-win_amd64.whl (25.3 MB view details)

Uploaded CPython 3.10Windows x86-64

dbzero-0.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.2 MB view details)

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

dbzero-0.4.2-cp310-cp310-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dbzero-0.4.2-cp39-cp39-win_amd64.whl (25.3 MB view details)

Uploaded CPython 3.9Windows x86-64

dbzero-0.4.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.2 MB view details)

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

dbzero-0.4.2-cp39-cp39-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file dbzero-0.4.2.tar.gz.

File metadata

  • Download URL: dbzero-0.4.2.tar.gz
  • Upload date:
  • Size: 15.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dbzero-0.4.2.tar.gz
Algorithm Hash digest
SHA256 c5c3cac3e33956157a5fdf3f0ac645c75a4030d03bc2bfc341b3bbbd95e72211
MD5 0ef62df1ddd26f06aeafd35abca8970b
BLAKE2b-256 fb204f8cfdc8b8cffebde75885f729cf664cdda43227b3591a25d64a6b059fdd

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 862bc31b21761693f4724df34f82aa49c5813238b09fca2cba742acf0b40fbb6
MD5 1b21039a930e657a00c9a547eabc1e5c
BLAKE2b-256 b29e27dfd54564729ed68f205a937db988b0825b433fb932082085c8aceb36d5

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: dbzero-0.4.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 25.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dbzero-0.4.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ee4f8305dbe45e5cb22f976aebc3b7422abc77a875ae7fcf6ae1719293717f61
MD5 142c7172a2bf5f6214fca06ab1419945
BLAKE2b-256 c8afb9df69c0d28f8d561a840261869a535af198d9d9bd153a6cfc77aa5eef3f

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3921c68e05aa4d52fbfec0fa61f01007e7883d15e3c36447ba2afb175d50f514
MD5 88ff1cb788e779cbaebd3f0cb55659f6
BLAKE2b-256 24fa0bddb016bd735b3811749d62445edec858345373fa4e75364d03a6c9e9b6

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b774e4c1528346320a5328e5759f82b4b30b3b8db12cae87fc6d47ad799ccee
MD5 c881e850b1c08ed3352bea252dd37562
BLAKE2b-256 ff3ce2a7a6e55ff7bc0d5bd85f7d5c919443840f160120f492178e689a1fa7eb

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dbzero-0.4.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 25.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dbzero-0.4.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a519cc95ac63afa0385637ec76eab051ab1ba52e8da00e9fff72c3b6b279f206
MD5 879884d822772094979ba9634ba7c5a3
BLAKE2b-256 23a09fe62c34c5680955dbbbd8c5d3a367837c9f5562f2fa1bb74152b9fc2858

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7753a15cee845129424de777f15c630dc44a8e278ec613d7fbc5fffa0faee552
MD5 249e0580865c12fe7fc74e31541014ba
BLAKE2b-256 5568584d46b394a42a9acfacfbd875372228ce6a0815abd9b580a5675de4ca4b

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb2e554da1d8998cdcf2f6f20d6d5c4da7ee570f85aec4b07306c7892d6988d6
MD5 323c7408e7e0880cda658f580b964d3d
BLAKE2b-256 ebe5fa4ebc17b6d4bc825f3c162d8430ded745116dc723a648ca2cc123f5e8fe

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dbzero-0.4.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 25.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dbzero-0.4.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c945a992714fb08fd720a98c9a1fb3504be8d37f6dc1b5c0855cc57cfb68ea76
MD5 60e3e4571ec6f5a387b429297ee1a5d1
BLAKE2b-256 5f33f6c855c14545476321e7ffc93c3913c83dc9d9b45c95f037e49cd451f435

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1e1b3405fae577f2fc69e5508cbfe2676e533e48d5da68a4be09e2b569939ce1
MD5 1efeec55100f5fc37284089db2221d4c
BLAKE2b-256 a3cebb086c2acfc1050c8af82bfd96a1dfe17bb4dc876784b7c68fce2815e827

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cfb8a24fc7dd292c9bda017d198ec423dc0890f9cd685e7419265a1fb28016c8
MD5 f2a229013bca1b9c2a3cc658baf3d0b7
BLAKE2b-256 d02503b8eaf635c96e8857319353d8129a02bbba419bdcd7d62b479a67d110dc

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dbzero-0.4.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 25.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dbzero-0.4.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9f2aa2dcc3b956b49ec2bf8a810069e8b63639554eb6a10436d096a9a071a92f
MD5 5f6180a0998ea442a7ebcc602ab4f3db
BLAKE2b-256 01681acf819d1ecae08efb6ef175a992e99aae5e21fdf900ae1df5e525944366

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1aab4477fa3066e91a36674266756e083a6578b16c7c0ab8cbc7994d130e38a9
MD5 ecd05474aff5e328bcded4ae8c05066f
BLAKE2b-256 a86f70d2741cf2ffa5af9ec75f0a99442480c923497402b3fbc395005856a7f2

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b11a7ccf1d35a1507848b03cececca039ae09bc9b7dab01bc4826292ef4b9cb
MD5 7a154dc4639bd25bf3dc31a27c41fc42
BLAKE2b-256 d74a596f5068bbaa59ee9f5b293d6e313be853057e0bc3122d4c93ba1cca5667

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dbzero-0.4.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 25.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dbzero-0.4.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c6cb4d9676b15cff2f01948a3e33f9d198e458d9602353ce6480ac98792a8009
MD5 49fcbba22fd6f232604c3f4ed5022e37
BLAKE2b-256 f73df85c18b554c3b0be84a34f2168e4b17deab5ae7f2188274e4dbe9648e041

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b8186ef00b335a039db4afc37fbf64307d4aa63cc69c90c6e6d36b0950eb64b
MD5 222f995a0a766ca707dc5d01a35bc6ad
BLAKE2b-256 69c990c8f13090b5b495aec5f1972e6da1ba71907292d80ce9c41f76c22f925b

See more details on using hashes here.

File details

Details for the file dbzero-0.4.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dbzero-0.4.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a828919986b245f0af4a1ff1a436c2a519a5de1136d27a74e46b0bef60fe785
MD5 480450d7d1d7751be55748cb782a383d
BLAKE2b-256 012788246f81984f6c693f0557874ee46135db3644a2d2138991993e3e2da6b1

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