Skip to main content

graphqldomain

Documentation Github Build Status PyPI Version Supported Python Versions Formatted with Black

A Sphinx domain for describing GraphQL schemas.

Getting Started

The following steps will walk through how to add graphqldomain to an existing Sphinx project. For instructions on how to set up a Sphinx project, see Sphinx’s documentation on Getting Started.

Installation

graphqldomain can be installed through pip:

pip install graphqldomain

Next, add graphqldomain to the extensions list in your Sphinx project’s conf.py.

extensions.append("graphqldomain")

Usage

Each directive accepts a small snippet of the original schema. For more detailed usage, see the documentation: https://graphqldomain.readthedocs.io/en/latest/

.. gql:schema::

   An example schema.

   :optype Query query:

   .. gql:directive:: @slow(super: Boolean = false) on FIELD_DEFINITION | ARGUMENT_DEFINITION

      Indicates that the usage of this field or argument is slow,
      and therefore queries with this field or argument should be made sparingly.

      :argument super: Whether usage will be super slow, or just a bit slow.

   .. gql:enum:: CharacterCase

      The casing of a character.

      .. gql:enum:value:: UPPER

         Upper case.

      .. gql:enum:value:: LOWER

         Lower case.

   .. gql:input:: Point2D

      A point in a 2D coordinate system.

      .. gql:input:field:: x: Float

         The ``x`` coordinate of the point.

      .. gql:input:field:: y: Float

         The ``y`` coordinate of the point.

   .. gql:interface:: NamedEntity

      An entity with a name.

      .. gql:interface:field:: name(lower: Boolean = false): String

         The name of the entity.

         :argument lower: Whether to lowercase the name or not.

   .. gql:type:: Person implements NamedEntity

      A human person.

      .. gql:type:field:: age: Int

         How old the person is in years.

      .. gql:type:field:: picture: Url

   .. gql:union:: Centre = Person | Point2D

      A possible centre of the universe.

Contributing

Running the tests

Tests are executed through tox.

tox

Code Style

Code is formatted using black.

You can check your formatting using black’s check mode:

tox -e format

You can also get black to format your changes for you:

black graphqldomain.py tests/

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License. See the LICENSE.rst file for details.

Metadata

Release files for graphqldomain 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for graphqldomain 1.0.1
File Size Uploaded
graphqldomain-1.0.1.tar.gz 15.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for graphqldomain 1.0.1
File Interpreter ABI Platform
graphqldomain-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.7 kB

Release files / graphqldomain-1.0.1.tar.gz

Download URL graphqldomain-1.0.1.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1c1169ef0102921523c22640f3bb4ba8643b85c92b2a2c98bf1b28ff8fc919a4
BLAKE2b-256 checksum
How to use checksums
d481956a425e20f91f11859c1eb37734730652aa1481373a199d488f23fa0a83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / graphqldomain-1.0.1-py3-none-any.whl

Download URL graphqldomain-1.0.1-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f415b029491b9f15b2e6b098071052222f5623ddb6b4d2a79a2caf4327e2efe9
BLAKE2b-256 checksum
How to use checksums
0d047cf0e9edb83e72ff406dff4533bb0beee609b053ec97ebe21d6eb84a8ac6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.2.0

2 release files

0.1.0

2 release 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