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)
Metadata
Release files for frantic 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| frantic-0.1.3.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| frantic-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.0 kB
Release files / frantic-0.1.3.tar.gz
| Download URL | frantic-0.1.3.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
787d8a544fc28f6b80b4e55bdc8f8fe57c2ecadc0d1b9b24afa1f78bf2892d30
|
|
BLAKE2b-256 checksum How to use checksums |
f263538e45e8958cf7d8af2a390b5416cee31cba53ad2e69d10c80706413d1c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.10.0 Linux/5.15.0-56-generic
|
Release files / frantic-0.1.3-py3-none-any.whl
| Download URL | frantic-0.1.3-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00dc2ce1898a146c1d2fa2c9ef0bb95816fa2897b0c1cf0844205d990fe5f871
|
|
BLAKE2b-256 checksum How to use checksums |
98b86c1666269d00e8a22976b250ed4c2b368576ca270afd5512e5d44eca8198
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.10.0 Linux/5.15.0-56-generic
|