Firestore with Pydantic models integration
Project description
Frantic
Firestore with Pydantic models integration.
Please note that this module is a work in progress. API may change over time. Also, the code is not tested yet and there are no security checks run periodically.
Installation
Using pip
pip install frantic
Using poetry
poetry add frantic
Basic usage
If you have your service account key path set in GOOGLE_APPLICATION_CREDENTIALS, it's fairly easy:
import asyncio
from typing import ClassVar
from frantic import Frantic, BaseModel
# Create a model the same way you would do it with Pydantic
class User(BaseModel):
# optionally, you may specify name of collection instances will be stored within:
collection: ClassVar = "my_users_collection"
# field 'id' is added automatically
name: str
async def main():
frantic = Frantic()
user = User(name="ijustfarted")
# Save user in the Firestore db
await frantic.add(user)
# user's id gets automatically populated and can be used to retrieve the user
retrieved = await frantic.get(User, user.id)
assert retrieved.name == user.name
# list all users
users = await frantic.list(User)
# delete user
await frantic.delete(user)
# or
await frantic.delete(User, user.id)
if __name__ == "__main__":
asyncio.run(main)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file frantic-0.1.3.tar.gz.
File metadata
- Download URL: frantic-0.1.3.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.0 Linux/5.15.0-56-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
787d8a544fc28f6b80b4e55bdc8f8fe57c2ecadc0d1b9b24afa1f78bf2892d30
|
|
| MD5 |
813112f3a47d660bc5e7899366d3c8f2
|
|
| BLAKE2b-256 |
f263538e45e8958cf7d8af2a390b5416cee31cba53ad2e69d10c80706413d1c4
|
File details
Details for the file frantic-0.1.3-py3-none-any.whl.
File metadata
- Download URL: frantic-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.0 Linux/5.15.0-56-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00dc2ce1898a146c1d2fa2c9ef0bb95816fa2897b0c1cf0844205d990fe5f871
|
|
| MD5 |
662953e4df2a77534931c8f72c0c984e
|
|
| BLAKE2b-256 |
98b86c1666269d00e8a22976b250ed4c2b368576ca270afd5512e5d44eca8198
|