{ "info": { "author": "Alban Diquet", "author_email": "nabla.c0d3@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7" ], "description": "# Fireclass\n\n[![Python Version](https://img.shields.io/pypi/pyversions/fireclass.svg)](https://pypi.org/project/fireclass/)\n[![PyPi Version](https://img.shields.io/pypi/v/fireclass.svg)](https://pypi.org/project/fireclass/)\n[![Build Status](https://travis-ci.org/nabla-c0d3/fireclass.svg?branch=master)](https://travis-ci.org/nabla-c0d3/fireclass)\n\nFirestore + Dataclass: declare and interact with your Firestore models using dataclasses.\n\n## Installation\n\n`pip install fireclass`\n\n## Sample usage\n\n```python\nfrom dataclasses import dataclass\nfrom enum import Enum\n\nfrom google.cloud import firestore\nfrom fireclass import Document, initialize_with_firestore_client\n\n\nclass MembershipLevelEnum(Enum):\n NONE = 1\n INTERMEDIATE = 2\n FULL = 3\n\n\n# Define a new type of document as a dataclass\n@dataclass\nclass Person(Document):\n email_address: str\n age: int\n\n # Enum fields are supported\n membership: MembershipLevelEnum\n\n\n# Initialize access to the Firestore DB\nclient = firestore.Client.from_service_account_json(\"travis-ci-test-suite-service-account.json\")\ninitialize_with_firestore_client(client)\n\n# Create a new person\nperson = Person(email_address=\"test@test.com\", age=30, membership=MembershipLevelEnum.INTERMEDIATE)\n\n# Save the person to the DB\nperson.create()\n\n# Update some fields\nperson.age = 31\nperson.membership = MembershipLevelEnum.NONE\nperson.update()\n\n# Fetch this specific person\nfetched_person = Person.get_document(person.id)\n\n# Query for persons\nfor found_person in Person.where(\"age\", \"==\", 31).stream():\n print(found_person)\n\n# Delete the document from the DB\nperson.delete()\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nabla-c0d3/fireclass", "keywords": "dataclasses firestore google-cloud google-cloud-platform orm", "license": "", "maintainer": "", "maintainer_email": "", "name": "fireclass", "package_url": "https://pypi.org/project/fireclass/", "platform": "", "project_url": "https://pypi.org/project/fireclass/", "project_urls": { "Homepage": "https://github.com/nabla-c0d3/fireclass", "Source": "https://github.com/nabla-c0d3/fireclass" }, "release_url": "https://pypi.org/project/fireclass/1.0.2/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Firestore + Dataclass: declare and interact with your Firestore models using dataclasses.", "version": "1.0.2" }, "last_serial": 5488055, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "7d62965bbe78966ad0ae8bcfb6c2e6d6", "sha256": "030ad87307b246c50fcd7696bf966840c4f0d6aa4c2ec6f145370fbdf968d7b1" }, "downloads": -1, "filename": "fireclass-1.0.0.tar.gz", "has_sig": false, "md5_digest": "7d62965bbe78966ad0ae8bcfb6c2e6d6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3172, "upload_time": "2019-06-29T21:52:54", "url": "https://files.pythonhosted.org/packages/80/3d/bb00020abc728e1e583cea35f5f9965ff662b262f15df86598c79a53d3fb/fireclass-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "00e7f643f9d1a806a8873308849dc227", "sha256": "2d10fd9b3798383cc54cb5bddd72d246428c40d80a2a98cc6f9dfc56cde78b03" }, "downloads": -1, "filename": "fireclass-1.0.1.tar.gz", "has_sig": false, "md5_digest": "00e7f643f9d1a806a8873308849dc227", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3426, "upload_time": "2019-06-29T22:06:03", "url": "https://files.pythonhosted.org/packages/4a/d4/a0ca6bcae5a05e4a8bd77b90f890eacc3e9e23fd7b9abe0b2a776434dac7/fireclass-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "956fd550fc718afb261cef983a99a0be", "sha256": "42a9c2b21e76c518148f64c147aea76573493ccec2c66474a8d7c0c6f45d0cf6" }, "downloads": -1, "filename": "fireclass-1.0.2.tar.gz", "has_sig": false, "md5_digest": "956fd550fc718afb261cef983a99a0be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4255, "upload_time": "2019-07-04T19:18:12", "url": "https://files.pythonhosted.org/packages/76/b6/3b957563d6271c29c82e8a15b8a23244403a163e7da95783abfe856a513a/fireclass-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "956fd550fc718afb261cef983a99a0be", "sha256": "42a9c2b21e76c518148f64c147aea76573493ccec2c66474a8d7c0c6f45d0cf6" }, "downloads": -1, "filename": "fireclass-1.0.2.tar.gz", "has_sig": false, "md5_digest": "956fd550fc718afb261cef983a99a0be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4255, "upload_time": "2019-07-04T19:18:12", "url": "https://files.pythonhosted.org/packages/76/b6/3b957563d6271c29c82e8a15b8a23244403a163e7da95783abfe856a513a/fireclass-1.0.2.tar.gz" } ] }