semvec/pypi-packages huggingface dataset:
starlette-graphene 0.4.0
Helper for add support for graphene in starlette
License: Apache License, Version 2.0
Requires Python: >=3.7

# starlette-graphene

[![CI](https://github.com/bigbag/starlette-graphene/workflows/CI/badge.svg)](https://github.com/bigbag/starlette-graphene/actions?query=workflow%3ACI)
[![codecov](https://codecov.io/gh/bigbag/starlette-graphene/branch/main/graph/badge.svg?token=FQTY888XG1)](https://codecov.io/gh/bigbag/starlette-graphene)
[![pypi](https://img.shields.io/pypi/v/starlette-graphene.svg)](https://pypi.python.org/pypi/starlette-graphene)
[![downloads](https://img.shields.io/pypi/dm/starlette-graphene.svg)](https://pypistats.org/packages/starlette-graphene)
[![versions](https://img.shields.io/pypi/pyversions/starlette-graphene.svg)](https://github.com/bigbag/starlette-graphene)
[![license](https://img.shields.io/github/license/bigbag/starlette-graphene.svg)](https://github.com/bigbag/starlette-graphene/blob/master/LICENSE)


**starlette-graphene** is a helper for add support for graphene in starlette.

* [Project Changelog](https://github.com/bigbag/starlette-graphene/blob/main/CHANGELOG.md)

## Installation

starlette-graphene is available on PyPI.
Use pip to install:

    $ pip install starlette-graphene

## Basic Usage

```py
import uvicorn
from graphene import types as grt
from starlette.applications import Starlette

from starlette_graphene import GraphQLApp


class Account(grt.ObjectType):
    account = grt.Int(required=True)


class AccountFilter(grt.InputObjectType):
    accounts = grt.List(grt.Int)


class Query(grt.ObjectType):
    course_list = None
    accounts = grt.Field(
        grt.List(Account),
        filters=AccountFilter(),
    )

    async def resolve_accounts(
        self,
        info,
        filters: AccountFilter,
    ):

        return [Account(account=1212), Account(account=43434)]


def get_graphql_app() -> GraphQLApp:
    return GraphQLApp(schema=grt.Schema(query=Query))


def init_app():
    app_ = Starlette()
    app_.mount("/graphql/", get_graphql_app())
    return app_


app = init_app()

if __name__ == "__main__":
    uvicorn.run(app=app)
```

## License

starlette-graphene is developed and distributed under the Apache 2.0 license.

## Reporting a Security Vulnerability

See our [security policy](https://github.com/bigbag/starlette-graphene/security/policy).
sqlalchemy-state-machine 1.11.0
Helper for add transitions functionality in sqlalchemy
License: Apache License, Version 2.0
Requires Python: >=3.7

# sqlalchemy-state-machine


[![CI](https://github.com/bigbag/sqlalchemy-state-machine/workflows/CI/badge.svg)](https://github.com/bigbag/sqlalchemy-state-machine/actions?query=workflow%3ACI)
[![codecov](https://codecov.io/gh/bigbag/sqlalchemy-state-machine/branch/main/graph/badge.svg)](https://codecov.io/gh/bigbag/sqlalchemy-state-machine)
[![pypi](https://img.shields.io/pypi/v/sqlalchemy-state-machine.svg)](https://pypi.python.org/pypi/sqlalchemy-state-machine)
[![downloads](https://img.shields.io/pypi/dm/sqlalchemy-state-machine.svg)](https://pypistats.org/packages/sqlalchemy-state-machine)
[![versions](https://img.shields.io/pypi/pyversions/sqlalchemy-state-machine.svg)](https://github.com/bigbag/sqlalchemy-state-machine)
[![license](https://img.shields.io/github/license/bigbag/sqlalchemy-state-machine.svg)](https://github.com/bigbag/sqlalchemy-state-machine/blob/master/LICENSE)

**sqlalchemy-state-machine** is a helper for add transitions functionality in sqlalchemy.

* [Project Changelog](https://github.com/bigbag/sqlalchemy-state-machine/blob/main/CHANGELOG.md)

## Installation

sqlalchemy-state-machine is available on PyPI.
Use pip to install:

    $ pip install sqlalchemy-state-machine


## Basic Usage

```py
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy_state_machine import StateConfig, StateMixin

Base = declarative_base()

NEW = "new"
SENT = "sent"
FAILED = "failed"

class Event(Base, StateMixin):
    __tablename__ = "users"

    state_config = StateConfig(
        initial=NEW,
        states=[NEW, SENT, FAILED],
        transitions=[
            ["set_sent", NEW, SENT],
            ["set_failed", NEW, FAILED],
        ],
    )

    id = sa.Column(sa.Integer, primary_key=True)
    name = sa.Column(sa.String)
    status = sa.Column(sa.String(), nullable=False, index=True)


sa.event.listen(Event, "init", Event.init_state_machine)
sa.event.listen(Event, "load", Event.init_state_machine)

event = Event(name="Event1")

assert event.status == NEW
assert event.set_sent()
assert event.status == SENT
```

## License

sqlalchemy-state-machine is developed and distributed under the Apache 2.0 license.

## Reporting a Security Vulnerability

See our [security policy](https://github.com/bigbag/sqlalchemy-state-machine/security/policy).