Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
564bff00ff-strawberry-graphql
Advanced tools
Python GraphQL library based on dataclasses
The quick start method provides a server and CLI to get going quickly. Install with:
pip install "strawberry-graphql[debug-server]"
Create a file called app.py
with the following code:
import strawberry
@strawberry.type
class User:
name: str
age: int
@strawberry.type
class Query:
@strawberry.field
def user(self) -> User:
return User(name="Patrick", age=100)
schema = strawberry.Schema(query=Query)
This will create a GraphQL schema defining a User
type and a single query
field user
that will return a hardcoded user.
To run the debug server run the following command:
strawberry server app
Open the debug server by clicking on the following link: http://0.0.0.0:8000/graphql
This will open GraphiQL where you can test the API.
Strawberry comes with a mypy plugin that enables statically type-checking your
GraphQL schema. To enable it, add the following lines to your mypy.ini
configuration:
[mypy]
plugins = strawberry.ext.mypy_plugin
A Django view is provided for adding a GraphQL endpoint to your application.
INSTALLED_APPS
.INSTALLED_APPS = [
..., # your other apps
"strawberry.django",
]
urls.py
file.from strawberry.django.views import GraphQLView
from .schema import schema
urlpatterns = [
...,
path("graphql", GraphQLView.as_view(schema=schema)),
]
To support graphql Subscriptions over WebSockets you need to provide a WebSocket enabled server. The debug server can be made to support WebSockets with these commands:
pip install 'strawberry-graphql[debug-server]'
pip install 'uvicorn[standard]'
We use poetry to manage dependencies, to get started follow these steps:
git clone https://github.com/strawberry-graphql/strawberry
cd strawberry
poetry install
poetry run pytest
This will install all the dependencies (including dev ones) and run the tests.
We have a configuration for pre-commit, to add the hook run the following command:
pre-commit install
The code in this project is licensed under MIT license. See LICENSE for more information.
FAQs
A library for creating GraphQL APIs
We found that 564bff00ff-strawberry-graphql demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.