diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..baa0837 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,30 @@ +## Copyright 2025 GridGain Systems, Inc. and Contributors. +# +# Licensed under the GridGain Community Edition License (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.gridgain.com/products/software/community-edition/gridgain-community-edition-license +# +# 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. + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +python: + install: + - requirements: requirements/docs.txt \ No newline at end of file diff --git a/pygridgain/__init__.py b/pygridgain/__init__.py index 770b6c7..5c38b65 100644 --- a/pygridgain/__init__.py +++ b/pygridgain/__init__.py @@ -17,4 +17,4 @@ from pygridgain.aio_client import AioClient from pygridgain.binary import GenericObjectMeta -__version__ = '1.5.0-dev' +__version__ = '1.5.0' diff --git a/requirements/docs.txt b/requirements/docs.txt index 14344ad..8fb2f92 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -2,5 +2,5 @@ # (look up the prebuilt docs in `docs/generated`) -r install.txt -Sphinx==4.3.2 +Sphinx==8.1.3 sphinxcontrib-fulltoc==1.2.0 diff --git a/scripts/build_wheels.sh b/scripts/build_wheels.sh index 8127543..f1eb7c2 100755 --- a/scripts/build_wheels.sh +++ b/scripts/build_wheels.sh @@ -17,6 +17,9 @@ set -e -u -x +PACKAGE_NAME=pygridgain +PY_VERS="cp39 cp310 cp311 cp312 cp313" + function repair_wheel { wheel="$1" if ! auditwheel show "$wheel"; then @@ -26,25 +29,34 @@ function repair_wheel { fi } -# Compile wheels -for PYBIN in /opt/python/*/bin; do - if [[ $PYBIN =~ ^(.*)cp39(.*)$ ]] || [[ $PYBIN =~ ^(.*)cp31[0123](.*)$ ]]; then - "${PYBIN}/pip" wheel /pygridgain/ --no-deps -w /wheels - fi -done +for PY_VER in $PY_VERS; do + for PYBIN in /opt/python/*/bin; do + if [[ $PYBIN =~ ^(.*)$PY_VER/(.*)$ ]]; then + echo -e "\e[32m >>> \e[0m" + echo -e "\e[32m >>> Preparing a wheel for Python $PYBIN \e[0m" + echo -e "\e[32m >>> \e[0m" -# Bundle external shared libraries into the wheels -for whl in /wheels/*.whl; do - repair_wheel "$whl" + # Compile wheels + "${PYBIN}/pip" wheel /$PACKAGE_NAME/ --no-deps -w /wheels + + # Bundle external shared libraries into the wheels + for whl in /wheels/*.whl; do + if [[ $whl =~ ^(.*)$PY_VER-(.*)$ ]] && [[ ! $whl =~ ^(.*)manylinux(.*)$ ]]; then + "${PYBIN}/pip" wheel /$PACKAGE_NAME/ --no-deps -w /wheels + repair_wheel "$whl" + fi + done + fi + done done for whl in /wheels/*.whl; do if [[ ! $whl =~ ^(.*)manylinux(.*)$ ]]; then rm "$whl" - else - chmod 666 "$whl" fi done -rm -rf /pygridgain/*.egg-info -rm -rf /pygridgain/.eggs +chown -R `stat -c "%u:%g" /wheels` /wheels/* + +rm -rf /$PACKAGE_NAME/*.egg-info +rm -rf /$PACKAGE_NAME/.eggs diff --git a/scripts/create_distr.sh b/scripts/create_distr.sh index 797f199..ee41f44 100755 --- a/scripts/create_distr.sh +++ b/scripts/create_distr.sh @@ -15,9 +15,13 @@ # limitations under the License. # +PACKAGE_NAME=pygridgain DISTR_DIR="$(pwd)/distr/" SRC_DIR="$(pwd)" -DEFAULT_DOCKER_IMAGE="quay.io/pypa/manylinux2010_x86_64" +PLATFORM_X86="manylinux2014_i686" +PLATFORM_X86_64="manylinux2014_x86_64" +DOCKER_IMAGE_X86="quay.io/pypa/$PLATFORM_X86" +DOCKER_IMAGE_X86_64="quay.io/pypa/$PLATFORM_X86_64" usage() { cat <