Skip to main content

Clairvoyance

Obtain GraphQL API Schema even if the introspection is disabled.

PyPI PyPI - Python Version PyPI - Downloads GitHub

Introduction

Some GraphQL APIs have disabled introspection. For example, Apollo Server disables introspection automatically if the NODE_ENV environment variable is set to production.

Clairvoyance allows us to get GraphQL API schema when introspection is disabled. It produces schema in JSON format suitable for other tools like GraphQL Voyager, InQL or graphql-path-enum.

Contributors

Thanks to the contributers for their work.

Getting started

pip install clairvoyance
clairvoyance https://rickandmortyapi.com/graphql -o schema.json
# should take about 2 minute

Docker Image

docker run --rm nikitastupin/clairvoyance --help

Advanced Usage

Which wordlist should I use?

There are at least two approaches:

  • Use general English words (e.g. google-10000-english).
  • Create target specific wordlist by extracting all valid GraphQL names from application HTTP traffic, from mobile application static files, etc. Regex for GraphQL name is [_A-Za-z][_0-9A-Za-z]*.

Environment Variables

LOG_FMT=`%(asctime)s \t%(levelname)s\t| %(message)s` # A string format for logging.
LOG_DATEFMT=`%Y-%m-%d %H:%M:%S` # A string format for logging date.
LOG_LEVEL=`INFO` # A string level for logging.

Support

Due to time constraints @nikitastupin won't be able to answer all the issues for some time but he'll do his best to review & merge PRs

In case of question or issue with clairvoyance please refer to wiki or issues. If this doesn't solve your problem feel free to open a new issue.

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change. For more information about tests, internal project structure and so on refer to Development wiki page.

Documentation

Metadata

Release files for clairvoyancenext 2.5.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 clairvoyancenext 2.5.1
File Size Uploaded Provenance Actions
clairvoyancenext-2.5.1.tar.gz 55.3 kB Without provenance Details for clairvoyancenext-2.5.1.tar.gz

Built distribution (wheel)

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

Total release size: 113.0 kB

Release files / clairvoyancenext-2.5.1.tar.gz

Download URL clairvoyancenext-2.5.1.tar.gz
Size 55.3 kB
Tags Source
SHA-256 checksum
How to use checksums
288ec17e6387b8e837971ee8d26f5e7ebac8aad3d188628d60a8593f3d25fa4d
BLAKE2b-256 checksum
How to use checksums
8a5c17bb0908defb34e8962255be33fcb80e6965d606f8d8d7fe076700c6a715
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / clairvoyancenext-2.5.1-py3-none-any.whl

Download URL clairvoyancenext-2.5.1-py3-none-any.whl
Size 57.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d1e7dd9cd4e84b7e6cfb88e6cbd6bf2a232142bb8ca7ad0b3dae0926a1bd71fc
BLAKE2b-256 checksum
How to use checksums
41283af62e53c210b85f402500507dbe3aa44ad8a5d103f581dc156d5191aae1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Security for clairvoyancenext 2.5.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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