From ab0ec5443ffbdfb02ecbe5b39f4425716807bfdf Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 4 May 2026 13:45:46 +0200 Subject: [PATCH 1/2] Convert to v1 feedstock and use pixi as conda install tool --- conda-forge.yml | 2 ++ recipe/meta.yaml | 50 --------------------------------------------- recipe/recipe.yaml | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 50 deletions(-) delete mode 100644 recipe/meta.yaml create mode 100644 recipe/recipe.yaml diff --git a/conda-forge.yml b/conda-forge.yml index 3d5ae8b..9c4173b 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -8,3 +8,5 @@ github: tooling_branch_name: main provider: win: azure +conda_install_tool: pixi +conda_build_tool: rattler-build diff --git a/recipe/meta.yaml b/recipe/meta.yaml deleted file mode 100644 index 2ae2a58..0000000 --- a/recipe/meta.yaml +++ /dev/null @@ -1,50 +0,0 @@ -{% set name = "neo4j" %} -{% set version = "6.2.0" %} - -package: - name: neo4j-python-driver - version: {{ version }} - -source: - url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/neo4j-{{ version }}.tar.gz - sha256: e1e246b65b572bd8ea97f9e0e721b7d40a5ce53e53d0007c29aef63e4f9124d9 - -build: - number: 0 - noarch: python - script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation - -requirements: - host: - - python {{ python_min }} - - setuptools ==82.0.1 - - pip - run: - - python >={{ python_min }} - - pytz - -test: - imports: - - neo4j - - neo4j.graph - commands: - - pip check - requires: - - python {{ python_min }} - - pip - -about: - home: https://github.com/neo4j/neo4j-python-driver - summary: Neo4j Bolt driver for Python - license: Apache-2.0 AND Python-2.0 - license_file: - - LICENSE.APACHE2.txt - - LICENSE.PYTHON.txt - - LICENSE.txt - - NOTICE.txt - -extra: - recipe-maintainers: - - pvanheus - - thebestnom - - xylar diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml new file mode 100644 index 0000000..7b49e48 --- /dev/null +++ b/recipe/recipe.yaml @@ -0,0 +1,51 @@ +schema_version: 1 + +context: + name: neo4j + version: "6.2.0" + +package: + name: neo4j-python-driver + version: ${{ version }} + +source: + url: https://pypi.org/packages/source/${{ name[0] }}/${{ name }}/neo4j-${{ version }}.tar.gz + sha256: e1e246b65b572bd8ea97f9e0e721b7d40a5ce53e53d0007c29aef63e4f9124d9 + +build: + number: 1 + noarch: python + script: ${{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + +requirements: + host: + - python ${{ python_min }}.* + - setuptools ==82.0.1 + - pip + run: + - python >=${{ python_min }} + - pytz + +tests: + - python: + imports: + - neo4j + - neo4j.graph + pip_check: true + python_version: ${{ python_min }} + +about: + summary: Neo4j Bolt driver for Python + license: Apache-2.0 AND Python-2.0 + license_file: + - LICENSE.APACHE2.txt + - LICENSE.PYTHON.txt + - LICENSE.txt + - NOTICE.txt + homepage: https://github.com/neo4j/neo4j-python-driver + +extra: + recipe-maintainers: + - pvanheus + - thebestnom + - xylar From 2b53d595066b1e3e26c78fc68a91c498ba5cf4e2 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Mon, 4 May 2026 13:45:47 +0200 Subject: [PATCH 2/2] MNT: Re-rendered with conda-smithy 3.61.2 and conda-forge-pinning 2026.05.04.07.25.20 Other tools: - conda-build 26.3.0 - rattler-build 0.63.1 - rattler-build-conda-compat 1.4.14 --- .scripts/build_steps.sh | 40 +++++++++++++++++-------------- pixi.toml | 52 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 18 deletions(-) create mode 100644 pixi.toml diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index d7df163..ce848e2 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -32,11 +32,19 @@ pkgs_dirs: solver: libmamba CONDARC -mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d-%H-%M-%S) -echo > /opt/conda/conda-meta/history -micromamba install --root-prefix ~/.conda --prefix /opt/conda \ - --yes --override-channels --channel conda-forge --strict-channel-priority \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +pushd "${FEEDSTOCK_ROOT}" +arch=$(uname -m) +if [[ "$arch" == "x86_64" ]]; then + arch="64" +fi +sed -i.bak -e "s/platforms = .*/platforms = [\"linux-${arch}\"]/" -e "s/# __PLATFORM_SPECIFIC_ENV__ =/docker-build-linux-$arch =/" pixi.toml +echo "Creating environment" +PIXI_CACHE_DIR=/opt/conda pixi install --environment docker-build-linux-$arch +pixi list +echo "Activating environment" +eval "$(pixi shell-hook --environment docker-build-linux-$arch)" +mv pixi.toml.bak pixi.toml +popd export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc @@ -58,20 +66,16 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - - # Drop into an interactive shell - /bin/bash + echo "rattler-build currently doesn't support debug mode" else - conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ - --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + + rattler-build build --recipe "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --target-platform "${HOST_PLATFORM}" \ + --extra-meta flow_run_id="${flow_run_id:-}" \ + --extra-meta remote_url="${remote_url:-}" \ + --extra-meta sha="${sha:-}" ( startgroup "Inspecting artifacts" ) 2> /dev/null # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 diff --git a/pixi.toml b/pixi.toml new file mode 100644 index 0000000..80ab692 --- /dev/null +++ b/pixi.toml @@ -0,0 +1,52 @@ +# -*- mode: toml -*- +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. +"$schema" = "https://pixi.sh/v0.59.0/schema/manifest/schema.json" + +[workspace] +name = "neo4j-python-driver-feedstock" +version = "3.61.2" # conda-smithy version used to generate this file +description = "Pixi configuration for conda-forge/neo4j-python-driver-feedstock" +authors = ["@conda-forge/neo4j-python-driver"] +channels = ["conda-forge"] +platforms = ["linux-64", "osx-64", "win-64"] +requires-pixi = ">=0.59.0" + +[dependencies] +conda-build = ">=24.1" +conda-forge-ci-setup = "4.*" +rattler-build = "*" + +[tasks.inspect-all] +cmd = "inspect_artifacts --all-packages" +description = "List contents of all packages found in rattler-build build directory." +[tasks.build] +cmd = "rattler-build build --recipe recipe" +description = "Build neo4j-python-driver-feedstock directly (without setup scripts), no particular variant specified" +[tasks."build-linux_64_"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_.yaml" +description = "Build neo4j-python-driver-feedstock with variant linux_64_ directly (without setup scripts)" +[tasks."inspect-linux_64_"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_.yaml" +description = "List contents of neo4j-python-driver-feedstock packages built for variant linux_64_" + +[feature.smithy.dependencies] +conda-smithy = "*" +[feature.smithy.tasks.build-locally] +cmd = "python ./build-locally.py" +description = "Build packages locally using the same setup scripts used in conda-forge's CI" +[feature.smithy.tasks.smithy] +cmd = "conda-smithy" +description = "Run conda-smithy. Pass necessary arguments." +[feature.smithy.tasks.rerender] +cmd = "conda-smithy rerender" +description = "Rerender the feedstock." +[feature.smithy.tasks.lint] +cmd = "conda-smithy lint --conda-forge recipe" +description = "Lint the feedstock recipe" + +[environments] +smithy = ["smithy"] + +# This is a copy of default, to be enabled by build_steps.sh during Docker builds +# __PLATFORM_SPECIFIC_ENV__ = []