项目作者: nabla-c0d3

项目描述 :
Firestore + Dataclass: declare and interact with your Firestore models using Python dataclasses.
高级语言: Python
项目地址: git://github.com/nabla-c0d3/fireclass.git
创建时间: 2019-06-25T04:42:33Z
项目社区:https://github.com/nabla-c0d3/fireclass

开源协议:MIT License

下载


Fireclass

Build Status
Downloads
PyPI version
Python version

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

Installation

pip install fireclass

Sample usage

  1. from dataclasses import dataclass
  2. from enum import Enum
  3. from google.cloud import firestore
  4. from fireclass import Document, initialize_with_firestore_client
  5. class MembershipLevelEnum(Enum):
  6. NONE = 1
  7. INTERMEDIATE = 2
  8. FULL = 3
  9. # Define a new type of document as a dataclass
  10. @dataclass
  11. class Person(Document):
  12. email_address: str
  13. age: int
  14. # Enum fields are supported
  15. membership: MembershipLevelEnum
  16. # Initialize access to the Firestore DB
  17. client = firestore.Client.from_service_account_json("travis-ci-test-suite-service-account.json")
  18. initialize_with_firestore_client(client)
  19. # Create a new person
  20. person = Person(email_address="test@test.com", age=30, membership=MembershipLevelEnum.INTERMEDIATE)
  21. # Save the person to the DB
  22. person.create()
  23. # Update some fields
  24. person.age = 31
  25. person.membership = MembershipLevelEnum.NONE
  26. person.update()
  27. # Fetch this specific person
  28. fetched_person = Person.get_document(person.id)
  29. # Query for persons
  30. for found_person in Person.where("age", "==", 31).stream():
  31. print(found_person)
  32. # Delete the document from the DB
  33. person.delete()