Skip to main content

sqlalchemy-graphql-schemagen

Generate a full (query/mutation) GraphQL Schema from your defined classes in a declarative_meta() Model.

Example

#!/usr/bin/env python
from flask import Flask
from flask_graphql import GraphQLView
from sqlalchemy import create_engine
from medgraphqlapi import generate_custom_column_docstrings
from sqlalchemy_graphql_schemagen import SQLAlchemyGraphQLSchemaGenerator

from medgraphqlapi.database_schema import Base as sa_base_declarative

################################
# SQLAlchemy Stuff
################################
sa_connection_string = "mssql+pyodbc://XXXXXXXXXXXX"

# Create the Engine
sa_engine = create_engine(sa_connection_string)

# Generate more useful columns' docstrings (ex.: type length, collation, ...)
generate_custom_column_docstrings(sa_base_declarative)

################################
# Build a GraphQL Schema from the SQLAlchemy Schema, using sqlalchemy_graphql_schemagen!
################################
graphql_schema = SQLAlchemyGraphQLSchemaGenerator(
    "ApiName",
    sa_base_declarative,
    sa_connection_string=sa_connection_string,
).get_graphene_schema()

################################
# Instantiate Flask App
################################
app = Flask(__name__)

# Plug GraphQLView
app.add_url_rule("/graphql",
                 view_func=GraphQLView.as_view("graphql",
                                               schema=graphql_schema,
                                               graphiql=True))

# That's it!
if __name__ == "__main__":
    app.run(host="0.0.0.0")

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlalchemy-graphql-schemagen-1.0.5.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sqlalchemy_graphql_schemagen-1.0.5-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file sqlalchemy-graphql-schemagen-1.0.5.tar.gz.

File metadata

  • Download URL: sqlalchemy-graphql-schemagen-1.0.5.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.0

File hashes

Hashes for sqlalchemy-graphql-schemagen-1.0.5.tar.gz
Algorithm Hash digest
SHA256 820419fbdbbdbab83c3882669979954cb94a2f38858f78ed243327b90690d7d0
MD5 1db6d23b1df40353bb47537a3045c9ec
BLAKE2b-256 722e9597f2d5910d0742a7cd05644a5d18ce4e7fe3fb73770359e081b67aafec

See more details on using hashes here.

File details

Details for the file sqlalchemy_graphql_schemagen-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: sqlalchemy_graphql_schemagen-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.0

File hashes

Hashes for sqlalchemy_graphql_schemagen-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0275f933f66804c81142d96dcf58a396c392097dab10dc6fae189ebbbfdb6968
MD5 3bb965df9ac894edb2e4e2300621b1ae
BLAKE2b-256 823ba6b687889c1707221a092e41d041e932fbfa610a9cd8289f5c4d2e695889

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.6

2 files

This release

1.0.5 This release

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.9.9

2 files

0.9.8

2 files

0.9.7

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page