fireo


Namefireo JSON
Version 2.2.2 PyPI version JSON
download
home_pagehttps://github.com/octabytes/FireO
SummaryFireO ORM is specifically designed for the Google's Firestore.
upload_time2024-06-30 01:42:58
maintainerNone
docs_urlNone
authorOctaByte
requires_pythonNone
licenseApache 2.0
keywords python firestore models orm google cloud firebase
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="right">

![Build Status](https://github.com/octabytes/FireO/actions/workflows/python-package-testing.yml/badge.svg)
<a href="https://badge.fury.io/py/fireo">
<img src="https://badge.fury.io/py/fireo.svg" alt="PyPI version">
</a>

</p>

<p>
    <h1 align="center"><img src="fireo_logo.png" height="100" alt="FireO Logo"></h1>
    <p align="center">
        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.
    </p>
    <p align="center">
        <strong>
            <a href="https://octabyte.io/FireO/">Get Started!</a>
        </strong>
    </p>
    <br><br><br>
</p>

## 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 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

```python
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](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 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](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)].
<a href="https://github.com/octabytes/FireO/graphs/contributors"><img src="https://opencollective.com/FireO/contributors.svg?width=890&button=false" /></a>

## 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)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/octabytes/FireO",
    "name": "fireo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "Python Firestore Models ORM Google Cloud Firebase",
    "author": "OctaByte",
    "author_email": "Dev@octabyte.io",
    "download_url": "https://files.pythonhosted.org/packages/e2/39/630a014b1f9e4892f6d2754a221d786657b15eca0327244c06f716b6250f/fireo-2.2.2.tar.gz",
    "platform": null,
    "description": "<p align=\"right\">\n\n![Build Status](https://github.com/octabytes/FireO/actions/workflows/python-package-testing.yml/badge.svg)\n<a href=\"https://badge.fury.io/py/fireo\">\n<img src=\"https://badge.fury.io/py/fireo.svg\" alt=\"PyPI version\">\n</a>\n\n</p>\n\n<p>\n    <h1 align=\"center\"><img src=\"fireo_logo.png\" height=\"100\" alt=\"FireO Logo\"></h1>\n    <p align=\"center\">\n        A modern and simplest convenient ORM package in Python.\n        FireO is specifically designed for the Google's Firestore, it's more than just ORM.\n        It implements validation, type checking, relational model logic and much more facilities.\n    </p>\n    <p align=\"center\">\n        <strong>\n            <a href=\"https://octabyte.io/FireO/\">Get Started!</a>\n        </strong>\n    </p>\n    <br><br><br>\n</p>\n\n## Available in other language\n\n1. FireO is available also in `nodeJS` [FireO nodeJS](https://github.com/octabytes/fireo-nodejs)\n\n## Installation\n\n```python\npip install fireo\n```\n\n## Example Usage\n\n```python\nfrom fireo.models import Model\nfrom fireo.fields import TextField\n\nclass User(Model):\n    name = TextField()\n\n\nu = User()\nu.name = \"Azeem Haider\"\nu.save()\n\n# Get user\nuser = User.collection.get(u.key)\nprint(user.name)\n```\n\n## With Typed Model\n\n```python\nfrom fireo.typedmodels import TypedModel\n\nclass User(TypedModel):\n    name: str\n    age: int\n\n# Use the model as usual:\nuser = User(name='John', age=\"30\")\nuser.save()\n\nprint(user.to_dict())\n```\n\n## Documentation\n\nFull documentation is available in the [FireO Doc](https://octabyte.io/FireO/).\n\n## Contributing\n\nBug reports and pull requests are welcome. This project is intended to be a safe, welcoming\nspace for collaboration, and contributors are expected to adhere to the\n[Contributor Covenant](https://github.com/octabytes/FireO/blob/master/CODE_OF_CONDUCT.md) code of conduct.\n\n1. Fix bug or add new features\n2. Write tests for your functionality\n3. Mention in [Documentation](https://github.com/octabytes/FireO/tree/gh-pages), what you have done and how others can use it\n\nTo run the tests while developing on this package, you'll have to setup a Google service account and setup credentials with the following command:\n\n`export GOOGLE_APPLICATION_CREDENTIALS=\"KEY_PATH\"`\n\nSee the [Google Cloud documentation](https://cloud.google.com/docs/authentication/getting-started) for more details.\n\n## Code Contributors\n\nThis project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].\n<a href=\"https://github.com/octabytes/FireO/graphs/contributors\"><img src=\"https://opencollective.com/FireO/contributors.svg?width=890&button=false\" /></a>\n\n## License\n\nThis is official [FireO](https://github.com/octabytes/FireO) Repository. Powered by [OctaByte](https://octabyte.io)\nLicensed under [Apache License 2.0](https://github.com/octabytes/FireO/blob/master/LICENSE)\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "FireO ORM is specifically designed for the Google's Firestore.",
    "version": "2.2.2",
    "project_urls": {
        "Homepage": "https://github.com/octabytes/FireO"
    },
    "split_keywords": [
        "python",
        "firestore",
        "models",
        "orm",
        "google",
        "cloud",
        "firebase"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "92cb8512f22e52e8799366e58c87e659edc74be0f3016668a869775f9a70aa39",
                "md5": "1fa7fd2863801d42283548cf8be6af7a",
                "sha256": "7d9a7d9fe893cde31f96a1fc0dda104743566a99e5aaafc9f16ff0d356bd8845"
            },
            "downloads": -1,
            "filename": "fireo-2.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1fa7fd2863801d42283548cf8be6af7a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 57060,
            "upload_time": "2024-06-30T01:42:56",
            "upload_time_iso_8601": "2024-06-30T01:42:56.703790Z",
            "url": "https://files.pythonhosted.org/packages/92/cb/8512f22e52e8799366e58c87e659edc74be0f3016668a869775f9a70aa39/fireo-2.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e239630a014b1f9e4892f6d2754a221d786657b15eca0327244c06f716b6250f",
                "md5": "ce70e569840ec5a26142530b7fcea355",
                "sha256": "207b1ce8c2384872135f17c758115e36e48054b56cf4c3b27f45529188e67615"
            },
            "downloads": -1,
            "filename": "fireo-2.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "ce70e569840ec5a26142530b7fcea355",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 43065,
            "upload_time": "2024-06-30T01:42:58",
            "upload_time_iso_8601": "2024-06-30T01:42:58.524953Z",
            "url": "https://files.pythonhosted.org/packages/e2/39/630a014b1f9e4892f6d2754a221d786657b15eca0327244c06f716b6250f/fireo-2.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-30 01:42:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "octabytes",
    "github_project": "FireO",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "fireo"
}
        
Elapsed time: 0.25606s