This is an automated email from the ASF dual-hosted git repository. kenhuuu pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 52937a1f0ab8766385b18a3ae17b480a507b9ed6 Merge: 899ee057f5 dfc9874302 Author: Ken Hu <[email protected]> AuthorDate: Mon Oct 13 23:37:29 2025 -0700 Merge branch '3.8-dev' docs/src/dev/developer/release.asciidoc | 2 + gremlin-python/docker-compose.yml | 11 +-- gremlin-python/pom.xml | 6 +- .../src/main/python/gremlin_python/__init__.py | 1 + gremlin-python/src/main/python/pyproject.toml | 78 ++++++++++++++++++ gremlin-python/src/main/python/setup.cfg | 22 ----- gremlin-python/src/main/python/setup.py | 93 ---------------------- 7 files changed, 86 insertions(+), 127 deletions(-) diff --cc gremlin-python/docker-compose.yml index 85cec1d59d,a1f17c5b88..e1416eed02 --- a/gremlin-python/docker-compose.yml +++ b/gremlin-python/docker-compose.yml @@@ -47,27 -50,31 +47,26 @@@ services volumes: - ${BUILD_DIR:-./src/main/python}:/python_app - ../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features:/python_app/gremlin-test/features + - ../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphbinary:/python_app/gremlin-test/graphbinary + - ../gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson:/python_app/gremlin-test/graphson - ../docker/gremlin-test-server:/python_app/gremlin-test-server - - ../gremlin-tools/gremlin-socket-server/conf:/python_app/gremlin-socket-server/conf/ - environment: - DEBIAN_FRONTEND=noninteractive - - KRB5_CONFIG=./gremlin-test-server/krb5.conf - - KRB5CCNAME=./test-tkt.cc - - GREMLIN_SERVER_URL=ws://gremlin-server-test-python:{}/gremlin - - GREMLIN_SERVER_BASIC_AUTH_URL=wss://gremlin-server-test-python:{}/gremlin - - GREMLIN_SERVER_URL_HTTP=http://gremlin-server-test-python:{}/ - - GREMLIN_SERVER_BASIC_AUTH_URL_HTTP=https://gremlin-server-test-python:{}/ - - KRB_HOSTNAME=${KRB_HOSTNAME:-gremlin-server-test} - - GREMLIN_SOCKET_SERVER_URL=ws://gremlin-socket-server-python:{}/gremlin - - GREMLIN_SOCKET_SERVER_CONFIG_PATH=/python_app/gremlin-socket-server/conf/test-ws-gremlin.yaml + - GREMLIN_SERVER_URL=http://gremlin-server-test-python:{}/gremlin + - GREMLIN_SERVER_BASIC_AUTH_URL=https://gremlin-server-test-python:{}/gremlin + - IO_TEST_DIRECTORY=/python_app/gremlin-test/graphbinary/ + - IO_TEST_DIRECTORY_GRAPHSON=/python_app/gremlin-test/graphson/ - - VERSION=${VERSION} working_dir: /python_app command: > - bash -c "apt-get update && apt-get -y install libkrb5-dev krb5-user - && echo 'password' | kinit stephen - && klist - && pip install wheel radish-bdd PyHamcrest aenum isodate kerberos + bash -c "pip install wheel radish-bdd PyHamcrest aenum isodate - && python3 ./setup.py build - && python3 ./setup.py test - && python3 ./setup.py install + && pip install -e .[test] + && pytest + && pip install . - && radish -f dots -e -t -b ./radish ./gremlin-test --user-data='serializer=application/vnd.gremlin-v3.0+json' - && radish -f dots -e -t -b ./radish ./gremlin-test --user-data='serializer=application/vnd.graphbinary-v1.0'; + && radish -f dots -e -t -b ./radish ./gremlin-test --user-data='serializer=application/vnd.graphbinary-v4.0' --user-data='bulked=true' + && radish -f dots -e -t -b ./radish ./gremlin-test --user-data='serializer=application/vnd.graphbinary-v4.0' --user-data='parameterize=true' + && radish -f dots -e -t -b ./radish ./gremlin-test --user-data='serializer=application/vnd.graphbinary-v4.0' + && radish -f dots -e -t -b ./radish ./gremlin-test --user-data='serializer=application/vnd.gremlin-v4.0+json' --user-data='parameterize=true' + && radish -f dots -e -t -b ./radish ./gremlin-test --user-data='serializer=application/vnd.gremlin-v4.0+json'; EXIT_CODE=$$?; chown -R `stat -c "%u:%g" .` .; exit $$EXIT_CODE" depends_on: gremlin-server-test-python: @@@ -79,8 -86,12 +78,6 @@@ volumes: - ${PACKAGE_DIR:-./src/main/python}:/python_package working_dir: /python_package - environment: - - VERSION=${VERSION} command: > - bash -c "python3 setup.py sdist bdist_wheel; + bash -c "pip install build && python -m build; EXIT_CODE=$$?; chown -R `stat -c "%u:%g" .` .; exit $$EXIT_CODE" - - gremlin-socket-server: - container_name: gremlin-socket-server-python - image: tinkerpop/gremlin-socket-server:${GREMLIN_SERVER} - ports: - - "45943:45943" diff --cc gremlin-python/src/main/python/gremlin_python/__init__.py index af990d3088,7c15e28a2e..223674f9c6 --- a/gremlin-python/src/main/python/gremlin_python/__init__.py +++ b/gremlin-python/src/main/python/gremlin_python/__init__.py @@@ -18,3 -18,4 +18,4 @@@ # __author__ = 'Marko A. Rodriguez (http://markorodriguez.com)' -__version__ = '3.8.0.dev1' ++__version__ = '4.0.0.dev1' diff --cc gremlin-python/src/main/python/pyproject.toml index 0000000000,4410d5082f..2b08000022 mode 000000,100644..100644 --- a/gremlin-python/src/main/python/pyproject.toml +++ b/gremlin-python/src/main/python/pyproject.toml @@@ -1,0 -1,76 +1,78 @@@ + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF licenses this file + # to you 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. + + [build-system] + requires = ["setuptools>=60", "wheel"] + build-backend = "setuptools.build_meta" + + [project] + name = "gremlinpython" + dynamic = ["version"] + description = "Gremlin-Python for Apache TinkerPop" + readme = {file = "README.rst", content-type = "text/x-rst"} + license = {text = "Apache 2"} + maintainers = [{name = "Apache TinkerPop", email = "[email protected]"}] + requires-python = ">=3.9" + dependencies = [ + "nest_asyncio", + "aiohttp>=3.8.0,<4.0.0", + "aenum>=1.4.5,<4.0.0", + "isodate>=0.6.0,<1.0.0", - "async-timeout>=4.0.3,<5.0.0" ++ "boto3", ++ "botocore", ++ "async-timeout>=4.0.3,<5.0; python_version < \"3.11\"" + ] + classifiers = [ + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Natural Language :: English", + "Programming Language :: Python :: 3" + ] + + [project.urls] + Homepage = "https://tinkerpop.apache.org" + + [project.optional-dependencies] -kerberos = ["kerberos>=1.3.0,<2.0.0"] ++kerberos = ["kerberos>=1.3.0,<2.0.0; sys_platform != \"win32\""] + ujson = ["ujson>=2.0.0"] + test = [ + "pytest>=4.6.4,<7.2.0", + "radish-bdd==0.13.4", + "PyHamcrest>=1.9.0,<3.0.0", + "PyYAML>=5.3" + ] + + [tool.pytest.ini_options] + addopts = "--junitxml=./python-reports/TEST-native-python.xml -sv" + norecursedirs = [".*", "build", "dist", "CVS", "_darcs", "{arch}", "*.egg", "lib", "lib64"] + testpaths = ["tests"] + + [tool.setuptools.dynamic] + version = {attr = "gremlin_python.__version__"} + + [tool.setuptools.package-data] + "*" = ["LICENSE", "NOTICE"] + + [tool.setuptools] + packages = [ + "gremlin_python", + "gremlin_python.driver", + "gremlin_python.driver.aiohttp", + "gremlin_python.process", + "gremlin_python.structure", + "gremlin_python.structure.io" + ]
