{"id":13674535,"url":"https://github.com/verifid/graph-vl","last_synced_at":"2026-03-03T08:42:52.402Z","repository":{"id":50420682,"uuid":"203795435","full_name":"verifid/graph-vl","owner":"verifid","description":"Self hosted identity verification layer with GraphQL.","archived":false,"fork":false,"pushed_at":"2024-10-15T19:31:26.000Z","size":88214,"stargazers_count":61,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-31T21:31:38.215Z","etag":null,"topics":["docker-container","graphql","identity","identity-verification","kubernetes","python3","selfhosted","verification"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/verifid.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-22T12:56:59.000Z","updated_at":"2025-02-16T06:51:59.000Z","dependencies_parsed_at":"2024-10-17T01:14:22.394Z","dependency_job_id":null,"html_url":"https://github.com/verifid/graph-vl","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verifid%2Fgraph-vl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verifid%2Fgraph-vl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verifid%2Fgraph-vl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verifid%2Fgraph-vl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/verifid","download_url":"https://codeload.github.com/verifid/graph-vl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253178858,"owners_count":21866617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-container","graphql","identity","identity-verification","kubernetes","python3","selfhosted","verification"],"created_at":"2024-08-02T11:00:52.741Z","updated_at":"2026-03-03T08:42:42.388Z","avatar_url":"https://github.com/verifid.png","language":"Python","funding_links":[],"categories":["Software"],"sub_categories":["Miscellaneous"],"readme":"graph-vl\n========\n\n.. image:: https://github.com/verifid/graph-vl/workflows/graph-vl%20ci/badge.svg\n    :target: https://github.com/verifid/graph-vl/actions\n\n.. image:: https://codecov.io/gh/verifid/graph-vl/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/verifid/graph-vl\n\nSelf hosted identity verification layer with GraphQL.\n\nIntroduction\n------------\n\ngraph-vl is the verification layer of verifid developed with GraphQL. It's the secondary core project other than `VL \u003chttps://github.com/verifid/vl/\u003e`_ \nthat is responsible from verifying identity cards or passports. Basically it's a self hosted API which has 3 main endpoints. It runs on either Docker or\nKubernetes as a container. All endpoints are documented using GraphiQL and project relies on VerifID and other Open Source \nPython modules.\n\nFor storage, it uses Postgres as a database and SQLAlchemy as an object relational mapper. To make it simple DB has only two tables which is enough for this project.\n\nThere is only four steps to veriy an identity of a person which you can find those steps below.\n\n1. Create a user with personal details\n2. Upload user's selfie photo\n3. Take a photo of front page of identity card or passport, then upload\n4. Call verify endpoint and get the result\n\nRequirements\n------------\n\n* Python 3.6+\n* Postgres\n* Run time dependencies ``requirements.txt``\n* Test dependencies ``requirements.testing.txt``\n\nUsage\n-----\n\nYou need a Postgres instance in your machine our a Docker container that runs database. To pull docker image\nand start a container\n\n.. code::\n\n    docker pull postgres:11.5\n    docker run --name postgres -e POSTGRES_SERVER=localhost \\\n        -e POSTGRES_USER=postgres \\\n        -e POSTGRES_PASSWORD=postgres \\\n        -e POSTGRES_DB=postgres \\\n        -d -p 5432:5432 postgres:11.5\n    docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' postgres\n    # We will use this IP address when we build or run graph-vl\n\nTo run the **graph-vl** server, please execute the following commands from the root directory\n\n.. code::\n\n    docker build --build-arg PG_SERVER=${POSTGRES_IP_ADDRESS} \\\n        --build-arg PG_USER=postgres \\\n        --build-arg PG_PASSWORD=postgres \\\n        --build-arg PG_DB=postgres \\\n        -t graphvl .\n    docker run --rm -it -d -p 8000:8000 --name graph-vl graphvl:latest\n\nFor running in a cluster with Kubernetes you can follow the commands below\n\n.. code::\n\n    # Use Docker for minikube\n    eval $(minikube docker-env)\n    # Re-build the docker images\n\n    # Create developments and pods\n    kubectl create -f deployment-postgres.yml\n    kubectl create -f deployment-graphvl.yml\n\n    # Create services\n    kubectl create -f service-postgres.yml\n    kubectl create -f service-graphvl.yml\n\n    # Get url for **graphvl**\n    minikube service graphvl --url\n\nInterface\n---------\n\n+-----------------+---------------+-----------------+\n||image_expolorer|||image_queries|||image_mutations||\n+-----------------+---------------+-----------------+ \n\nIf you run with ``uvicorn graphvl.main:app`` after cloning the project all endpoints will be available available on ``http://127.0.0.1:8000``\n\n.. |image_expolorer| image:: https://raw.githubusercontent.com/verifid/graph-vl/master/resources/explorer.png\n.. |image_queries| image:: https://raw.githubusercontent.com/verifid/graph-vl/master/resources/queries.png\n.. |image_mutations| image:: https://raw.githubusercontent.com/verifid/graph-vl/master/resources/mutations.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fverifid%2Fgraph-vl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fverifid%2Fgraph-vl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fverifid%2Fgraph-vl/lists"}