{ "info": { "author": "mongkok", "author_email": "domake.io@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Django GraphQL GeoJSON\n======================\n\n|Pypi| |Wheel| |Build Status| |Codecov| |Code Climate|\n\n`GeoJSON`_ support for `Django GraphQL`_\n\n.. _GeoJSON: http://geojson.org\n.. _Django GraphQL: https://github.com/graphql-python/graphene-django\n\n\nDependencies\n------------\n\n* Python \u2265 3.4\n* Django \u2265 1.11\n\n\nInstallation\n------------\n\nInstall last stable version from Pypi.\n\n.. code:: sh\n\n pip install django-graphql-geojson\n\n\nGeoJSONType\n-----------\n\n``GeoJSONType`` is a subclass of ``DjangoObjectType`` which provides GraphQL fields in **GeoJSON** format.\n\nJust define a ``Meta.geojson_field`` to be represented as a ``Geometry`` type.\n\n\n**models.py**\n\n.. code:: python\n\n from django.contrib.gis.db import models\n\n\n class Place(models.Model):\n name = models.CharField(max_length=255)\n location = models.PointField()\n\n\n**schema.py**\n\n.. code:: python\n\n import graphene\n import graphql_geojson\n\n\n class PlaceType(graphql_geojson.GeoJSONType):\n\n class Meta:\n model = models.Place\n geojson_field = 'location'\n\n\n class Query(graphene.ObjectType):\n places = graphene.List(PlaceType)\n\n\n schema = graphene.Schema(query=Query)\n\n\n**Query**\n\n.. code::\n\n query {\n places {\n id\n type\n geometry {\n type\n coordinates\n }\n bbox\n properties {\n name\n }\n }\n }\n\n\nGeometry Type\n-------------\n\n``Geometry`` is a special GraphQL type that represents a `GEOS geometry object`_.\n\n.. _GEOS geometry object: https://docs.djangoproject.com/en/2.0/ref/contrib/gis/geos/#geometry-objects\n\n**schema.py**\n\n.. code:: python\n\n import graphene\n import graphql_geojson\n\n\n class CreatePlace(graphene.Mutation):\n place = graphene.Field(types.PlaceType)\n\n class Arguments:\n name = graphene.String(required=True)\n location = graphql_geojson.Geometry(required=True)\n\n @classmethod\n def mutate(cls, root, info, **args):\n place = models.Place.objects.create(**args)\n return cls(place=place)\n\n\n**Mutation**\n\n.. code::\n\n mutation CreatePlace($name: String!, $location: Geometry!) {\n createPlace(name: $name, location: $location) {\n place {\n id\n }\n }\n }\n\n\n``Geometry`` type may be initialized in a few ways:\n\n- Well-known text (WKT):\n\n.. code:: python\n\n \"POINT(5 23)\"\n\n- Hexadecimal (HEX):\n\n.. code:: python\n\n \"010100000000000000000014400000000000003740\"\n\n- GeoJSON:\n\n.. code:: python\n\n {\n \"type\": \"Point\",\n \"coordinates\": [5, 23]\n }\n\n\nGeometryFilterSet\n-----------------\n\nDjango GraphQL GeoJSON provides a custom FilterSet for `spatial lookups`_.\n\n.. _spatial lookups: https://docs.djangoproject.com/en/2.0/ref/contrib/gis/geoquerysets/#spatial-lookups\n\nThe ``Meta.fields`` option is combined with model to automatically generate filters. \n\n**filters.py**\n\n.. code:: python\n\n from graphql_geojson.filters import GeometryFilterSet\n\n\n class PlaceFilter(GeometryFilterSet):\n\n class Meta:\n model = models.Place\n fields = {\n 'name': ['exact'],\n 'location': ['exact', 'intersects', 'distance_lte'],\n }\n\n\n**schema.py**\n\n.. code:: python\n\n import graphene\n import graphql_geojson\n from graphene import relay\n from graphene_django.filter import DjangoFilterConnectionField\n\n\n class PlaceNode(graphql_geojson.GeoJSONType):\n\n class Meta:\n model = Place\n interfaces = [relay.Node]\n geojson_field = 'location'\n\n\n class Query(graphene.ObjectType):\n places = DjangoFilterConnectionField(\n PlaceNode,\n filterset_class=PlaceFilter)\n\n\n**Query**\n\n.. code::\n\n query Places($geometry: Geometry!){\n places(location_Intersects: $geometry) {\n edges {\n node {\n id\n }\n }\n }\n }\n\n\n`Distance lookups`_ take a ``Distance`` parameter comprising:\n\n- The desired `unit attribute`_ name \n- Distance value\n- A geometry to base calculations from\n\n.. _Distance lookups: https://docs.djangoproject.com/en/2.0/ref/contrib/gis/db-api/#distance-lookups\n.. _unit attribute: https://docs.djangoproject.com/en/2.0/ref/contrib/gis/measure/#supported-units\n\n.. code::\n\n query Places(\n $unit: DistanceUnitEnum!,\n $value: Float!,\n $geometry: Geometry!)\n {\n places(location_DistanceLte: {\n unit: $unit,\n value: $value,\n geometry: $geometry\n }) {\n edges {\n node {\n id\n }\n }\n }\n }\n\n\n.. |Pypi| image:: https://img.shields.io/pypi/v/django-graphql-geojson.svg\n :target: https://pypi.python.org/pypi/django-graphql-geojson\n\n.. |Wheel| image:: https://img.shields.io/pypi/wheel/django-graphql-geojson.svg\n :target: https://pypi.python.org/pypi/django-graphql-geojson\n\n.. |Build Status| image:: https://travis-ci.org/flavors/django-graphql-geojson.svg?branch=master\n :target: https://travis-ci.org/flavors/django-graphql-geojson\n\n.. |Codecov| image:: https://img.shields.io/codecov/c/github/flavors/django-graphql-geojson.svg\n :target: https://codecov.io/gh/flavors/django-graphql-geojson\n\n.. |Code Climate| image:: https://api.codeclimate.com/v1/badges/67dbb917ad4cf8c422a6/maintainability\n :target: https://codeclimate.com/github/flavors/django-graphql-geojson\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/flavors/django-graphql-geojson/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-graphql-geojson", "package_url": "https://pypi.org/project/django-graphql-geojson/", "platform": "", "project_url": "https://pypi.org/project/django-graphql-geojson/", "project_urls": { "Homepage": "https://github.com/flavors/django-graphql-geojson/" }, "release_url": "https://pypi.org/project/django-graphql-geojson/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "GeoJSON support for Django GraphQL", "version": "0.1.4" }, "last_serial": 3934875, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "51448288b58b5985afaf449d9a653c48", "sha256": "a1aafb407db158671fb17211969ff17e1edaf7d68f6aee875947f07c03c0235c" }, "downloads": -1, "filename": "django_graphql_geojson-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "51448288b58b5985afaf449d9a653c48", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6652, "upload_time": "2018-01-28T19:30:36", "url": "https://files.pythonhosted.org/packages/59/ee/9dcd5413db15bb3955c9638d96a737fec9a01996a2b1b052b409d489d566/django_graphql_geojson-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c9c320196a0b4f11dcae9145c27464c", "sha256": "1e52e7e3d7fc0839b4e170521b5e2611617f5c5809d7798d9148aeb227ea74b3" }, "downloads": -1, "filename": "django-graphql-geojson-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2c9c320196a0b4f11dcae9145c27464c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4263, "upload_time": "2018-01-28T19:30:31", "url": "https://files.pythonhosted.org/packages/85/b4/fe7d98763eea47dddf0959d011af0c06cef1b6706bda5bb1ac1bc4c9d610/django-graphql-geojson-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "c5a0f6f2a3d3217c8a201d7af65a0a5e", "sha256": "ec21e71e7a023cb77df62b63b417fa5176f72380b01ab42466816c4a3463681d" }, "downloads": -1, "filename": "django_graphql_geojson-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5a0f6f2a3d3217c8a201d7af65a0a5e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6262, "upload_time": "2018-02-03T11:44:30", "url": "https://files.pythonhosted.org/packages/2b/7b/d0c80e9510502e691ac4287302160e22f7de4bd3c04c177f0af72f33e92b/django_graphql_geojson-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ebb02171e0a3242a2223cd46221b1a9f", "sha256": "c395db5d6d941266f1747e7ec2dbde9e5b66e9b5d08249a4bbbd325a5f072972" }, "downloads": -1, "filename": "django-graphql-geojson-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ebb02171e0a3242a2223cd46221b1a9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5007, "upload_time": "2018-02-03T11:43:42", "url": "https://files.pythonhosted.org/packages/0b/a4/963823468e18b51746b4c9c2a551a59f0793570ea949a105c14cf82bd973/django-graphql-geojson-0.0.2.tar.gz" } ], "0.0.2rc1": [ { "comment_text": "", "digests": { "md5": "a59736fd6a25a8d0d2579715c24dafdd", "sha256": "29253b02e0593632a9e857bd034b0f98ee6dc4ac44f5a1fd668b4345909a5ee3" }, "downloads": -1, "filename": "django_graphql_geojson-0.0.2rc1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a59736fd6a25a8d0d2579715c24dafdd", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6621, "upload_time": "2018-01-30T22:08:29", "url": "https://files.pythonhosted.org/packages/5e/9e/f8c8f54d2e3b674590130696958b0cd6bf143f86fd6923b38445a01b62db/django_graphql_geojson-0.0.2rc1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2dfbd9602fd4e29ea460a8fc4dccbe8", "sha256": "fb7d1b3ad141c3745f7e3d8ec304c99cc9b627d302ba3a67b9b5d1c1aaa6697f" }, "downloads": -1, "filename": "django-graphql-geojson-0.0.2rc1.tar.gz", "has_sig": false, "md5_digest": "b2dfbd9602fd4e29ea460a8fc4dccbe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5036, "upload_time": "2018-01-30T22:08:24", "url": "https://files.pythonhosted.org/packages/21/ac/d847bca84d9a2edbbd982791742c1ddb746ccb1480da3efb8b64dc33b0ab/django-graphql-geojson-0.0.2rc1.tar.gz" } ], "0.0.2rc2": [ { "comment_text": "", "digests": { "md5": "cc6ca69f43933bf1eb30967066e8fe67", "sha256": "59dcc391f7772bdc841353f556960297a2665d5c786bf80384a757b5b4bca839" }, "downloads": -1, "filename": "django_graphql_geojson-0.0.2rc2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cc6ca69f43933bf1eb30967066e8fe67", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6349, "upload_time": "2018-02-02T18:19:48", "url": "https://files.pythonhosted.org/packages/55/1b/1a16a62405846776e4deaa8f47d4314ad942e6e60d8a3c3862f178053df5/django_graphql_geojson-0.0.2rc2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78923c615f28bc10cdd5fa1f97849f57", "sha256": "e7191b11f0fcd43186fd4c414e2cfe5e380bb6a7d7ecd0145f0f7f9f45c7eb23" }, "downloads": -1, "filename": "django-graphql-geojson-0.0.2rc2.tar.gz", "has_sig": false, "md5_digest": "78923c615f28bc10cdd5fa1f97849f57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5023, "upload_time": "2018-02-02T18:18:17", "url": "https://files.pythonhosted.org/packages/31/1e/52318ab514e392eca514cce3687451e324286ca81430c17aed6574d8b09b/django-graphql-geojson-0.0.2rc2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a95a63bde5370bdb1ee019bdf5243b1b", "sha256": "1b1e8bc66c02ab50f4c7e0d3d0eed5d1714863fb62c091f310340eb5060bf7ba" }, "downloads": -1, "filename": "django_graphql_geojson-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a95a63bde5370bdb1ee019bdf5243b1b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7470, "upload_time": "2018-02-04T15:13:00", "url": "https://files.pythonhosted.org/packages/3b/09/e19f9b77e65a4bca4421552ff8f21990e9716a551c505b53749461642d9f/django_graphql_geojson-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc9cd80108efc03d5e57536ad45e0cfb", "sha256": "7516d65bb6f70188567e85977ac8f2201903b4778cded6499816c5fe448ab465" }, "downloads": -1, "filename": "django-graphql-geojson-0.0.3.tar.gz", "has_sig": false, "md5_digest": "fc9cd80108efc03d5e57536ad45e0cfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5680, "upload_time": "2018-02-04T15:12:20", "url": "https://files.pythonhosted.org/packages/77/f4/99b63cae68a6fd28efa0bb7ae8eebc4c6ad9f0cd1081b0114bbdf2171d61/django-graphql-geojson-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "2153fe44e931bd0d8d97cb5bc496fb1e", "sha256": "168da8036b46f34f418b2c644c36864fe57503630b7f0814a6a8ae546b19727a" }, "downloads": -1, "filename": "django_graphql_geojson-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2153fe44e931bd0d8d97cb5bc496fb1e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10201, "upload_time": "2018-02-13T19:24:31", "url": "https://files.pythonhosted.org/packages/18/cd/4ddba9ca8571a8d47aa455e89cf19e3a0faab07282f0bc8b0c39045be345/django_graphql_geojson-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "babba8df3a48d1a893523f174d3728fa", "sha256": "a1a10e792d5c385097f909adcb779388611df5a669cc7e8e6ffb7528cacc5229" }, "downloads": -1, "filename": "django-graphql-geojson-0.1.0.tar.gz", "has_sig": false, "md5_digest": "babba8df3a48d1a893523f174d3728fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7720, "upload_time": "2018-02-13T19:24:26", "url": "https://files.pythonhosted.org/packages/3c/b9/9b5b233ce2fc3f0140f83a384a2fcf247974ed0dafc96939f763db8807bc/django-graphql-geojson-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "23594fdc9b66db8d3ecf151951f5a4bf", "sha256": "26dda0dc41cff61d35c53d8ff1329aded8922398db1a6d7bba0c7478c2124fa1" }, "downloads": -1, "filename": "django_graphql_geojson-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "23594fdc9b66db8d3ecf151951f5a4bf", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10189, "upload_time": "2018-02-22T18:35:13", "url": "https://files.pythonhosted.org/packages/ce/6c/0cd719f167d4d999cccc13efaaf559fdaba248857e6ecb86b9ec5f669ec6/django_graphql_geojson-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e834d95585e7e69c6bae5de57d6da55f", "sha256": "78a1057313926b1be187729d8af258e94801c237fd336ba52d15a38e7834cc22" }, "downloads": -1, "filename": "django-graphql-geojson-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e834d95585e7e69c6bae5de57d6da55f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7757, "upload_time": "2018-02-22T18:35:08", "url": "https://files.pythonhosted.org/packages/e7/98/ba4bcceeb3b47184b3607603df506eb3a9763aff183ad1ea2db5358515df/django-graphql-geojson-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "735332950bc8583f5bd13c8ff999ea5a", "sha256": "5ab92bdd2ac0b82b84a7c33709410b5f5a22ba6587b6b9e33dd7df231343b867" }, "downloads": -1, "filename": "django_graphql_geojson-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "735332950bc8583f5bd13c8ff999ea5a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10256, "upload_time": "2018-03-18T16:58:35", "url": "https://files.pythonhosted.org/packages/69/e5/5ccd2e936a3f299fba03c20d49dd8b32ba924e885a700bc10b855d82a302/django_graphql_geojson-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f082e7f9de93174ae1d0c3691111c48", "sha256": "ffc6bef2ffc5e7796f2f4f10690ae07eaa10f5f5e5796976a7010feb3c8ba4c8" }, "downloads": -1, "filename": "django-graphql-geojson-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7f082e7f9de93174ae1d0c3691111c48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7773, "upload_time": "2018-03-18T16:58:29", "url": "https://files.pythonhosted.org/packages/12/5d/e872a809a9ebc16398729df20ea0416c5382a2ed4d79eae172c6c06b7624/django-graphql-geojson-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "4ab61e49644c107a53ae944d348d2368", "sha256": "65805d1fb55a57338c6936ee3c0eb6fbf75d7a0cd8e7ebee99a545ff0ee27fbc" }, "downloads": -1, "filename": "django_graphql_geojson-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4ab61e49644c107a53ae944d348d2368", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10491, "upload_time": "2018-04-12T19:14:17", "url": "https://files.pythonhosted.org/packages/61/94/06f778f3564ea911b4e2b019a9df1f2039dd95602f73bed1a5f1328c873a/django_graphql_geojson-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51e5cde7d2d79fb769051c594d3b824f", "sha256": "7bde4820794964d151b98eb12376fe590b80f3fefd38ff05103344ecfabc6571" }, "downloads": -1, "filename": "django-graphql-geojson-0.1.3.tar.gz", "has_sig": false, "md5_digest": "51e5cde7d2d79fb769051c594d3b824f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8058, "upload_time": "2018-04-12T19:14:14", "url": "https://files.pythonhosted.org/packages/49/be/fb42c71668e2a82921e260a42c0c8056caaaf333d43dd5ec97cfa1c3c4c8/django-graphql-geojson-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "edf8fead3ad77008304998e73ae22d7d", "sha256": "dbd4b940d869cf5a0f7a969d64684e41bd60695b36328c33d52f3f1364de4ef8" }, "downloads": -1, "filename": "django_graphql_geojson-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "edf8fead3ad77008304998e73ae22d7d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10433, "upload_time": "2018-06-06T06:31:47", "url": "https://files.pythonhosted.org/packages/3a/b3/3d52c2f6562abc637b4e44dc3ee503da407617753a5117c18f9ec51c651b/django_graphql_geojson-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ae3f260993c4241512f567fdfdae3b4", "sha256": "08acffff153316f8b0ab4ac7a621b9981a2f2bc4eda4539bf0997ba83d42c2ed" }, "downloads": -1, "filename": "django-graphql-geojson-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6ae3f260993c4241512f567fdfdae3b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8006, "upload_time": "2018-06-06T06:31:40", "url": "https://files.pythonhosted.org/packages/62/df/87780966739beb216848e7d2c6892352b7ecf1d9720b06d05ad2b65d58b6/django-graphql-geojson-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "edf8fead3ad77008304998e73ae22d7d", "sha256": "dbd4b940d869cf5a0f7a969d64684e41bd60695b36328c33d52f3f1364de4ef8" }, "downloads": -1, "filename": "django_graphql_geojson-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "edf8fead3ad77008304998e73ae22d7d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10433, "upload_time": "2018-06-06T06:31:47", "url": "https://files.pythonhosted.org/packages/3a/b3/3d52c2f6562abc637b4e44dc3ee503da407617753a5117c18f9ec51c651b/django_graphql_geojson-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ae3f260993c4241512f567fdfdae3b4", "sha256": "08acffff153316f8b0ab4ac7a621b9981a2f2bc4eda4539bf0997ba83d42c2ed" }, "downloads": -1, "filename": "django-graphql-geojson-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6ae3f260993c4241512f567fdfdae3b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8006, "upload_time": "2018-06-06T06:31:40", "url": "https://files.pythonhosted.org/packages/62/df/87780966739beb216848e7d2c6892352b7ecf1d9720b06d05ad2b65d58b6/django-graphql-geojson-0.1.4.tar.gz" } ] }