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"
+ ]

Reply via email to