fastgraphql


Namefastgraphql JSON
Version 0.0.12 PyPI version JSON
download
home_pagehttps://github.com/hugowschneider/fastgraphql
SummaryFastGraphQL is intended to help developer create code driven GraphQL APIs
upload_time2022-12-30 10:04:49
maintainer
docs_urlNone
authorHugo Wruck Schneider
requires_python>=3.8.1,<4.0.0
licenseMIT
keywords graphql fastgraphql
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # FastGraphQL
![FastGraphQL](docs/pages/assets/logo_text.svg)
<p style="text-align: center;">FastGraphQL is a tool for creating code-driven GraphQL APIs.</p>

----------

![pypi](https://img.shields.io/pypi/v/fastgraphql)
![Python Versions](https://img.shields.io/pypi/pyversions/fastgraphql.svg?color=%2334D058)
![License](https://img.shields.io/pypi/l/fastgraphql)

[![codecov](https://codecov.io/gh/hugowschneider/fastgraphql/branch/main/graph/badge.svg?token=FCC5LMA0IQ)](https://codecov.io/gh/hugowschneider/fastgraphql)
![tests](https://github.com/hugowschneider/fastgraphql/actions/workflows/test.yaml/badge.svg)


[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=bugs)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)

-------
Documentation: <a href="https://hugowschneider.github.io/fastgraphql" target="_blank">https://hugowschneider.github.io/fastgraphql</a>

Source Code: <a href="https://github.com/hugowschneider/fastgraphql" target="_blank">https://github.com/hugowschneider/fastgraphql</a>

# Disclaimer

*This is still a work in progress and all support is welcomed*

# Motivation

So far most of the projects that use GraphQL need to duplicate
many definitions to be able to have a consistent GraphQL API schema
alongside well-defined models that governs the development and the application.

FastGraphQL proposes to shortcut the path between python models and GraphQL schema
using **Pydantic** models. This ensures not only a single source of truth when comes to
type, input, query and mutation definitions, but also the
ability to use **Pydantic** to features on models and inputs.

# Installation

```shell
$ pip install "fastgraphql[all]"
```
You will also need an ASGI server as well to serve your API

```shell
$ pip install "uvicorn[standard]"
```

# Usage

The very first Hello Work example.

```python
from fastapi import FastAPI
from fastgraphql import FastGraphQL
from fastgraphql.fastapi import make_ariadne_fastapi_router

app = FastAPI()
fast_graphql = FastGraphQL()


@fast_graphql.query()
def hello() -> str:
    return "Hello FastGraphQL!!!"


app.include_router(make_ariadne_fastapi_router(fast_graphql=fast_graphql))

```

```shell
$ uvicorn main:app --reload
```

A simple example will not show you the all **FastGraphQL** capabilities, but it
shows how simple this can be.

# Learn

To start your journey into **FastGraphQL**, please refer to [Getting Started](https://hugowschneider.github.io/fastgraphql/tutorial/).

You can find the API documentation [here](https://hugowschneider.github.io/fastgraphql/api/fastgraphql/).

# Integration

FastGraphQL generates independently of any integration a data structure containing all GraphQL definitions and resolvers, which
generates a GraphQL schema.

With that said, all integration will add functionalities and provide
easy and alternative deployments of the defined API.

You can find out more about the different integrations under [Integrations](https://hugowschneider.github.io//fastgraphql/under-construction/)

# Acknowledgment

Thanks to [FastAPI](https://fastapi.tiangolo.com) for the inspiration!


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hugowschneider/fastgraphql",
    "name": "fastgraphql",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8.1,<4.0.0",
    "maintainer_email": "",
    "keywords": "graphql,fastgraphql",
    "author": "Hugo Wruck Schneider",
    "author_email": "hugowschneider@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/82/e5/3300736ce3d3c79a204c012bddcd2aa1a5af0529fc46461013aab5cd2cb6/fastgraphql-0.0.12.tar.gz",
    "platform": null,
    "description": "# FastGraphQL\n![FastGraphQL](docs/pages/assets/logo_text.svg)\n<p style=\"text-align: center;\">FastGraphQL is a tool for creating code-driven GraphQL APIs.</p>\n\n----------\n\n![pypi](https://img.shields.io/pypi/v/fastgraphql)\n![Python Versions](https://img.shields.io/pypi/pyversions/fastgraphql.svg?color=%2334D058)\n![License](https://img.shields.io/pypi/l/fastgraphql)\n\n[![codecov](https://codecov.io/gh/hugowschneider/fastgraphql/branch/main/graph/badge.svg?token=FCC5LMA0IQ)](https://codecov.io/gh/hugowschneider/fastgraphql)\n![tests](https://github.com/hugowschneider/fastgraphql/actions/workflows/test.yaml/badge.svg)\n\n\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=bugs)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=hugowschneider_fastgraphql&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=hugowschneider_fastgraphql)\n\n-------\nDocumentation: <a href=\"https://hugowschneider.github.io/fastgraphql\" target=\"_blank\">https://hugowschneider.github.io/fastgraphql</a>\n\nSource Code: <a href=\"https://github.com/hugowschneider/fastgraphql\" target=\"_blank\">https://github.com/hugowschneider/fastgraphql</a>\n\n# Disclaimer\n\n*This is still a work in progress and all support is welcomed*\n\n# Motivation\n\nSo far most of the projects that use GraphQL need to duplicate\nmany definitions to be able to have a consistent GraphQL API schema\nalongside well-defined models that governs the development and the application.\n\nFastGraphQL proposes to shortcut the path between python models and GraphQL schema\nusing **Pydantic** models. This ensures not only a single source of truth when comes to\ntype, input, query and mutation definitions, but also the\nability to use **Pydantic** to features on models and inputs.\n\n# Installation\n\n```shell\n$ pip install \"fastgraphql[all]\"\n```\nYou will also need an ASGI server as well to serve your API\n\n```shell\n$ pip install \"uvicorn[standard]\"\n```\n\n# Usage\n\nThe very first Hello Work example.\n\n```python\nfrom fastapi import FastAPI\nfrom fastgraphql import FastGraphQL\nfrom fastgraphql.fastapi import make_ariadne_fastapi_router\n\napp = FastAPI()\nfast_graphql = FastGraphQL()\n\n\n@fast_graphql.query()\ndef hello() -> str:\n    return \"Hello FastGraphQL!!!\"\n\n\napp.include_router(make_ariadne_fastapi_router(fast_graphql=fast_graphql))\n\n```\n\n```shell\n$ uvicorn main:app --reload\n```\n\nA simple example will not show you the all **FastGraphQL** capabilities, but it\nshows how simple this can be.\n\n# Learn\n\nTo start your journey into **FastGraphQL**, please refer to [Getting Started](https://hugowschneider.github.io/fastgraphql/tutorial/).\n\nYou can find the API documentation [here](https://hugowschneider.github.io/fastgraphql/api/fastgraphql/).\n\n# Integration\n\nFastGraphQL generates independently of any integration a data structure containing all GraphQL definitions and resolvers, which\ngenerates a GraphQL schema.\n\nWith that said, all integration will add functionalities and provide\neasy and alternative deployments of the defined API.\n\nYou can find out more about the different integrations under [Integrations](https://hugowschneider.github.io//fastgraphql/under-construction/)\n\n# Acknowledgment\n\nThanks to [FastAPI](https://fastapi.tiangolo.com) for the inspiration!\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "FastGraphQL is intended to help developer create code driven GraphQL APIs",
    "version": "0.0.12",
    "split_keywords": [
        "graphql",
        "fastgraphql"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "a5a30ee1e72c0038362b628cef15fe95",
                "sha256": "0af66e0023fc13b089b64f2c3d20e7555700dc844e22865b2fd44111d89930d6"
            },
            "downloads": -1,
            "filename": "fastgraphql-0.0.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a5a30ee1e72c0038362b628cef15fe95",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8.1,<4.0.0",
            "size": 20023,
            "upload_time": "2022-12-30T10:04:47",
            "upload_time_iso_8601": "2022-12-30T10:04:47.984893Z",
            "url": "https://files.pythonhosted.org/packages/c8/b7/4150e7717306071fccfaba764e27b65dbbc20c90f3208eb1a2764eb8c7a6/fastgraphql-0.0.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "cdb9f85834ee73485421e0aefafe333f",
                "sha256": "77dec2530617bd060045c25224946de914465a5fe803449fe478f7f9cfbbe7c1"
            },
            "downloads": -1,
            "filename": "fastgraphql-0.0.12.tar.gz",
            "has_sig": false,
            "md5_digest": "cdb9f85834ee73485421e0aefafe333f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.1,<4.0.0",
            "size": 17819,
            "upload_time": "2022-12-30T10:04:49",
            "upload_time_iso_8601": "2022-12-30T10:04:49.608055Z",
            "url": "https://files.pythonhosted.org/packages/82/e5/3300736ce3d3c79a204c012bddcd2aa1a5af0529fc46461013aab5cd2cb6/fastgraphql-0.0.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-30 10:04:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "hugowschneider",
    "github_project": "fastgraphql",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "fastgraphql"
}
        
Elapsed time: 0.02455s