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.1.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.1-cp314-cp314-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dbzero-0.4.1-cp313-cp313-win_amd64.whl (25.2 MB view details)

Uploaded CPython 3.13Windows x86-64

dbzero-0.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.1 MB view details)

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

dbzero-0.4.1-cp313-cp313-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dbzero-0.4.1-cp312-cp312-win_amd64.whl (25.2 MB view details)

Uploaded CPython 3.12Windows x86-64

dbzero-0.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.1 MB view details)

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

dbzero-0.4.1-cp312-cp312-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dbzero-0.4.1-cp311-cp311-win_amd64.whl (25.2 MB view details)

Uploaded CPython 3.11Windows x86-64

dbzero-0.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.1 MB view details)

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

dbzero-0.4.1-cp311-cp311-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dbzero-0.4.1-cp310-cp310-win_amd64.whl (25.2 MB view details)

Uploaded CPython 3.10Windows x86-64

dbzero-0.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.1 MB view details)

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

dbzero-0.4.1-cp310-cp310-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dbzero-0.4.1-cp39-cp39-win_amd64.whl (25.2 MB view details)

Uploaded CPython 3.9Windows x86-64

dbzero-0.4.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.1 MB view details)

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

dbzero-0.4.1-cp39-cp39-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dbzero-0.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 42913ce42161a4959b1225f969c25d53ad2acef11ccf01ef1785e8c1201d508b
MD5 9608895704fd7c42f94667f1b90c103f
BLAKE2b-256 c8388de29435da2709e3e431e477912f63f9f7b9a3ca847bbde0518baf301ed3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f6be045b5ec69867bf539b02d813c0baf6249649edf82302fb337a83b16a81e
MD5 b2786ddf0f89660be795506e9eec3f3e
BLAKE2b-256 ea3a8a8f6a3cab1fee3aa1d9c7595fc98f548510bbd7b6af327764dc67622669

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dbzero-0.4.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 25.2 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d870e4080d66640cc86313cf19419b5d45ae7ca618e13a6a8419c3033b8daffd
MD5 98e66e254147dadfd10927f333eb6fac
BLAKE2b-256 81cb7c78bdca450d0bbc25b06d34af58152a8a2d8727b40f1ebc178e56bdb58a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66bb0590b05c2d25b3615b5487320fd325f93318646f2ff221941728bc94b837
MD5 cc8e4758a7073a08f42a12e1e351e81e
BLAKE2b-256 b37aab44ba63bf029eb242c182e875d4ad1faa8b1d48f1a371d55eb77c504533

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a3b8ecb4a5276aab80e082b4857a7457acd4209572e0ad93eb737df80b97ecd
MD5 2100a8e70c6f9d305462b735932b265b
BLAKE2b-256 d3aea61e6ac4fa5d9538e7dc6f77e4a561eac062c0992ed9b022bd5e7705f40b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dbzero-0.4.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 25.2 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 60e6d3ff6fa197b266186f4fa4621c6abd8503f118d89cd3a14f61e7a8cf2583
MD5 a71cf4994e2e693cacc2c5667db45165
BLAKE2b-256 c47aa086ec158c189a048a5ed771525bfa5b714ef85af4cf92766209c5c6ebfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e8ee615003c84075fcfdaeb0777e71449dcd16ebe82a9dacdbf4959e8b85808
MD5 31285a3ff3376237d5a2d3cd5fa1d4b7
BLAKE2b-256 eb253a8b57e6540c3599a515a1a5d95f2f40ad1238adb27fa8896bcbc29b819b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8226921a660318035db14398e21d3de0f1aa8d954509c986b304b7290d48619
MD5 881e9d3949f89e4d2b05e1f2a958a7ce
BLAKE2b-256 df8cfa96aa90e5abf8b634ba67176077d8a88231b16e00c3f179fe086f29eed1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dbzero-0.4.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 25.2 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eab473b4dc829c1a97e010e225272d3c3b9b49ba0a27c9a7bd7ff746b37ab252
MD5 6be6cd0daa9ddca5da59f69fea6a81ef
BLAKE2b-256 a7405fd5e89f3b6181e1f89f306ff19c295908209c07e6c8eaea68d8f693dac8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c62ac779a01dd6ba934e4be5f6096f0ca01e39fed98de81dc8ba71b5640a53e6
MD5 dae89325198006595c40ffc541a6a0bb
BLAKE2b-256 701e1e321c5cb15c0f0dad671f8d1e2992700ccdd2ffadf8e6458d443ac91f8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cecf8f229791b68b2fe769672d40b40451eee2d9cbbe47f8ebc210c60934102a
MD5 36f87d40cd0e7f27067666b4a58f1f5f
BLAKE2b-256 12ad48936874477805bc5ccbf96e85305f9ca1c5b3e19b870c540857b5815dd8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dbzero-0.4.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 25.2 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e6ce37172a4e744ba3bbe8d0fd7bb4599e9829fea7385d0cf35231e76f0268f
MD5 e3bba7f44e30c7dcb3d6872b9ee6579d
BLAKE2b-256 1d6bba5297b2916b3c54b0c47127a885585754daef2885640a8ba007198004ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0248e1246db74619cb1a6a93a6ac0225fbf3d82340828bb28294e305571cc324
MD5 bc602aa7abf8ede9c3434ab3cbcbc989
BLAKE2b-256 bf66c87cc2acce4d2df0bc68228510a4b2d69101dd12ddd6307d02e1913df756

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ace9562da79d6a0ea87cf2fc8c0ab7f5411826c30976605f4537829892d052bb
MD5 8476aaa636e6138ce7e7e14f0cf00a33
BLAKE2b-256 3505f374af4ad1bec9d0dc0fca887bd028a46cff7427c4dfa6703f0b6c1311f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dbzero-0.4.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 25.2 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 44edbf1591b27d7f11de8beb55e95c9c337732d819f703eca5303fd004905f94
MD5 fc07c3aac0eed97f070e0793f6dc160c
BLAKE2b-256 b982c6af96ded994886ab595af52cc53c0bf8ba4cc7aa2a984963c4b3ee766c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a50477c8a5ccc25ea8b777a7c33cb6b7023445337964745bcc2328da3392077d
MD5 733dbaf574f57e667c3e004e793b22b6
BLAKE2b-256 8b9beaefa71e02ff7514e2bdfca2d0e406c7029f8a0c212fb505df1d6723e6d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dbzero-0.4.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f30f4ef32a7540271c474671e9d38e23d98cf443b4018d9d08cb65c17634f8bf
MD5 06224503cc7156bfbf87f34f5c750836
BLAKE2b-256 e98abe95aee39f21261cfbda71a1c7a9e08c76cf5b63464a3996039825f959d9

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