Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/octabyte-io/fireo
Google Cloud Firestore modern and simplest convenient ORM package in Python. FireO is specifically designed for the Google's Firestore
https://github.com/octabyte-io/fireo
firebase fireo firestore firestore-models google-cloud-firestore orm orm-model python
Last synced: about 20 hours ago
JSON representation
Google Cloud Firestore modern and simplest convenient ORM package in Python. FireO is specifically designed for the Google's Firestore
- Host: GitHub
- URL: https://github.com/octabyte-io/fireo
- Owner: octabyte-io
- License: apache-2.0
- Created: 2019-09-29T10:37:00.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-17T05:02:19.000Z (5 months ago)
- Last Synced: 2025-01-14T19:29:47.062Z (13 days ago)
- Topics: firebase, fireo, firestore, firestore-models, google-cloud-firestore, orm, orm-model, python
- Language: Python
- Homepage: https://fireo.octabyte.io
- Size: 667 KB
- Stars: 252
- Watchers: 14
- Forks: 31
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![Build Status](https://github.com/octabytes/FireO/actions/workflows/python-package-testing.yml/badge.svg)
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.
## Available in other language
1. FireO is available also in `nodeJS` [FireO nodeJS](https://github.com/octabytes/fireo-nodejs)
## Installation
```python
pip install fireo
```## Example Usage
```python
from fireo.models import Model
from fireo.fields import TextFieldclass 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
```python
from fireo.typedmodels import TypedModelclass 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](https://octabyte.io/FireO/).
## 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](https://github.com/octabytes/FireO/blob/master/CODE_OF_CONDUCT.md) code of conduct.1. Fix bug or add new features
2. Write tests for your functionality
3. Mention in [Documentation](https://github.com/octabytes/FireO/tree/gh-pages), what you have done and how others can use itTo 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](https://cloud.google.com/docs/authentication/getting-started) for more details.
## Code Contributors
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
## License
This is official [FireO](https://github.com/octabytes/FireO) Repository. Powered by [OctaByte](https://octabyte.io)
Licensed under [Apache License 2.0](https://github.com/octabytes/FireO/blob/master/LICENSE)