Skip to content

Google Cloud Firestore modern and simplest convenient ORM package in Python. FireO is specifically designed for the Google's Firestore

License

Notifications You must be signed in to change notification settings

octabyte-io/FireO

Repository files navigation

Build Status PyPI version

FireO Logo

A modern and simplest convenient ORM package in Python. FireO is specifically designed for the Google's Firestore, it's more than just ORM. It implements validation, type checking, relational model logic and much more facilities.

Get Started!




Available in other language

  1. FireO is available also in nodeJS FireO nodeJS

Installation

pip install fireo

Example Usage

from fireo.models import Model
from fireo.fields import TextField

class User(Model):
    name = TextField()


u = User()
u.name = "Azeem Haider"
u.save()

# Get user
user = User.collection.get(u.key)
print(user.name)

With Typed Model

from fireo.typedmodels import TypedModel

class User(TypedModel):
    name: str
    age: int

# Use the model as usual:
user = User(name='John', age="30")
user.save()

print(user.to_dict())

Documentation

Full documentation is available in the FireO Doc.

Contributing

Bug reports and pull requests are welcome. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

  1. Fix bug or add new features
  2. Write tests for your functionality
  3. Mention in Documentation, what you have done and how others can use it

To run the tests while developing on this package, you'll have to setup a Google service account and setup credentials with the following command:

export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"

See the Google Cloud documentation for more details.

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

License

This is official FireO Repository. Powered by OctaByte Licensed under Apache License 2.0