No description
Find a file
Miran 38d7014a7f
use the common CI workflow (#128)
* use the common CI workflow

* Fix test result comparison

* Fix compareTree

* Fix multiple root operation error message consistency

* Fix test vector

* Fix pos comparison

---------

Co-authored-by: jangko <jangko128@gmail.com>
2025-04-17 16:13:21 +07:00
.github/workflows use the common CI workflow (#128) 2025-04-17 16:13:21 +07:00
docs update docs related to deprecation 2022-03-11 23:45:56 +07:00
fuzzer add fuzzer for lexer and parser 2021-03-29 19:26:11 +07:00
graphql use the common CI workflow (#128) 2025-04-17 16:13:21 +07:00
playground use the common CI workflow (#128) 2025-04-17 16:13:21 +07:00
resources add graphql logo 2021-02-15 12:12:07 +07:00
tests use the common CI workflow (#128) 2025-04-17 16:13:21 +07:00
.gitignore add nim 2.0 to ci matrix 2023-04-17 10:39:44 +07:00
config.nims adjustment for nim 1.6 2023-01-31 17:28:41 +07:00
Dockerfile playground: add support to run inside docker 2021-07-04 11:41:08 +07:00
graphql.nim use the common CI workflow (#128) 2025-04-17 16:13:21 +07:00
graphql.nimble test refc in CI in Nim 2.0 and later (#125) 2024-02-19 16:06:18 +00:00
LICENSE-APACHEv2 initial commit 2021-02-15 11:06:34 +07:00
LICENSE-MIT initial commit 2021-02-15 11:06:34 +07:00
README.md playground: add support to run inside docker 2021-07-04 11:41:08 +07:00

nim-graphql

GraphQL Logo

License: Apache License: MIT Github action

Introduction

Enjoy writing graphql service in plain Nim!. You decide when to use more syntactic sugars offered by Nim templates. And you can choose whether you want to use macros or not, we don't impose them to you.

Designed from ground up to be easily tested part by part, you can quickly implement your service while writing a comprehensive test suite for it.

You can choose which transport mechanism to deliver your service. Over http or secure-http, websocket or secure-websocket, ipc or rpc, rawsocket, and OS stdin/stdout. Not all of these mechanisms provided by nim-graphql, but the freedom is there.

Documentation

If you are interested in contributing to nim-graphql development, the official specification is here.

If you want to know how to use nim-graphql or how nim-graphql works, the documentation is available here.

Playground

You can play with our playground graphql http server using graphql client such as Altair GraphQL client or using builtin graphiql user interface.

  • Using Starwars schema/api.
$ nimble starwars

or

$ nim c -r playground/swserver starwars
  • Using Ethereum schema/api.
$ nimble ethereum

or

$ nim c -r playground/swserver ethereum

To run the playground server with docker, you can execute this commands:

$ docker build -t graphql .
$ docker run -p 8547:8547 -t graphql

The server is accessible at this address http://127.0.0.1:8547/graphql and the web user interface at http://127.0.0.1:8547/graphql/ui.

Installation

You can use Nim's official package manager Nimble to install nim-graphql:

$ nimble install https://github.com/status-im/nim-graphql.git

or

$ nimble install graphql

Contributing

When submitting pull requests, please add test cases for any new features or fixes and make sure nimble test is still able to execute the entire test suite successfully.

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.