diff --git a/.github/workflows/cd-pydgraph.yml b/.github/workflows/cd-pydgraph.yml new file mode 100644 index 0000000..b047655 --- /dev/null +++ b/.github/workflows/cd-pydgraph.yml @@ -0,0 +1,37 @@ +name: cd-pydgraph +on: + workflow_dispatch: + inputs: + releasetag: + description: 'releasetag' + required: true + type: string +jobs: + pydgraph-build: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + with: + ref: '${{ github.event.inputs.releasetag }}' + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install .[dev] + # use twine to upload to pypi + python -m pip install twine + - name: Verify that protobufs are checked in + run: | + # should be a no-op + python scripts/protogen.py + git diff --exit-code -- . + - name: Build pydgraph + run: | + rm -rf dist + # build binary wheel and a source tarball + python -m build + - name: Upload to PyPi + run: twine upload --username dgraph-io --password ${{ secrets.DGRAPH_PYPI_PASSWORD }} dist/* diff --git a/.github/workflows/ci-pydgraph-tests.yml b/.github/workflows/ci-pydgraph-tests.yml index 734bd75..1b109a3 100644 --- a/.github/workflows/ci-pydgraph-tests.yml +++ b/.github/workflows/ci-pydgraph-tests.yml @@ -57,7 +57,6 @@ jobs: run: | cd pydgraph python -m pip install --upgrade pip - # see https://github.com/pypa/pip/issues/8559 - pip install -r requirements.txt --use-pep517 + python -m pip install .[dev] - name: Run tests run: cd pydgraph && bash scripts/local-test.sh diff --git a/.gitignore b/.gitignore index 435ad62..e402e28 100755 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ pydgraph.iml # Python Virtual Environments venv .venv +pyvenv.cfg diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e7b75e6..0000000 --- a/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: python -python: - - "3.7" - - "2.7" -sudo: required -dist: xenial -before_install: - - scripts/install_dgraph.sh -install: - - pip install -r requirements.txt - - pip install coveralls -script: - - scripts/build.sh -after_success: coveralls diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100755 index ead34ff..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include *.txt LICENSE README.md diff --git a/PUBLISHING.md b/PUBLISHING.md index bc20a8a..17bfd0f 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -6,58 +6,14 @@ This document contains instructions to publish pydgraph to [PyPI]. ## Before deploying -- Get access to credentials for Dgraph's account on PyPI with username dgraph-io -- Setup you `~/.pypirc` file like this: (remember to replace `${password}` with - the actual password) - -``` -[distutils] -index-servers= - pypi - testpypi - -[pypi] -username: dgraph-io -password: ${password} - -[testpypi] -repository: https://test.pypi.org/legacy/ -username: dgraph-io -password: ${password} -``` +- Build pydgraph locally (see readme) +- Push to testpypi (`twine upload --repository testpypi dist/*`) +- Verify readme and metadata look correct ## Deploying -- Build and test the code that needs to be published +- Regenerate protobufs if api.proto was changed - Bump version by modifying the `VERSION` variable in `pydgraph/meta.py` file -- If necessary, update the `CHANGELOG.md` file to reflect new changes -- Commit the changes -- Make sure you have [setuptools], [wheel], [twine], and [pypandoc] - installed. You can install them by running the following: - - ``` - pip install -r publishing-requirements.txt - ``` -- Run the following commands: - -```sh -# Remove build and dist directories -rm -rf build -rm -rf dist - -# Package you project: source distribution and wheel -python setup.py sdist -python setup.py bdist_wheel - -# Upload it to PyPI -twine upload dist/* -# For testing, try uploading to testpypi: -# twine upload --repository testpypi dist/* -``` - -- If necessary, create a new release tag on the Github repository - -[setuptools]: https://pypi.org/project/setuptools/ -[wheel]: https://pypi.org/project/wheel/ -[twine]: https://pypi.org/project/twine/ -[pypandoc]: https://pypi.org/project/pypandoc/ +- Update the `CHANGELOG.md` file to reflect new changes +- Tag pydgraph locally (`git tag x.y.z`) and push to origin (`git push x.y.z`) +- Run CD pipeline \ No newline at end of file diff --git a/README.md b/README.md index 4f04f52..3b00010 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,6 @@ This is the official Dgraph database client implementation for Python (Python >= This client follows the [Dgraph Go client][goclient] closely. -**Use [Discuss Issues](https://discuss.dgraph.io/c/issues/35/clients/46) to report issues about this repository.** - [goclient]: https://github.com/dgraph-io/dgo Before using this client, we highly recommend that you read the [Dgraph Python @@ -45,14 +43,6 @@ Install using pip: pip install pydgraph ``` -### Install Notes - -To avoid issues when adding composite credentials or when using client authorization, please install gRPC version 1.19.0: - -```sh -pip install grpcio==1.19.0 -``` - ## Supported Versions Depending on the version of Dgraph that you are connecting to, you will have to @@ -60,9 +50,15 @@ use a different version of this client. | Dgraph version | pydgraph version | |:--------------:|:--------------------:| -| 1.0.X | <= *1.2.0* | -| 1.1.X | >= *2.0.0* | -| 1.2.X | >= *2.0.0* | +| 1.0.X | *1.2.0* | +| 1.1.X | *2.0.0* | +| 1.2.X | *2.0.0* | +| 20.3.X | *20.3.0* | +| 20.7.X | *20.7.0* | +| 20.11.X | *20.7.0* | +| 21.X.Y | *21.3.0* | +| 22.X.Y | *21.3.0* | +| 23.X.Y | *23.0.0* | ## Quickstart @@ -100,7 +96,7 @@ op = pydgraph.Operation(schema=schema) client.alter(op) ``` -Starting with Dgraph version 20.03.0, indexes can be computed in the background. +Indexes can be computed in the background. You can set the `run_in_background` field of `pydgraph.Operation` to `True` before passing it to the `Alter` function. You can find more details [here](https://docs.dgraph.io/master/query-language/#indexes-in-background). @@ -465,12 +461,22 @@ except Exception as e: ## Development -### Building the source +### Setting up environment + +There are many ways to set up your local Python environment. We suggest some sane defaults here. + +- Use [pyenv](https://github.com/pyenv/pyenv) to manage your Python installations. +- Most recent versions of Python should work, but the version of Python officially supported is located in +`.python-version` +- Create a Python virtual environment using `python -m venv .venv` +- Activate virtual environment via `source .venv/bin/activate` + +### Build from source + +To build and install pydgraph locally, run ```sh -python setup.py install -# To install for the current user, use this instead: -# python setup.py install --user +pip install -e .[dev] ``` If you have made changes to the `pydgraph/proto/api.proto` file, you need need @@ -494,16 +500,15 @@ The required change is outlined below as a diff. ### Running tests -To run the tests in your local machine, install and run `tox`: +To run the tests in your local machine, run: ```bash -pip install tox -tox +bash scripts/local-test.sh ``` -This script assumes Dgraph and [dgo](https://github.com/dgraph-io/dgo) (Go -client) are already built on the local machine and that their code is in -`$GOPATH/src`. It also requires that docker and docker-compose are installed in +This script assumes dgraph is located on your path. Dgraph release binaries can +be found [here](https://github.com/dgraph-io/dgraph/releases). +The test script also requires that `docker` and `docker compose` are installed on your machine. The script will take care of bringing up a Dgraph cluster and bringing it down diff --git a/publishing-requirements.txt b/publishing-requirements.txt deleted file mode 100644 index 1f9736a..0000000 --- a/publishing-requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -pypandoc==1.6.3 -twine==3.4.2 -wheel==0.38.1 -setuptools==65.5.1 diff --git a/pydgraph/meta.py b/pydgraph/meta.py index 8135535..9bf9988 100644 --- a/pydgraph/meta.py +++ b/pydgraph/meta.py @@ -14,4 +14,4 @@ """Metadata about this package.""" -VERSION = '21.3.2' +VERSION = '23.0.0rc1' diff --git a/pydgraph/proto/api_pb2.py b/pydgraph/proto/api_pb2.py index 6c7622d..b79e135 100644 --- a/pydgraph/proto/api_pb2.py +++ b/pydgraph/proto/api_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: api.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -15,1427 +13,70 @@ -DESCRIPTOR = _descriptor.FileDescriptor( - name='api.proto', - package='api', - syntax='proto3', - serialized_pb=_b('\n\tapi.proto\x12\x03\x61pi\"\xb8\x02\n\x07Request\x12\x10\n\x08start_ts\x18\x01 \x01(\x04\x12\r\n\x05query\x18\x04 \x01(\t\x12$\n\x04vars\x18\x05 \x03(\x0b\x32\x16.api.Request.VarsEntry\x12\x11\n\tread_only\x18\x06 \x01(\x08\x12\x13\n\x0b\x62\x65st_effort\x18\x07 \x01(\x08\x12 \n\tmutations\x18\x0c \x03(\x0b\x32\r.api.Mutation\x12\x12\n\ncommit_now\x18\r \x01(\x08\x12,\n\x0bresp_format\x18\x0e \x01(\x0e\x32\x17.api.Request.RespFormat\x12\x0c\n\x04hash\x18\x0f \x01(\t\x1a+\n\tVarsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1f\n\nRespFormat\x12\x08\n\x04JSON\x10\x00\x12\x07\n\x03RDF\x10\x01\"\x14\n\x04Uids\x12\x0c\n\x04uids\x18\x01 \x03(\t\"\x1d\n\x0cListOfString\x12\r\n\x05value\x18\x01 \x03(\t\"\xbc\x02\n\x08Response\x12\x0c\n\x04json\x18\x01 \x01(\x0c\x12\x1c\n\x03txn\x18\x02 \x01(\x0b\x32\x0f.api.TxnContext\x12\x1d\n\x07latency\x18\x03 \x01(\x0b\x32\x0c.api.Latency\x12\x1d\n\x07metrics\x18\x04 \x01(\x0b\x32\x0c.api.Metrics\x12%\n\x04uids\x18\x0c \x03(\x0b\x32\x17.api.Response.UidsEntry\x12\x0b\n\x03rdf\x18\r \x01(\x0c\x12%\n\x04hdrs\x18\x0e \x03(\x0b\x32\x17.api.Response.HdrsEntry\x1a+\n\tUidsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a>\n\tHdrsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.api.ListOfString:\x02\x38\x01\"\xad\x01\n\x08Mutation\x12\x10\n\x08set_json\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65lete_json\x18\x02 \x01(\x0c\x12\x12\n\nset_nquads\x18\x03 \x01(\x0c\x12\x12\n\ndel_nquads\x18\x04 \x01(\x0c\x12\x17\n\x03set\x18\x05 \x03(\x0b\x32\n.api.NQuad\x12\x17\n\x03\x64\x65l\x18\x06 \x03(\x0b\x32\n.api.NQuad\x12\x0c\n\x04\x63ond\x18\t \x01(\t\x12\x12\n\ncommit_now\x18\x0e \x01(\x08\"\xd2\x01\n\tOperation\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x11\n\tdrop_attr\x18\x02 \x01(\t\x12\x10\n\x08\x64rop_all\x18\x03 \x01(\x08\x12&\n\x07\x64rop_op\x18\x04 \x01(\x0e\x32\x15.api.Operation.DropOp\x12\x12\n\ndrop_value\x18\x05 \x01(\t\x12\x19\n\x11run_in_background\x18\x06 \x01(\x08\"9\n\x06\x44ropOp\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02\x12\x08\n\x04\x41TTR\x10\x03\x12\x08\n\x04TYPE\x10\x04\"\x17\n\x07Payload\x12\x0c\n\x04\x44\x61ta\x18\x01 \x01(\x0c\"m\n\nTxnContext\x12\x10\n\x08start_ts\x18\x01 \x01(\x04\x12\x11\n\tcommit_ts\x18\x02 \x01(\x04\x12\x0f\n\x07\x61\x62orted\x18\x03 \x01(\x08\x12\x0c\n\x04keys\x18\x04 \x03(\t\x12\r\n\x05preds\x18\x05 \x03(\t\x12\x0c\n\x04hash\x18\x06 \x01(\t\"\x07\n\x05\x43heck\"\x16\n\x07Version\x12\x0b\n\x03tag\x18\x01 \x01(\t\"x\n\x07Latency\x12\x12\n\nparsing_ns\x18\x01 \x01(\x04\x12\x15\n\rprocessing_ns\x18\x02 \x01(\x04\x12\x13\n\x0b\x65ncoding_ns\x18\x03 \x01(\x04\x12\x1b\n\x13\x61ssign_timestamp_ns\x18\x04 \x01(\x04\x12\x10\n\x08total_ns\x18\x05 \x01(\x04\"f\n\x07Metrics\x12+\n\x08num_uids\x18\x01 \x03(\x0b\x32\x19.api.Metrics.NumUidsEntry\x1a.\n\x0cNumUidsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\"\xa3\x01\n\x05NQuad\x12\x0f\n\x07subject\x18\x01 \x01(\t\x12\x11\n\tpredicate\x18\x02 \x01(\t\x12\x11\n\tobject_id\x18\x03 \x01(\t\x12 \n\x0cobject_value\x18\x04 \x01(\x0b\x32\n.api.Value\x12\x0c\n\x04lang\x18\x06 \x01(\t\x12\x1a\n\x06\x66\x61\x63\x65ts\x18\x07 \x03(\x0b\x32\n.api.Facet\x12\x11\n\tnamespace\x18\x08 \x01(\x04J\x04\x08\x05\x10\x06\"\xf4\x01\n\x05Value\x12\x15\n\x0b\x64\x65\x66\x61ult_val\x18\x01 \x01(\tH\x00\x12\x13\n\tbytes_val\x18\x02 \x01(\x0cH\x00\x12\x11\n\x07int_val\x18\x03 \x01(\x03H\x00\x12\x12\n\x08\x62ool_val\x18\x04 \x01(\x08H\x00\x12\x11\n\x07str_val\x18\x05 \x01(\tH\x00\x12\x14\n\ndouble_val\x18\x06 \x01(\x01H\x00\x12\x11\n\x07geo_val\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x64\x61te_val\x18\x08 \x01(\x0cH\x00\x12\x16\n\x0c\x64\x61tetime_val\x18\t \x01(\x0cH\x00\x12\x16\n\x0cpassword_val\x18\n \x01(\tH\x00\x12\x11\n\x07uid_val\x18\x0b \x01(\x04H\x00\x42\x05\n\x03val\"\xab\x01\n\x05\x46\x61\x63\x65t\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12$\n\x08val_type\x18\x03 \x01(\x0e\x32\x12.api.Facet.ValType\x12\x0e\n\x06tokens\x18\x04 \x03(\t\x12\r\n\x05\x61lias\x18\x05 \x01(\t\"A\n\x07ValType\x12\n\n\x06STRING\x10\x00\x12\x07\n\x03INT\x10\x01\x12\t\n\x05\x46LOAT\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x12\x0c\n\x08\x44\x41TETIME\x10\x04\"Z\n\x0cLoginRequest\x12\x0e\n\x06userid\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x15\n\rrefresh_token\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\x04\".\n\x03Jwt\x12\x12\n\naccess_jwt\x18\x01 \x01(\t\x12\x13\n\x0brefresh_jwt\x18\x02 \x01(\t2\xe7\x01\n\x06\x44graph\x12+\n\x05Login\x12\x11.api.LoginRequest\x1a\r.api.Response\"\x00\x12&\n\x05Query\x12\x0c.api.Request\x1a\r.api.Response\"\x00\x12\'\n\x05\x41lter\x12\x0e.api.Operation\x1a\x0c.api.Payload\"\x00\x12\x33\n\rCommitOrAbort\x12\x0f.api.TxnContext\x1a\x0f.api.TxnContext\"\x00\x12*\n\x0c\x43heckVersion\x12\n.api.Check\x1a\x0c.api.Version\"\x00\x42\x18\n\tio.dgraphB\x0b\x44graphProtob\x06proto3') -) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - - -_REQUEST_RESPFORMAT = _descriptor.EnumDescriptor( - name='RespFormat', - full_name='api.Request.RespFormat', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='JSON', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='RDF', index=1, number=1, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=300, - serialized_end=331, -) -_sym_db.RegisterEnumDescriptor(_REQUEST_RESPFORMAT) - -_OPERATION_DROPOP = _descriptor.EnumDescriptor( - name='DropOp', - full_name='api.Operation.DropOp', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='NONE', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='ALL', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DATA', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='ATTR', index=3, number=3, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='TYPE', index=4, number=4, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=1035, - serialized_end=1092, -) -_sym_db.RegisterEnumDescriptor(_OPERATION_DROPOP) - -_FACET_VALTYPE = _descriptor.EnumDescriptor( - name='ValType', - full_name='api.Facet.ValType', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='STRING', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='INT', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='FLOAT', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='BOOL', index=3, number=3, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DATETIME', index=4, number=4, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=2009, - serialized_end=2074, -) -_sym_db.RegisterEnumDescriptor(_FACET_VALTYPE) - - -_REQUEST_VARSENTRY = _descriptor.Descriptor( - name='VarsEntry', - full_name='api.Request.VarsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='api.Request.VarsEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='api.Request.VarsEntry.value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=255, - serialized_end=298, -) - -_REQUEST = _descriptor.Descriptor( - name='Request', - full_name='api.Request', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='start_ts', full_name='api.Request.start_ts', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='query', full_name='api.Request.query', index=1, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='vars', full_name='api.Request.vars', index=2, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='read_only', full_name='api.Request.read_only', index=3, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='best_effort', full_name='api.Request.best_effort', index=4, - number=7, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='mutations', full_name='api.Request.mutations', index=5, - number=12, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='commit_now', full_name='api.Request.commit_now', index=6, - number=13, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='resp_format', full_name='api.Request.resp_format', index=7, - number=14, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='hash', full_name='api.Request.hash', index=8, - number=15, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[_REQUEST_VARSENTRY, ], - enum_types=[ - _REQUEST_RESPFORMAT, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=19, - serialized_end=331, -) - - -_UIDS = _descriptor.Descriptor( - name='Uids', - full_name='api.Uids', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='uids', full_name='api.Uids.uids', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=333, - serialized_end=353, -) - - -_LISTOFSTRING = _descriptor.Descriptor( - name='ListOfString', - full_name='api.ListOfString', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='api.ListOfString.value', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=355, - serialized_end=384, -) - - -_RESPONSE_UIDSENTRY = _descriptor.Descriptor( - name='UidsEntry', - full_name='api.Response.UidsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='api.Response.UidsEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='api.Response.UidsEntry.value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=596, - serialized_end=639, -) - -_RESPONSE_HDRSENTRY = _descriptor.Descriptor( - name='HdrsEntry', - full_name='api.Response.HdrsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='api.Response.HdrsEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='api.Response.HdrsEntry.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=641, - serialized_end=703, -) - -_RESPONSE = _descriptor.Descriptor( - name='Response', - full_name='api.Response', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='json', full_name='api.Response.json', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='txn', full_name='api.Response.txn', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='latency', full_name='api.Response.latency', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='metrics', full_name='api.Response.metrics', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='uids', full_name='api.Response.uids', index=4, - number=12, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='rdf', full_name='api.Response.rdf', index=5, - number=13, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='hdrs', full_name='api.Response.hdrs', index=6, - number=14, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[_RESPONSE_UIDSENTRY, _RESPONSE_HDRSENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=387, - serialized_end=703, -) - - -_MUTATION = _descriptor.Descriptor( - name='Mutation', - full_name='api.Mutation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='set_json', full_name='api.Mutation.set_json', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='delete_json', full_name='api.Mutation.delete_json', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='set_nquads', full_name='api.Mutation.set_nquads', index=2, - number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='del_nquads', full_name='api.Mutation.del_nquads', index=3, - number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='set', full_name='api.Mutation.set', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='del', full_name='api.Mutation.del', index=5, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='cond', full_name='api.Mutation.cond', index=6, - number=9, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='commit_now', full_name='api.Mutation.commit_now', index=7, - number=14, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=706, - serialized_end=879, -) - - -_OPERATION = _descriptor.Descriptor( - name='Operation', - full_name='api.Operation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='schema', full_name='api.Operation.schema', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='drop_attr', full_name='api.Operation.drop_attr', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='drop_all', full_name='api.Operation.drop_all', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='drop_op', full_name='api.Operation.drop_op', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='drop_value', full_name='api.Operation.drop_value', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='run_in_background', full_name='api.Operation.run_in_background', index=5, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _OPERATION_DROPOP, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=882, - serialized_end=1092, -) - - -_PAYLOAD = _descriptor.Descriptor( - name='Payload', - full_name='api.Payload', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='Data', full_name='api.Payload.Data', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1094, - serialized_end=1117, -) - - -_TXNCONTEXT = _descriptor.Descriptor( - name='TxnContext', - full_name='api.TxnContext', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='start_ts', full_name='api.TxnContext.start_ts', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='commit_ts', full_name='api.TxnContext.commit_ts', index=1, - number=2, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='aborted', full_name='api.TxnContext.aborted', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='keys', full_name='api.TxnContext.keys', index=3, - number=4, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='preds', full_name='api.TxnContext.preds', index=4, - number=5, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='hash', full_name='api.TxnContext.hash', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1119, - serialized_end=1228, -) - - -_CHECK = _descriptor.Descriptor( - name='Check', - full_name='api.Check', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1230, - serialized_end=1237, -) - - -_VERSION = _descriptor.Descriptor( - name='Version', - full_name='api.Version', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='tag', full_name='api.Version.tag', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1239, - serialized_end=1261, -) - - -_LATENCY = _descriptor.Descriptor( - name='Latency', - full_name='api.Latency', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='parsing_ns', full_name='api.Latency.parsing_ns', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='processing_ns', full_name='api.Latency.processing_ns', index=1, - number=2, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='encoding_ns', full_name='api.Latency.encoding_ns', index=2, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='assign_timestamp_ns', full_name='api.Latency.assign_timestamp_ns', index=3, - number=4, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='total_ns', full_name='api.Latency.total_ns', index=4, - number=5, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1263, - serialized_end=1383, -) - - -_METRICS_NUMUIDSENTRY = _descriptor.Descriptor( - name='NumUidsEntry', - full_name='api.Metrics.NumUidsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='api.Metrics.NumUidsEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='api.Metrics.NumUidsEntry.value', index=1, - number=2, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1441, - serialized_end=1487, -) - -_METRICS = _descriptor.Descriptor( - name='Metrics', - full_name='api.Metrics', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='num_uids', full_name='api.Metrics.num_uids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[_METRICS_NUMUIDSENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1385, - serialized_end=1487, -) - - -_NQUAD = _descriptor.Descriptor( - name='NQuad', - full_name='api.NQuad', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='subject', full_name='api.NQuad.subject', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='predicate', full_name='api.NQuad.predicate', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='object_id', full_name='api.NQuad.object_id', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='object_value', full_name='api.NQuad.object_value', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='lang', full_name='api.NQuad.lang', index=4, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='facets', full_name='api.NQuad.facets', index=5, - number=7, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='namespace', full_name='api.NQuad.namespace', index=6, - number=8, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1490, - serialized_end=1653, -) - - -_VALUE = _descriptor.Descriptor( - name='Value', - full_name='api.Value', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='default_val', full_name='api.Value.default_val', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='bytes_val', full_name='api.Value.bytes_val', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='int_val', full_name='api.Value.int_val', index=2, - number=3, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='bool_val', full_name='api.Value.bool_val', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='str_val', full_name='api.Value.str_val', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='double_val', full_name='api.Value.double_val', index=5, - number=6, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='geo_val', full_name='api.Value.geo_val', index=6, - number=7, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='date_val', full_name='api.Value.date_val', index=7, - number=8, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='datetime_val', full_name='api.Value.datetime_val', index=8, - number=9, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='password_val', full_name='api.Value.password_val', index=9, - number=10, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='uid_val', full_name='api.Value.uid_val', index=10, - number=11, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='val', full_name='api.Value.val', - index=0, containing_type=None, fields=[]), - ], - serialized_start=1656, - serialized_end=1900, -) - - -_FACET = _descriptor.Descriptor( - name='Facet', - full_name='api.Facet', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='api.Facet.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='api.Facet.value', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='val_type', full_name='api.Facet.val_type', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='tokens', full_name='api.Facet.tokens', index=3, - number=4, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='alias', full_name='api.Facet.alias', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _FACET_VALTYPE, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1903, - serialized_end=2074, -) - - -_LOGINREQUEST = _descriptor.Descriptor( - name='LoginRequest', - full_name='api.LoginRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='userid', full_name='api.LoginRequest.userid', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='password', full_name='api.LoginRequest.password', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='refresh_token', full_name='api.LoginRequest.refresh_token', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='namespace', full_name='api.LoginRequest.namespace', index=3, - number=4, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2076, - serialized_end=2166, -) - - -_JWT = _descriptor.Descriptor( - name='Jwt', - full_name='api.Jwt', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='access_jwt', full_name='api.Jwt.access_jwt', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='refresh_jwt', full_name='api.Jwt.refresh_jwt', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2168, - serialized_end=2214, -) - -_REQUEST_VARSENTRY.containing_type = _REQUEST -_REQUEST.fields_by_name['vars'].message_type = _REQUEST_VARSENTRY -_REQUEST.fields_by_name['mutations'].message_type = _MUTATION -_REQUEST.fields_by_name['resp_format'].enum_type = _REQUEST_RESPFORMAT -_REQUEST_RESPFORMAT.containing_type = _REQUEST -_RESPONSE_UIDSENTRY.containing_type = _RESPONSE -_RESPONSE_HDRSENTRY.fields_by_name['value'].message_type = _LISTOFSTRING -_RESPONSE_HDRSENTRY.containing_type = _RESPONSE -_RESPONSE.fields_by_name['txn'].message_type = _TXNCONTEXT -_RESPONSE.fields_by_name['latency'].message_type = _LATENCY -_RESPONSE.fields_by_name['metrics'].message_type = _METRICS -_RESPONSE.fields_by_name['uids'].message_type = _RESPONSE_UIDSENTRY -_RESPONSE.fields_by_name['hdrs'].message_type = _RESPONSE_HDRSENTRY -_MUTATION.fields_by_name['set'].message_type = _NQUAD -_MUTATION.fields_by_name['del'].message_type = _NQUAD -_OPERATION.fields_by_name['drop_op'].enum_type = _OPERATION_DROPOP -_OPERATION_DROPOP.containing_type = _OPERATION -_METRICS_NUMUIDSENTRY.containing_type = _METRICS -_METRICS.fields_by_name['num_uids'].message_type = _METRICS_NUMUIDSENTRY -_NQUAD.fields_by_name['object_value'].message_type = _VALUE -_NQUAD.fields_by_name['facets'].message_type = _FACET -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['default_val']) -_VALUE.fields_by_name['default_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['bytes_val']) -_VALUE.fields_by_name['bytes_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['int_val']) -_VALUE.fields_by_name['int_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['bool_val']) -_VALUE.fields_by_name['bool_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['str_val']) -_VALUE.fields_by_name['str_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['double_val']) -_VALUE.fields_by_name['double_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['geo_val']) -_VALUE.fields_by_name['geo_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['date_val']) -_VALUE.fields_by_name['date_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['datetime_val']) -_VALUE.fields_by_name['datetime_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['password_val']) -_VALUE.fields_by_name['password_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_VALUE.oneofs_by_name['val'].fields.append( - _VALUE.fields_by_name['uid_val']) -_VALUE.fields_by_name['uid_val'].containing_oneof = _VALUE.oneofs_by_name['val'] -_FACET.fields_by_name['val_type'].enum_type = _FACET_VALTYPE -_FACET_VALTYPE.containing_type = _FACET -DESCRIPTOR.message_types_by_name['Request'] = _REQUEST -DESCRIPTOR.message_types_by_name['Uids'] = _UIDS -DESCRIPTOR.message_types_by_name['ListOfString'] = _LISTOFSTRING -DESCRIPTOR.message_types_by_name['Response'] = _RESPONSE -DESCRIPTOR.message_types_by_name['Mutation'] = _MUTATION -DESCRIPTOR.message_types_by_name['Operation'] = _OPERATION -DESCRIPTOR.message_types_by_name['Payload'] = _PAYLOAD -DESCRIPTOR.message_types_by_name['TxnContext'] = _TXNCONTEXT -DESCRIPTOR.message_types_by_name['Check'] = _CHECK -DESCRIPTOR.message_types_by_name['Version'] = _VERSION -DESCRIPTOR.message_types_by_name['Latency'] = _LATENCY -DESCRIPTOR.message_types_by_name['Metrics'] = _METRICS -DESCRIPTOR.message_types_by_name['NQuad'] = _NQUAD -DESCRIPTOR.message_types_by_name['Value'] = _VALUE -DESCRIPTOR.message_types_by_name['Facet'] = _FACET -DESCRIPTOR.message_types_by_name['LoginRequest'] = _LOGINREQUEST -DESCRIPTOR.message_types_by_name['Jwt'] = _JWT - -Request = _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), dict( - - VarsEntry = _reflection.GeneratedProtocolMessageType('VarsEntry', (_message.Message,), dict( - DESCRIPTOR = _REQUEST_VARSENTRY, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Request.VarsEntry) - )) - , - DESCRIPTOR = _REQUEST, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Request) - )) -_sym_db.RegisterMessage(Request) -_sym_db.RegisterMessage(Request.VarsEntry) - -Uids = _reflection.GeneratedProtocolMessageType('Uids', (_message.Message,), dict( - DESCRIPTOR = _UIDS, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Uids) - )) -_sym_db.RegisterMessage(Uids) - -ListOfString = _reflection.GeneratedProtocolMessageType('ListOfString', (_message.Message,), dict( - DESCRIPTOR = _LISTOFSTRING, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.ListOfString) - )) -_sym_db.RegisterMessage(ListOfString) - -Response = _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), dict( - - UidsEntry = _reflection.GeneratedProtocolMessageType('UidsEntry', (_message.Message,), dict( - DESCRIPTOR = _RESPONSE_UIDSENTRY, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Response.UidsEntry) - )) - , - - HdrsEntry = _reflection.GeneratedProtocolMessageType('HdrsEntry', (_message.Message,), dict( - DESCRIPTOR = _RESPONSE_HDRSENTRY, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Response.HdrsEntry) - )) - , - DESCRIPTOR = _RESPONSE, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Response) - )) -_sym_db.RegisterMessage(Response) -_sym_db.RegisterMessage(Response.UidsEntry) -_sym_db.RegisterMessage(Response.HdrsEntry) - -Mutation = _reflection.GeneratedProtocolMessageType('Mutation', (_message.Message,), dict( - DESCRIPTOR = _MUTATION, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Mutation) - )) -_sym_db.RegisterMessage(Mutation) - -Operation = _reflection.GeneratedProtocolMessageType('Operation', (_message.Message,), dict( - DESCRIPTOR = _OPERATION, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Operation) - )) -_sym_db.RegisterMessage(Operation) - -Payload = _reflection.GeneratedProtocolMessageType('Payload', (_message.Message,), dict( - DESCRIPTOR = _PAYLOAD, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Payload) - )) -_sym_db.RegisterMessage(Payload) - -TxnContext = _reflection.GeneratedProtocolMessageType('TxnContext', (_message.Message,), dict( - DESCRIPTOR = _TXNCONTEXT, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.TxnContext) - )) -_sym_db.RegisterMessage(TxnContext) - -Check = _reflection.GeneratedProtocolMessageType('Check', (_message.Message,), dict( - DESCRIPTOR = _CHECK, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Check) - )) -_sym_db.RegisterMessage(Check) - -Version = _reflection.GeneratedProtocolMessageType('Version', (_message.Message,), dict( - DESCRIPTOR = _VERSION, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Version) - )) -_sym_db.RegisterMessage(Version) - -Latency = _reflection.GeneratedProtocolMessageType('Latency', (_message.Message,), dict( - DESCRIPTOR = _LATENCY, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Latency) - )) -_sym_db.RegisterMessage(Latency) - -Metrics = _reflection.GeneratedProtocolMessageType('Metrics', (_message.Message,), dict( - - NumUidsEntry = _reflection.GeneratedProtocolMessageType('NumUidsEntry', (_message.Message,), dict( - DESCRIPTOR = _METRICS_NUMUIDSENTRY, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Metrics.NumUidsEntry) - )) - , - DESCRIPTOR = _METRICS, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Metrics) - )) -_sym_db.RegisterMessage(Metrics) -_sym_db.RegisterMessage(Metrics.NumUidsEntry) - -NQuad = _reflection.GeneratedProtocolMessageType('NQuad', (_message.Message,), dict( - DESCRIPTOR = _NQUAD, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.NQuad) - )) -_sym_db.RegisterMessage(NQuad) - -Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), dict( - DESCRIPTOR = _VALUE, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Value) - )) -_sym_db.RegisterMessage(Value) - -Facet = _reflection.GeneratedProtocolMessageType('Facet', (_message.Message,), dict( - DESCRIPTOR = _FACET, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Facet) - )) -_sym_db.RegisterMessage(Facet) - -LoginRequest = _reflection.GeneratedProtocolMessageType('LoginRequest', (_message.Message,), dict( - DESCRIPTOR = _LOGINREQUEST, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.LoginRequest) - )) -_sym_db.RegisterMessage(LoginRequest) - -Jwt = _reflection.GeneratedProtocolMessageType('Jwt', (_message.Message,), dict( - DESCRIPTOR = _JWT, - __module__ = 'api_pb2' - # @@protoc_insertion_point(class_scope:api.Jwt) - )) -_sym_db.RegisterMessage(Jwt) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\tio.dgraphB\013DgraphProto')) -_REQUEST_VARSENTRY.has_options = True -_REQUEST_VARSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_RESPONSE_UIDSENTRY.has_options = True -_RESPONSE_UIDSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_RESPONSE_HDRSENTRY.has_options = True -_RESPONSE_HDRSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_METRICS_NUMUIDSENTRY.has_options = True -_METRICS_NUMUIDSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tapi.proto\x12\x03\x61pi\"\xb8\x02\n\x07Request\x12\x10\n\x08start_ts\x18\x01 \x01(\x04\x12\r\n\x05query\x18\x04 \x01(\t\x12$\n\x04vars\x18\x05 \x03(\x0b\x32\x16.api.Request.VarsEntry\x12\x11\n\tread_only\x18\x06 \x01(\x08\x12\x13\n\x0b\x62\x65st_effort\x18\x07 \x01(\x08\x12 \n\tmutations\x18\x0c \x03(\x0b\x32\r.api.Mutation\x12\x12\n\ncommit_now\x18\r \x01(\x08\x12,\n\x0bresp_format\x18\x0e \x01(\x0e\x32\x17.api.Request.RespFormat\x12\x0c\n\x04hash\x18\x0f \x01(\t\x1a+\n\tVarsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1f\n\nRespFormat\x12\x08\n\x04JSON\x10\x00\x12\x07\n\x03RDF\x10\x01\"\x14\n\x04Uids\x12\x0c\n\x04uids\x18\x01 \x03(\t\"\x1d\n\x0cListOfString\x12\r\n\x05value\x18\x01 \x03(\t\"\xbc\x02\n\x08Response\x12\x0c\n\x04json\x18\x01 \x01(\x0c\x12\x1c\n\x03txn\x18\x02 \x01(\x0b\x32\x0f.api.TxnContext\x12\x1d\n\x07latency\x18\x03 \x01(\x0b\x32\x0c.api.Latency\x12\x1d\n\x07metrics\x18\x04 \x01(\x0b\x32\x0c.api.Metrics\x12%\n\x04uids\x18\x0c \x03(\x0b\x32\x17.api.Response.UidsEntry\x12\x0b\n\x03rdf\x18\r \x01(\x0c\x12%\n\x04hdrs\x18\x0e \x03(\x0b\x32\x17.api.Response.HdrsEntry\x1a+\n\tUidsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a>\n\tHdrsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.api.ListOfString:\x02\x38\x01\"\xad\x01\n\x08Mutation\x12\x10\n\x08set_json\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65lete_json\x18\x02 \x01(\x0c\x12\x12\n\nset_nquads\x18\x03 \x01(\x0c\x12\x12\n\ndel_nquads\x18\x04 \x01(\x0c\x12\x17\n\x03set\x18\x05 \x03(\x0b\x32\n.api.NQuad\x12\x17\n\x03\x64\x65l\x18\x06 \x03(\x0b\x32\n.api.NQuad\x12\x0c\n\x04\x63ond\x18\t \x01(\t\x12\x12\n\ncommit_now\x18\x0e \x01(\x08\"\xd2\x01\n\tOperation\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x11\n\tdrop_attr\x18\x02 \x01(\t\x12\x10\n\x08\x64rop_all\x18\x03 \x01(\x08\x12&\n\x07\x64rop_op\x18\x04 \x01(\x0e\x32\x15.api.Operation.DropOp\x12\x12\n\ndrop_value\x18\x05 \x01(\t\x12\x19\n\x11run_in_background\x18\x06 \x01(\x08\"9\n\x06\x44ropOp\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02\x12\x08\n\x04\x41TTR\x10\x03\x12\x08\n\x04TYPE\x10\x04\"\x17\n\x07Payload\x12\x0c\n\x04\x44\x61ta\x18\x01 \x01(\x0c\"m\n\nTxnContext\x12\x10\n\x08start_ts\x18\x01 \x01(\x04\x12\x11\n\tcommit_ts\x18\x02 \x01(\x04\x12\x0f\n\x07\x61\x62orted\x18\x03 \x01(\x08\x12\x0c\n\x04keys\x18\x04 \x03(\t\x12\r\n\x05preds\x18\x05 \x03(\t\x12\x0c\n\x04hash\x18\x06 \x01(\t\"\x07\n\x05\x43heck\"\x16\n\x07Version\x12\x0b\n\x03tag\x18\x01 \x01(\t\"x\n\x07Latency\x12\x12\n\nparsing_ns\x18\x01 \x01(\x04\x12\x15\n\rprocessing_ns\x18\x02 \x01(\x04\x12\x13\n\x0b\x65ncoding_ns\x18\x03 \x01(\x04\x12\x1b\n\x13\x61ssign_timestamp_ns\x18\x04 \x01(\x04\x12\x10\n\x08total_ns\x18\x05 \x01(\x04\"f\n\x07Metrics\x12+\n\x08num_uids\x18\x01 \x03(\x0b\x32\x19.api.Metrics.NumUidsEntry\x1a.\n\x0cNumUidsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\"\xa3\x01\n\x05NQuad\x12\x0f\n\x07subject\x18\x01 \x01(\t\x12\x11\n\tpredicate\x18\x02 \x01(\t\x12\x11\n\tobject_id\x18\x03 \x01(\t\x12 \n\x0cobject_value\x18\x04 \x01(\x0b\x32\n.api.Value\x12\x0c\n\x04lang\x18\x06 \x01(\t\x12\x1a\n\x06\x66\x61\x63\x65ts\x18\x07 \x03(\x0b\x32\n.api.Facet\x12\x11\n\tnamespace\x18\x08 \x01(\x04J\x04\x08\x05\x10\x06\"\xf4\x01\n\x05Value\x12\x15\n\x0b\x64\x65\x66\x61ult_val\x18\x01 \x01(\tH\x00\x12\x13\n\tbytes_val\x18\x02 \x01(\x0cH\x00\x12\x11\n\x07int_val\x18\x03 \x01(\x03H\x00\x12\x12\n\x08\x62ool_val\x18\x04 \x01(\x08H\x00\x12\x11\n\x07str_val\x18\x05 \x01(\tH\x00\x12\x14\n\ndouble_val\x18\x06 \x01(\x01H\x00\x12\x11\n\x07geo_val\x18\x07 \x01(\x0cH\x00\x12\x12\n\x08\x64\x61te_val\x18\x08 \x01(\x0cH\x00\x12\x16\n\x0c\x64\x61tetime_val\x18\t \x01(\x0cH\x00\x12\x16\n\x0cpassword_val\x18\n \x01(\tH\x00\x12\x11\n\x07uid_val\x18\x0b \x01(\x04H\x00\x42\x05\n\x03val\"\xab\x01\n\x05\x46\x61\x63\x65t\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12$\n\x08val_type\x18\x03 \x01(\x0e\x32\x12.api.Facet.ValType\x12\x0e\n\x06tokens\x18\x04 \x03(\t\x12\r\n\x05\x61lias\x18\x05 \x01(\t\"A\n\x07ValType\x12\n\n\x06STRING\x10\x00\x12\x07\n\x03INT\x10\x01\x12\t\n\x05\x46LOAT\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x12\x0c\n\x08\x44\x41TETIME\x10\x04\"Z\n\x0cLoginRequest\x12\x0e\n\x06userid\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x15\n\rrefresh_token\x18\x03 \x01(\t\x12\x11\n\tnamespace\x18\x04 \x01(\x04\".\n\x03Jwt\x12\x12\n\naccess_jwt\x18\x01 \x01(\t\x12\x13\n\x0brefresh_jwt\x18\x02 \x01(\t2\xe7\x01\n\x06\x44graph\x12+\n\x05Login\x12\x11.api.LoginRequest\x1a\r.api.Response\"\x00\x12&\n\x05Query\x12\x0c.api.Request\x1a\r.api.Response\"\x00\x12\'\n\x05\x41lter\x12\x0e.api.Operation\x1a\x0c.api.Payload\"\x00\x12\x33\n\rCommitOrAbort\x12\x0f.api.TxnContext\x1a\x0f.api.TxnContext\"\x00\x12*\n\x0c\x43heckVersion\x12\n.api.Check\x1a\x0c.api.Version\"\x00\x42\x18\n\tio.dgraphB\x0b\x44graphProtob\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\tio.dgraphB\013DgraphProto' + _REQUEST_VARSENTRY._options = None + _REQUEST_VARSENTRY._serialized_options = b'8\001' + _RESPONSE_UIDSENTRY._options = None + _RESPONSE_UIDSENTRY._serialized_options = b'8\001' + _RESPONSE_HDRSENTRY._options = None + _RESPONSE_HDRSENTRY._serialized_options = b'8\001' + _METRICS_NUMUIDSENTRY._options = None + _METRICS_NUMUIDSENTRY._serialized_options = b'8\001' + _REQUEST._serialized_start=19 + _REQUEST._serialized_end=331 + _REQUEST_VARSENTRY._serialized_start=255 + _REQUEST_VARSENTRY._serialized_end=298 + _REQUEST_RESPFORMAT._serialized_start=300 + _REQUEST_RESPFORMAT._serialized_end=331 + _UIDS._serialized_start=333 + _UIDS._serialized_end=353 + _LISTOFSTRING._serialized_start=355 + _LISTOFSTRING._serialized_end=384 + _RESPONSE._serialized_start=387 + _RESPONSE._serialized_end=703 + _RESPONSE_UIDSENTRY._serialized_start=596 + _RESPONSE_UIDSENTRY._serialized_end=639 + _RESPONSE_HDRSENTRY._serialized_start=641 + _RESPONSE_HDRSENTRY._serialized_end=703 + _MUTATION._serialized_start=706 + _MUTATION._serialized_end=879 + _OPERATION._serialized_start=882 + _OPERATION._serialized_end=1092 + _OPERATION_DROPOP._serialized_start=1035 + _OPERATION_DROPOP._serialized_end=1092 + _PAYLOAD._serialized_start=1094 + _PAYLOAD._serialized_end=1117 + _TXNCONTEXT._serialized_start=1119 + _TXNCONTEXT._serialized_end=1228 + _CHECK._serialized_start=1230 + _CHECK._serialized_end=1237 + _VERSION._serialized_start=1239 + _VERSION._serialized_end=1261 + _LATENCY._serialized_start=1263 + _LATENCY._serialized_end=1383 + _METRICS._serialized_start=1385 + _METRICS._serialized_end=1487 + _METRICS_NUMUIDSENTRY._serialized_start=1441 + _METRICS_NUMUIDSENTRY._serialized_end=1487 + _NQUAD._serialized_start=1490 + _NQUAD._serialized_end=1653 + _VALUE._serialized_start=1656 + _VALUE._serialized_end=1900 + _FACET._serialized_start=1903 + _FACET._serialized_end=2074 + _FACET_VALTYPE._serialized_start=2009 + _FACET_VALTYPE._serialized_end=2074 + _LOGINREQUEST._serialized_start=2076 + _LOGINREQUEST._serialized_end=2166 + _JWT._serialized_start=2168 + _JWT._serialized_end=2214 + _DGRAPH._serialized_start=2217 + _DGRAPH._serialized_end=2448 # @@protoc_insertion_point(module_scope) diff --git a/pydgraph/proto/api_pb2_grpc.py b/pydgraph/proto/api_pb2_grpc.py index 42b7159..0d3c871 100644 --- a/pydgraph/proto/api_pb2_grpc.py +++ b/pydgraph/proto/api_pb2_grpc.py @@ -1,114 +1,201 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc from . import api_pb2 as api__pb2 class DgraphStub(object): - """Graph response. - """ + """Graph response. + """ - def __init__(self, channel): - """Constructor. + def __init__(self, channel): + """Constructor. - Args: - channel: A grpc.Channel. - """ - self.Login = channel.unary_unary( - '/api.Dgraph/Login', - request_serializer=api__pb2.LoginRequest.SerializeToString, - response_deserializer=api__pb2.Response.FromString, - ) - self.Query = channel.unary_unary( - '/api.Dgraph/Query', - request_serializer=api__pb2.Request.SerializeToString, - response_deserializer=api__pb2.Response.FromString, - ) - self.Alter = channel.unary_unary( - '/api.Dgraph/Alter', - request_serializer=api__pb2.Operation.SerializeToString, - response_deserializer=api__pb2.Payload.FromString, - ) - self.CommitOrAbort = channel.unary_unary( - '/api.Dgraph/CommitOrAbort', - request_serializer=api__pb2.TxnContext.SerializeToString, - response_deserializer=api__pb2.TxnContext.FromString, - ) - self.CheckVersion = channel.unary_unary( - '/api.Dgraph/CheckVersion', - request_serializer=api__pb2.Check.SerializeToString, - response_deserializer=api__pb2.Version.FromString, - ) + Args: + channel: A grpc.Channel. + """ + self.Login = channel.unary_unary( + '/api.Dgraph/Login', + request_serializer=api__pb2.LoginRequest.SerializeToString, + response_deserializer=api__pb2.Response.FromString, + ) + self.Query = channel.unary_unary( + '/api.Dgraph/Query', + request_serializer=api__pb2.Request.SerializeToString, + response_deserializer=api__pb2.Response.FromString, + ) + self.Alter = channel.unary_unary( + '/api.Dgraph/Alter', + request_serializer=api__pb2.Operation.SerializeToString, + response_deserializer=api__pb2.Payload.FromString, + ) + self.CommitOrAbort = channel.unary_unary( + '/api.Dgraph/CommitOrAbort', + request_serializer=api__pb2.TxnContext.SerializeToString, + response_deserializer=api__pb2.TxnContext.FromString, + ) + self.CheckVersion = channel.unary_unary( + '/api.Dgraph/CheckVersion', + request_serializer=api__pb2.Check.SerializeToString, + response_deserializer=api__pb2.Version.FromString, + ) class DgraphServicer(object): - """Graph response. - """ - - def Login(self, request, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Query(self, request, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Alter(self, request, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CommitOrAbort(self, request, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CheckVersion(self, request, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') + """Graph response. + """ + + def Login(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Query(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Alter(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CommitOrAbort(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CheckVersion(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') def add_DgraphServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Login': grpc.unary_unary_rpc_method_handler( - servicer.Login, - request_deserializer=api__pb2.LoginRequest.FromString, - response_serializer=api__pb2.Response.SerializeToString, - ), - 'Query': grpc.unary_unary_rpc_method_handler( - servicer.Query, - request_deserializer=api__pb2.Request.FromString, - response_serializer=api__pb2.Response.SerializeToString, - ), - 'Alter': grpc.unary_unary_rpc_method_handler( - servicer.Alter, - request_deserializer=api__pb2.Operation.FromString, - response_serializer=api__pb2.Payload.SerializeToString, - ), - 'CommitOrAbort': grpc.unary_unary_rpc_method_handler( - servicer.CommitOrAbort, - request_deserializer=api__pb2.TxnContext.FromString, - response_serializer=api__pb2.TxnContext.SerializeToString, - ), - 'CheckVersion': grpc.unary_unary_rpc_method_handler( - servicer.CheckVersion, - request_deserializer=api__pb2.Check.FromString, - response_serializer=api__pb2.Version.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'api.Dgraph', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) + rpc_method_handlers = { + 'Login': grpc.unary_unary_rpc_method_handler( + servicer.Login, + request_deserializer=api__pb2.LoginRequest.FromString, + response_serializer=api__pb2.Response.SerializeToString, + ), + 'Query': grpc.unary_unary_rpc_method_handler( + servicer.Query, + request_deserializer=api__pb2.Request.FromString, + response_serializer=api__pb2.Response.SerializeToString, + ), + 'Alter': grpc.unary_unary_rpc_method_handler( + servicer.Alter, + request_deserializer=api__pb2.Operation.FromString, + response_serializer=api__pb2.Payload.SerializeToString, + ), + 'CommitOrAbort': grpc.unary_unary_rpc_method_handler( + servicer.CommitOrAbort, + request_deserializer=api__pb2.TxnContext.FromString, + response_serializer=api__pb2.TxnContext.SerializeToString, + ), + 'CheckVersion': grpc.unary_unary_rpc_method_handler( + servicer.CheckVersion, + request_deserializer=api__pb2.Check.FromString, + response_serializer=api__pb2.Version.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'api.Dgraph', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Dgraph(object): + """Graph response. + """ + + @staticmethod + def Login(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/api.Dgraph/Login', + api__pb2.LoginRequest.SerializeToString, + api__pb2.Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Query(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/api.Dgraph/Query', + api__pb2.Request.SerializeToString, + api__pb2.Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Alter(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/api.Dgraph/Alter', + api__pb2.Operation.SerializeToString, + api__pb2.Payload.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CommitOrAbort(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/api.Dgraph/CommitOrAbort', + api__pb2.TxnContext.SerializeToString, + api__pb2.TxnContext.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CheckVersion(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/api.Dgraph/CheckVersion', + api__pb2.Check.SerializeToString, + api__pb2.Version.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c9b5a2b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,37 @@ +[build-system] +requires = ["setuptools==67.7.2"] +build-backend = "setuptools.build_meta" + +[project] +name = "pydgraph" +authors = [ + { name="Dgraph Labs", email="contact@dgraph.io" }, +] +license = {file = "LICENSE" } +description = "Official Dgraph client implementation for Python" +readme = "README.md" +requires-python = ">=3.11" +classifiers=[ + 'Intended Audience :: Developers', + 'License :: OSI Approved :: Apache Software License', + 'Operating System :: OS Independent', + 'Topic :: Database', + 'Topic :: Software Development', + 'Programming Language :: Python :: 3.11', +] +dependencies = [ "grpcio==1.54.0", "protobuf==4.22.3" ] +dynamic = ["version"] + +[tool.setuptools.dynamic] +version = {attr = "pydgraph.meta.VERSION"} + +[project.optional-dependencies] +dev = [ + "build==0.10.0", + "grpcio-tools==1.54.0", + "pytest==7.3.1", +] + +[project.urls] +"Homepage" = "https://github.com/dgraph-io/pydgraph" + diff --git a/requirements.txt b/requirements.txt deleted file mode 100755 index 2dd5158..0000000 --- a/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -grpcio>=1.18.0 -protobuf>=3.6.1, < 4.0.0 \ No newline at end of file diff --git a/scripts/build.sh b/scripts/build.sh deleted file mode 100755 index c446f49..0000000 --- a/scripts/build.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -e -set -x - -source scripts/functions.sh - -init -startZero -start - -coverage run --source=pydgraph --omit=pydgraph/proto/* setup.py test - -quit 0 diff --git a/scripts/functions.sh b/scripts/functions.sh deleted file mode 100755 index 0368162..0000000 --- a/scripts/functions.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -sleepTime=5 -if [[ "$TRAVIS" == true ]]; then - sleepTime=30 -fi - -function quit { - echo "Shutting down Dgraph Alpha and zero." - curl -s localhost:8180/admin/shutdown - # Kill Dgraph zero. - kill -9 $(pgrep -f "dgraph zero") > /dev/null - - if pgrep -x dgraph > /dev/null - then - while pgrep dgraph; - do - echo "Sleeping for 5 secs so that Dgraph can shutdown." - sleep 5 - done - fi - - echo "Clean shutdown done." - return $1 -} - -function start { - echo -e "Starting first Alpha." - dgraph alpha -o 100 -p data/p -w data/w --lru_mb 4096 --zero localhost:5080 > data/alpha.log 2>&1 & - # Wait for membership sync to happen. - sleep $sleepTime - return 0 -} - -function startZero { - echo -e "Starting Dgraph zero.\n" - dgraph zero -w data/wz > data/zero.log 2>&1 & - # To ensure Dgraph doesn't start before Dgraph zero. - # It takes time for zero to start on travis mac. - sleep $sleepTime -} - -function init { - echo -e "Initializing.\n" - mkdir data -} diff --git a/scripts/install_dgraph.sh b/scripts/install_dgraph.sh deleted file mode 100755 index 184c52e..0000000 --- a/scripts/install_dgraph.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -curl https://get.dgraph.io -sSf | bash -s -- --accept-license diff --git a/scripts/local-test.sh b/scripts/local-test.sh index 9f40f10..dbde4a8 100755 --- a/scripts/local-test.sh +++ b/scripts/local-test.sh @@ -4,7 +4,7 @@ # Instead it assumes dgraph is already installed. function DockerCompose() { - docker-compose -p pydgraph $@ + docker compose -p pydgraph $@ } function wait-for-healthy() { @@ -36,8 +36,12 @@ function stopCluster() { readonly SRCDIR=$(readlink -f ${BASH_SOURCE[0]%/*}) # Install dependencies -pip install -r requirements.txt -pip install coveralls +pip install -r requirements_dev.txt +pip_failed="$?" +if [ "$tests_failed" -ne 0 ]; then + exit 1 +fi +# pip install coveralls (will figure out later) # Run cluster and tests pushd $(dirname $SRCDIR) @@ -47,7 +51,8 @@ alphaGrpcPort=$(DockerCompose port alpha1 9080 | awk -F: '{print $2}') popd export TEST_SERVER_ADDR="localhost:$alphaGrpcPort" echo "Using TEST_SERVER_ADDR=$TEST_SERVER_ADDR" -coverage run --source=pydgraph --omit=pydgraph/proto/* setup.py test +#coverage run --source=pydgraph --omit=pydgraph/proto/* setup.py test +pytest tests_failed="$?" stopCluster popd diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 1cab3df..0000000 --- a/setup.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[metadata] -description-file = README.md - -[bdist_wheel] -# This flag says to generate wheels that support both Python 2 and Python 3. -universal = 1 diff --git a/setup.py b/setup.py deleted file mode 100755 index 9d924e6..0000000 --- a/setup.py +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 2023 Dgraph Labs, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import os -import sys - -try: - from setuptools import setup -except ImportError: - from distutils.core import setup - -from pydgraph.meta import VERSION - -README = os.path.join(os.path.dirname(__file__), 'README.md') - -setup( - name='pydgraph', - version=VERSION, - description='Official Dgraph client implementation for Python', - long_description=open(README, 'r').read(), - long_description_content_type='text/markdown', - license='Apache License, Version 2.0', - author='Dgraph Labs', - author_email='contact@dgraph.io', - url='https://github.com/dgraph-io/pydgraph', - classifiers=[ - 'Intended Audience :: Developers', - 'License :: OSI Approved :: Apache Software License', - 'Operating System :: OS Independent', - 'Topic :: Database', - 'Topic :: Software Development', - 'Programming Language :: Python :: 3.11', - ], - packages=['pydgraph', 'pydgraph.proto'], - install_requires=open('requirements.txt').readlines(), - test_suite='tests', -) diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 05f99f3..0000000 --- a/tox.ini +++ /dev/null @@ -1,17 +0,0 @@ -# tox (https://tox.readthedocs.io/) is a tool for running tests -# in multiple virtualenvs. This configuration file will run the -# test suite on all supported python versions. To use it, "pip install tox" -# and then run "tox" from this directory. - -[tox] -envlist = py38 - -[testenv] -deps = - grpcio >= 1.18.0 - protobuf >= 3.6.1 - coverage == 5.5 - coveralls == 3.2.0 -allowlist_externals = /bin/bash -commands = - /bin/bash ./scripts/local-test.sh