Skip to main content

Firestore + Dataclass: declare and interact with your Firestore models using dataclasses.

Project description

Fireclass

Python Version PyPi Version Build Status

Firestore + Dataclass: declare and interact with your Firestore models using Python dataclasses.

Installation

pip install fireclass

Sample usage

from dataclasses import dataclass
from enum import Enum

from google.cloud import firestore
from fireclass import Document, initialize_with_firestore_client


class MembershipLevelEnum(Enum):
    NONE = 1
    INTERMEDIATE = 2
    FULL = 3


# Define a new type of document as a dataclass
@dataclass
class Person(Document):
    email_address: str
    age: int

    # Enum fields are supported
    membership: MembershipLevelEnum


# Initialize access to the Firestore DB
client = firestore.Client.from_service_account_json("travis-ci-test-suite-service-account.json")
initialize_with_firestore_client(client)

# Create a new person
person = Person(email_address="test@test.com", age=30, membership=MembershipLevelEnum.INTERMEDIATE)

# Save the person to the DB
person.create()

# Update some fields
person.age = 31
person.membership = MembershipLevelEnum.NONE
person.update()

# Fetch this specific person
fetched_person = Person.get_document(person.id)

# Query for persons
for found_person in Person.where("age", "==", 31).stream():
    print(found_person)

# Delete the document from the DB
person.delete()

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

fireclass-1.0.4.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file fireclass-1.0.4.tar.gz.

File metadata

  • Download URL: fireclass-1.0.4.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for fireclass-1.0.4.tar.gz
Algorithm Hash digest
SHA256 02ef392e542e07d33a3b1a2b6c74e6b525e7b761e9b6a4958ab13f9143ac47b1
MD5 f4493aa4a6181fb445315ca77b27fb8a
BLAKE2b-256 82b8d7b4ab22c22be1832468351d6a48d9edf9de9dbc6b12171376bac634e700

See more details on using hashes here.

Supported by

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