├── recipe ├── cargo-auditable-wrapper.bat ├── cargo-auditable-wrapper.sh ├── conda_build_config.yaml ├── build_polars_runtime.bat ├── build_polars_runtime.sh └── recipe.yaml ├── .github └── CODEOWNERS ├── .ci_support ├── README ├── win_64_polars_runtime32python3.10.____cpython.yaml ├── win_64_polars_runtime64python3.10.____cpython.yaml ├── win_64_polars_runtimecompatpython3.10.____cpython.yaml ├── linux_64_polars_runtime32python3.10.____cpython.yaml ├── linux_64_polars_runtime64python3.10.____cpython.yaml ├── linux_64_polars_runtimecompatpython3.10.____cpython.yaml ├── linux_aarch64_polars_runtime32python3.10.____cpython.yaml ├── linux_aarch64_polars_runtime64python3.10.____cpython.yaml ├── linux_aarch64_polars_runtimecompatpython3.10.____cpython.yaml ├── osx_64_polars_runtime32python3.10.____cpython.yaml ├── osx_64_polars_runtime64python3.10.____cpython.yaml ├── osx_arm64_polars_runtime32python3.10.____cpython.yaml ├── osx_arm64_polars_runtime64python3.10.____cpython.yaml ├── osx_64_polars_runtimecompatpython3.10.____cpython.yaml └── osx_arm64_polars_runtimecompatpython3.10.____cpython.yaml ├── conda-forge.yml ├── .circleci └── config.yml ├── .gitattributes ├── .gitignore ├── .scripts ├── logging_utils.sh ├── run_osx_build.sh ├── build_steps.sh ├── run_docker_build.sh └── run_win_build.bat ├── azure-pipelines.yml ├── LICENSE.txt ├── .azure-pipelines ├── azure-pipelines-win.yml ├── azure-pipelines-osx.yml └── azure-pipelines-linux.yml ├── pixi.toml └── README.md /recipe/cargo-auditable-wrapper.bat: -------------------------------------------------------------------------------- 1 | cargo auditable %* 2 | -------------------------------------------------------------------------------- /recipe/cargo-auditable-wrapper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec cargo auditable $* 3 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @0xbe7a @Maxyme @borchero @dhirschfeld @pavelzw @ritchie46 @sugatoray @timkpaine @xhochy -------------------------------------------------------------------------------- /recipe/conda_build_config.yaml: -------------------------------------------------------------------------------- 1 | channel_sources: 2 | - conda-forge/label/rust_dev,conda-forge 3 | channel_targets: 4 | - conda-forge main 5 | 6 | polars_runtime: 7 | - "32" 8 | - "64" 9 | - "compat" 10 | -------------------------------------------------------------------------------- /.ci_support/README: -------------------------------------------------------------------------------- 1 | This file is automatically generated by conda-smithy. If any 2 | particular build configuration is expected, but it is not found, 3 | please make sure all dependencies are satisfiable. To add/modify any 4 | matrix elements, you should create/change conda-smithy's input 5 | recipe/conda_build_config.yaml and re-render the recipe, rather than 6 | editing these files directly. 7 | -------------------------------------------------------------------------------- /.ci_support/win_64_polars_runtime32python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - vs2022 3 | c_stdlib: 4 | - vs 5 | channel_sources: 6 | - conda-forge/label/rust_dev,conda-forge 7 | channel_targets: 8 | - conda-forge main 9 | cxx_compiler: 10 | - vs2022 11 | is_abi3: 12 | - true 13 | pin_run_as_build: 14 | python: 15 | min_pin: x.x 16 | max_pin: x.x 17 | polars_runtime: 18 | - '32' 19 | python: 20 | - 3.10.* *_cpython 21 | python_min: 22 | - '3.10' 23 | rust_compiler: 24 | - rust 25 | target_platform: 26 | - win-64 27 | -------------------------------------------------------------------------------- /.ci_support/win_64_polars_runtime64python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - vs2022 3 | c_stdlib: 4 | - vs 5 | channel_sources: 6 | - conda-forge/label/rust_dev,conda-forge 7 | channel_targets: 8 | - conda-forge main 9 | cxx_compiler: 10 | - vs2022 11 | is_abi3: 12 | - true 13 | pin_run_as_build: 14 | python: 15 | min_pin: x.x 16 | max_pin: x.x 17 | polars_runtime: 18 | - '64' 19 | python: 20 | - 3.10.* *_cpython 21 | python_min: 22 | - '3.10' 23 | rust_compiler: 24 | - rust 25 | target_platform: 26 | - win-64 27 | -------------------------------------------------------------------------------- /.ci_support/win_64_polars_runtimecompatpython3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - vs2022 3 | c_stdlib: 4 | - vs 5 | channel_sources: 6 | - conda-forge/label/rust_dev,conda-forge 7 | channel_targets: 8 | - conda-forge main 9 | cxx_compiler: 10 | - vs2022 11 | is_abi3: 12 | - true 13 | pin_run_as_build: 14 | python: 15 | min_pin: x.x 16 | max_pin: x.x 17 | polars_runtime: 18 | - compat 19 | python: 20 | - 3.10.* *_cpython 21 | python_min: 22 | - '3.10' 23 | rust_compiler: 24 | - rust 25 | target_platform: 26 | - win-64 27 | -------------------------------------------------------------------------------- /conda-forge.yml: -------------------------------------------------------------------------------- 1 | azure: 2 | free_disk_space: true 3 | max_parallel: 25 4 | settings_linux: 5 | swapfile_size: 15GiB 6 | settings_win: 7 | variables: 8 | SET_PAGEFILE: 'True' 9 | CONDA_BLD_PATH: C:\\bld\\ 10 | bot: 11 | automerge: true 12 | build_platform: 13 | linux_aarch64: linux_64 14 | osx_arm64: osx_64 15 | conda_build: 16 | pkg_format: '2' 17 | conda_forge_output_validation: true 18 | github: 19 | branch_name: main 20 | tooling_branch_name: main 21 | test: native_and_emulated 22 | conda_build_tool: rattler-build 23 | conda_install_tool: pixi 24 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: jinja-yaml -*- 4 | 5 | version: 2 6 | 7 | jobs: 8 | build: 9 | working_directory: ~/test 10 | machine: 11 | image: ubuntu-2004:current 12 | steps: 13 | - run: 14 | # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. 15 | command: exit 0 16 | 17 | workflows: 18 | version: 2 19 | build_and_test: 20 | jobs: 21 | - build: 22 | filters: 23 | branches: 24 | ignore: 25 | - /.*/ 26 | -------------------------------------------------------------------------------- /.ci_support/linux_64_polars_runtime32python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - gcc 3 | c_compiler_version: 4 | - '14' 5 | c_stdlib: 6 | - sysroot 7 | c_stdlib_version: 8 | - '2.17' 9 | channel_sources: 10 | - conda-forge/label/rust_dev,conda-forge 11 | channel_targets: 12 | - conda-forge main 13 | cxx_compiler: 14 | - gxx 15 | cxx_compiler_version: 16 | - '14' 17 | docker_image: 18 | - quay.io/condaforge/linux-anvil-x86_64:alma9 19 | is_abi3: 20 | - true 21 | pin_run_as_build: 22 | python: 23 | min_pin: x.x 24 | max_pin: x.x 25 | polars_runtime: 26 | - '32' 27 | python: 28 | - 3.10.* *_cpython 29 | python_min: 30 | - '3.10' 31 | rust_compiler: 32 | - rust 33 | target_platform: 34 | - linux-64 35 | zip_keys: 36 | - - c_compiler_version 37 | - cxx_compiler_version 38 | -------------------------------------------------------------------------------- /.ci_support/linux_64_polars_runtime64python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - gcc 3 | c_compiler_version: 4 | - '14' 5 | c_stdlib: 6 | - sysroot 7 | c_stdlib_version: 8 | - '2.17' 9 | channel_sources: 10 | - conda-forge/label/rust_dev,conda-forge 11 | channel_targets: 12 | - conda-forge main 13 | cxx_compiler: 14 | - gxx 15 | cxx_compiler_version: 16 | - '14' 17 | docker_image: 18 | - quay.io/condaforge/linux-anvil-x86_64:alma9 19 | is_abi3: 20 | - true 21 | pin_run_as_build: 22 | python: 23 | min_pin: x.x 24 | max_pin: x.x 25 | polars_runtime: 26 | - '64' 27 | python: 28 | - 3.10.* *_cpython 29 | python_min: 30 | - '3.10' 31 | rust_compiler: 32 | - rust 33 | target_platform: 34 | - linux-64 35 | zip_keys: 36 | - - c_compiler_version 37 | - cxx_compiler_version 38 | -------------------------------------------------------------------------------- /.ci_support/linux_64_polars_runtimecompatpython3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - gcc 3 | c_compiler_version: 4 | - '14' 5 | c_stdlib: 6 | - sysroot 7 | c_stdlib_version: 8 | - '2.17' 9 | channel_sources: 10 | - conda-forge/label/rust_dev,conda-forge 11 | channel_targets: 12 | - conda-forge main 13 | cxx_compiler: 14 | - gxx 15 | cxx_compiler_version: 16 | - '14' 17 | docker_image: 18 | - quay.io/condaforge/linux-anvil-x86_64:alma9 19 | is_abi3: 20 | - true 21 | pin_run_as_build: 22 | python: 23 | min_pin: x.x 24 | max_pin: x.x 25 | polars_runtime: 26 | - compat 27 | python: 28 | - 3.10.* *_cpython 29 | python_min: 30 | - '3.10' 31 | rust_compiler: 32 | - rust 33 | target_platform: 34 | - linux-64 35 | zip_keys: 36 | - - c_compiler_version 37 | - cxx_compiler_version 38 | -------------------------------------------------------------------------------- /.ci_support/linux_aarch64_polars_runtime32python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - gcc 3 | c_compiler_version: 4 | - '14' 5 | c_stdlib: 6 | - sysroot 7 | c_stdlib_version: 8 | - '2.17' 9 | channel_sources: 10 | - conda-forge/label/rust_dev,conda-forge 11 | channel_targets: 12 | - conda-forge main 13 | cxx_compiler: 14 | - gxx 15 | cxx_compiler_version: 16 | - '14' 17 | docker_image: 18 | - quay.io/condaforge/linux-anvil-x86_64:alma9 19 | is_abi3: 20 | - true 21 | pin_run_as_build: 22 | python: 23 | min_pin: x.x 24 | max_pin: x.x 25 | polars_runtime: 26 | - '32' 27 | python: 28 | - 3.10.* *_cpython 29 | python_min: 30 | - '3.10' 31 | rust_compiler: 32 | - rust 33 | target_platform: 34 | - linux-aarch64 35 | zip_keys: 36 | - - c_compiler_version 37 | - cxx_compiler_version 38 | -------------------------------------------------------------------------------- /.ci_support/linux_aarch64_polars_runtime64python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - gcc 3 | c_compiler_version: 4 | - '14' 5 | c_stdlib: 6 | - sysroot 7 | c_stdlib_version: 8 | - '2.17' 9 | channel_sources: 10 | - conda-forge/label/rust_dev,conda-forge 11 | channel_targets: 12 | - conda-forge main 13 | cxx_compiler: 14 | - gxx 15 | cxx_compiler_version: 16 | - '14' 17 | docker_image: 18 | - quay.io/condaforge/linux-anvil-x86_64:alma9 19 | is_abi3: 20 | - true 21 | pin_run_as_build: 22 | python: 23 | min_pin: x.x 24 | max_pin: x.x 25 | polars_runtime: 26 | - '64' 27 | python: 28 | - 3.10.* *_cpython 29 | python_min: 30 | - '3.10' 31 | rust_compiler: 32 | - rust 33 | target_platform: 34 | - linux-aarch64 35 | zip_keys: 36 | - - c_compiler_version 37 | - cxx_compiler_version 38 | -------------------------------------------------------------------------------- /.ci_support/linux_aarch64_polars_runtimecompatpython3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | c_compiler: 2 | - gcc 3 | c_compiler_version: 4 | - '14' 5 | c_stdlib: 6 | - sysroot 7 | c_stdlib_version: 8 | - '2.17' 9 | channel_sources: 10 | - conda-forge/label/rust_dev,conda-forge 11 | channel_targets: 12 | - conda-forge main 13 | cxx_compiler: 14 | - gxx 15 | cxx_compiler_version: 16 | - '14' 17 | docker_image: 18 | - quay.io/condaforge/linux-anvil-x86_64:alma9 19 | is_abi3: 20 | - true 21 | pin_run_as_build: 22 | python: 23 | min_pin: x.x 24 | max_pin: x.x 25 | polars_runtime: 26 | - compat 27 | python: 28 | - 3.10.* *_cpython 29 | python_min: 30 | - '3.10' 31 | rust_compiler: 32 | - rust 33 | target_platform: 34 | - linux-aarch64 35 | zip_keys: 36 | - - c_compiler_version 37 | - cxx_compiler_version 38 | -------------------------------------------------------------------------------- /.ci_support/osx_64_polars_runtime32python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | MACOSX_DEPLOYMENT_TARGET: 2 | - '10.13' 3 | MACOSX_SDK_VERSION: 4 | - '10.13' 5 | c_compiler: 6 | - clang 7 | c_compiler_version: 8 | - '19' 9 | c_stdlib: 10 | - macosx_deployment_target 11 | c_stdlib_version: 12 | - '10.13' 13 | channel_sources: 14 | - conda-forge/label/rust_dev,conda-forge 15 | channel_targets: 16 | - conda-forge main 17 | cxx_compiler: 18 | - clangxx 19 | cxx_compiler_version: 20 | - '19' 21 | is_abi3: 22 | - true 23 | macos_machine: 24 | - x86_64-apple-darwin13.4.0 25 | pin_run_as_build: 26 | python: 27 | min_pin: x.x 28 | max_pin: x.x 29 | polars_runtime: 30 | - '32' 31 | python: 32 | - 3.10.* *_cpython 33 | python_min: 34 | - '3.10' 35 | rust_compiler: 36 | - rust 37 | target_platform: 38 | - osx-64 39 | zip_keys: 40 | - - c_compiler_version 41 | - cxx_compiler_version 42 | -------------------------------------------------------------------------------- /.ci_support/osx_64_polars_runtime64python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | MACOSX_DEPLOYMENT_TARGET: 2 | - '10.13' 3 | MACOSX_SDK_VERSION: 4 | - '10.13' 5 | c_compiler: 6 | - clang 7 | c_compiler_version: 8 | - '19' 9 | c_stdlib: 10 | - macosx_deployment_target 11 | c_stdlib_version: 12 | - '10.13' 13 | channel_sources: 14 | - conda-forge/label/rust_dev,conda-forge 15 | channel_targets: 16 | - conda-forge main 17 | cxx_compiler: 18 | - clangxx 19 | cxx_compiler_version: 20 | - '19' 21 | is_abi3: 22 | - true 23 | macos_machine: 24 | - x86_64-apple-darwin13.4.0 25 | pin_run_as_build: 26 | python: 27 | min_pin: x.x 28 | max_pin: x.x 29 | polars_runtime: 30 | - '64' 31 | python: 32 | - 3.10.* *_cpython 33 | python_min: 34 | - '3.10' 35 | rust_compiler: 36 | - rust 37 | target_platform: 38 | - osx-64 39 | zip_keys: 40 | - - c_compiler_version 41 | - cxx_compiler_version 42 | -------------------------------------------------------------------------------- /.ci_support/osx_arm64_polars_runtime32python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | MACOSX_DEPLOYMENT_TARGET: 2 | - '11.0' 3 | MACOSX_SDK_VERSION: 4 | - '11.0' 5 | c_compiler: 6 | - clang 7 | c_compiler_version: 8 | - '19' 9 | c_stdlib: 10 | - macosx_deployment_target 11 | c_stdlib_version: 12 | - '11.0' 13 | channel_sources: 14 | - conda-forge/label/rust_dev,conda-forge 15 | channel_targets: 16 | - conda-forge main 17 | cxx_compiler: 18 | - clangxx 19 | cxx_compiler_version: 20 | - '19' 21 | is_abi3: 22 | - true 23 | macos_machine: 24 | - arm64-apple-darwin20.0.0 25 | pin_run_as_build: 26 | python: 27 | min_pin: x.x 28 | max_pin: x.x 29 | polars_runtime: 30 | - '32' 31 | python: 32 | - 3.10.* *_cpython 33 | python_min: 34 | - '3.10' 35 | rust_compiler: 36 | - rust 37 | target_platform: 38 | - osx-arm64 39 | zip_keys: 40 | - - c_compiler_version 41 | - cxx_compiler_version 42 | -------------------------------------------------------------------------------- /.ci_support/osx_arm64_polars_runtime64python3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | MACOSX_DEPLOYMENT_TARGET: 2 | - '11.0' 3 | MACOSX_SDK_VERSION: 4 | - '11.0' 5 | c_compiler: 6 | - clang 7 | c_compiler_version: 8 | - '19' 9 | c_stdlib: 10 | - macosx_deployment_target 11 | c_stdlib_version: 12 | - '11.0' 13 | channel_sources: 14 | - conda-forge/label/rust_dev,conda-forge 15 | channel_targets: 16 | - conda-forge main 17 | cxx_compiler: 18 | - clangxx 19 | cxx_compiler_version: 20 | - '19' 21 | is_abi3: 22 | - true 23 | macos_machine: 24 | - arm64-apple-darwin20.0.0 25 | pin_run_as_build: 26 | python: 27 | min_pin: x.x 28 | max_pin: x.x 29 | polars_runtime: 30 | - '64' 31 | python: 32 | - 3.10.* *_cpython 33 | python_min: 34 | - '3.10' 35 | rust_compiler: 36 | - rust 37 | target_platform: 38 | - osx-arm64 39 | zip_keys: 40 | - - c_compiler_version 41 | - cxx_compiler_version 42 | -------------------------------------------------------------------------------- /.ci_support/osx_64_polars_runtimecompatpython3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | MACOSX_DEPLOYMENT_TARGET: 2 | - '10.13' 3 | MACOSX_SDK_VERSION: 4 | - '10.13' 5 | c_compiler: 6 | - clang 7 | c_compiler_version: 8 | - '19' 9 | c_stdlib: 10 | - macosx_deployment_target 11 | c_stdlib_version: 12 | - '10.13' 13 | channel_sources: 14 | - conda-forge/label/rust_dev,conda-forge 15 | channel_targets: 16 | - conda-forge main 17 | cxx_compiler: 18 | - clangxx 19 | cxx_compiler_version: 20 | - '19' 21 | is_abi3: 22 | - true 23 | macos_machine: 24 | - x86_64-apple-darwin13.4.0 25 | pin_run_as_build: 26 | python: 27 | min_pin: x.x 28 | max_pin: x.x 29 | polars_runtime: 30 | - compat 31 | python: 32 | - 3.10.* *_cpython 33 | python_min: 34 | - '3.10' 35 | rust_compiler: 36 | - rust 37 | target_platform: 38 | - osx-64 39 | zip_keys: 40 | - - c_compiler_version 41 | - cxx_compiler_version 42 | -------------------------------------------------------------------------------- /.ci_support/osx_arm64_polars_runtimecompatpython3.10.____cpython.yaml: -------------------------------------------------------------------------------- 1 | MACOSX_DEPLOYMENT_TARGET: 2 | - '11.0' 3 | MACOSX_SDK_VERSION: 4 | - '11.0' 5 | c_compiler: 6 | - clang 7 | c_compiler_version: 8 | - '19' 9 | c_stdlib: 10 | - macosx_deployment_target 11 | c_stdlib_version: 12 | - '11.0' 13 | channel_sources: 14 | - conda-forge/label/rust_dev,conda-forge 15 | channel_targets: 16 | - conda-forge main 17 | cxx_compiler: 18 | - clangxx 19 | cxx_compiler_version: 20 | - '19' 21 | is_abi3: 22 | - true 23 | macos_machine: 24 | - arm64-apple-darwin20.0.0 25 | pin_run_as_build: 26 | python: 27 | min_pin: x.x 28 | max_pin: x.x 29 | polars_runtime: 30 | - compat 31 | python: 32 | - 3.10.* *_cpython 33 | python_min: 34 | - '3.10' 35 | rust_compiler: 36 | - rust 37 | target_platform: 38 | - osx-arm64 39 | zip_keys: 40 | - - c_compiler_version 41 | - cxx_compiler_version 42 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.patch binary 4 | *.diff binary 5 | meta.yaml text eol=lf 6 | build.sh text eol=lf 7 | bld.bat text eol=crlf 8 | 9 | # github helper pieces to make some files not show up in diffs automatically 10 | .azure-pipelines/* linguist-generated=true 11 | .circleci/* linguist-generated=true 12 | .ci_support/README linguist-generated=true 13 | .drone/* linguist-generated=true 14 | .drone.yml linguist-generated=true 15 | .github/* linguist-generated=true 16 | .travis/* linguist-generated=true 17 | .appveyor.yml linguist-generated=true 18 | .gitattributes linguist-generated=true 19 | .gitignore linguist-generated=true 20 | .travis.yml linguist-generated=true 21 | .scripts/* linguist-generated=true 22 | .woodpecker.yml linguist-generated=true 23 | /LICENSE.txt linguist-generated=true 24 | /README.md linguist-generated=true 25 | azure-pipelines.yml linguist-generated=true 26 | build-locally.py linguist-generated=true 27 | pixi.toml linguist-generated=true 28 | shippable.yml linguist-generated=true 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # User content belongs under recipe/. 2 | # Feedstock configuration goes in `conda-forge.yml` 3 | # Everything else is managed by the conda-smithy rerender process. 4 | # Please do not modify 5 | 6 | # Ignore all files and folders in root 7 | * 8 | !/conda-forge.yml 9 | 10 | # Don't ignore any files/folders if the parent folder is 'un-ignored' 11 | # This also avoids warnings when adding an already-checked file with an ignored parent. 12 | !/**/ 13 | # Don't ignore any files/folders recursively in the following folders 14 | !/recipe/** 15 | !/.ci_support/** 16 | 17 | # Since we ignore files/folders recursively, any folders inside 18 | # build_artifacts gets ignored which trips some build systems. 19 | # To avoid that we 'un-ignore' all files/folders recursively 20 | # and only ignore the root build_artifacts folder. 21 | !/build_artifacts/** 22 | /build_artifacts 23 | 24 | *.pyc 25 | 26 | # Rattler-build's artifacts are in `output` when not specifying anything. 27 | /output 28 | # Pixi's configuration 29 | .pixi 30 | -------------------------------------------------------------------------------- /.scripts/logging_utils.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Provide a unified interface for the different logging 4 | # utilities CI providers offer. If unavailable, provide 5 | # a compatible fallback (e.g. bare `echo xxxxxx`). 6 | 7 | function startgroup { 8 | # Start a foldable group of log lines 9 | # Pass a single argument, quoted 10 | case ${CI:-} in 11 | azure ) 12 | echo "##[group]$1";; 13 | travis ) 14 | echo "$1" 15 | echo -en 'travis_fold:start:'"${1// /}"'\r';; 16 | github_actions ) 17 | echo "::group::$1";; 18 | * ) 19 | echo "$1";; 20 | esac 21 | } 2> /dev/null 22 | 23 | function endgroup { 24 | # End a foldable group of log lines 25 | # Pass a single argument, quoted 26 | 27 | case ${CI:-} in 28 | azure ) 29 | echo "##[endgroup]";; 30 | travis ) 31 | echo -en 'travis_fold:end:'"${1// /}"'\r';; 32 | github_actions ) 33 | echo "::endgroup::";; 34 | esac 35 | } 2> /dev/null 36 | -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: yaml -*- 4 | 5 | stages: 6 | - stage: Check 7 | jobs: 8 | - job: Skip 9 | pool: 10 | vmImage: 'ubuntu-22.04' 11 | variables: 12 | DECODE_PERCENTS: 'false' 13 | RET: 'true' 14 | steps: 15 | - checkout: self 16 | fetchDepth: '2' 17 | - bash: | 18 | git_log=`git log --max-count=1 --skip=1 --pretty=format:"%B" | tr "\n" " "` 19 | echo "##vso[task.setvariable variable=log]$git_log" 20 | displayName: Obtain commit message 21 | - bash: echo "##vso[task.setvariable variable=RET]false" 22 | condition: and(eq(variables['Build.Reason'], 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))) 23 | displayName: Skip build? 24 | - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET" 25 | name: result 26 | displayName: Export result 27 | - stage: Build 28 | condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) 29 | dependsOn: Check 30 | jobs: 31 | - template: ./.azure-pipelines/azure-pipelines-linux.yml 32 | - template: ./.azure-pipelines/azure-pipelines-osx.yml 33 | - template: ./.azure-pipelines/azure-pipelines-win.yml -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | BSD-3-Clause license 2 | Copyright (c) 2015-2022, conda-forge contributors 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, 9 | this list of conditions and the following disclaimer. 10 | 2. Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 3. Neither the name of the copyright holder nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR 21 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 27 | DAMAGE. 28 | -------------------------------------------------------------------------------- /.azure-pipelines/azure-pipelines-win.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: yaml -*- 4 | 5 | jobs: 6 | - job: win 7 | pool: 8 | vmImage: windows-2022 9 | strategy: 10 | matrix: 11 | win_64_polars_runtime32python3.10.____cpython: 12 | CONFIG: win_64_polars_runtime32python3.10.____cpython 13 | UPLOAD_PACKAGES: 'True' 14 | win_64_polars_runtime64python3.10.____cpython: 15 | CONFIG: win_64_polars_runtime64python3.10.____cpython 16 | UPLOAD_PACKAGES: 'True' 17 | win_64_polars_runtimecompatpython3.10.____cpython: 18 | CONFIG: win_64_polars_runtimecompatpython3.10.____cpython 19 | UPLOAD_PACKAGES: 'True' 20 | timeoutInMinutes: 360 21 | variables: 22 | CONDA_BLD_PATH: C:\\bld\\ 23 | MINIFORGE_HOME: D:\Miniforge 24 | SET_PAGEFILE: 'True' 25 | UPLOAD_TEMP: D:\\tmp 26 | 27 | steps: 28 | 29 | - script: | 30 | call ".scripts\run_win_build.bat" 31 | displayName: Run Windows build 32 | env: 33 | MINIFORGE_HOME: $(MINIFORGE_HOME) 34 | CONDA_BLD_PATH: $(CONDA_BLD_PATH) 35 | PYTHONUNBUFFERED: 1 36 | CONFIG: $(CONFIG) 37 | CI: azure 38 | flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt) 39 | remote_url: $(Build.Repository.Uri) 40 | sha: $(Build.SourceVersion) 41 | UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) 42 | UPLOAD_TEMP: $(UPLOAD_TEMP) 43 | BINSTAR_TOKEN: $(BINSTAR_TOKEN) 44 | FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) 45 | STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) 46 | -------------------------------------------------------------------------------- /recipe/build_polars_runtime.bat: -------------------------------------------------------------------------------- 1 | cd %PKG_NAME% 2 | 3 | wmic logicaldisk get deviceid,size,freespace,caption 4 | 5 | set arch=x86_64 6 | 7 | @rem Remove this wrapper once https://github.com/conda-forge/rust-activation-feedstock/pull/79 is merged 8 | if %ERRORLEVEL% neq 0 exit 1 9 | copy %RECIPE_DIR%\cargo-auditable-wrapper.bat %BUILD_PREFIX%\Library\bin\cargo-auditable-wrapper.bat 10 | if %ERRORLEVEL% neq 0 exit 1 11 | set "CARGO=cargo-auditable-wrapper.bat" 12 | 13 | rem see https://github.com/pola-rs/polars/blob/main/.github/workflows/release-python.yml 14 | set COMPAT_TUNE_CPU= 15 | set COMPAT_FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b 16 | set COMPAT_CC_FEATURES=-msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt -mcx16 17 | 18 | set NONCOMPAT_TUNE_CPU=skylake 19 | set NONCOMPAT_FEATURES=+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe 20 | set NONCOMPAT_CC_FEATURES=-msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt -mcx16 -mavx -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mpclmul -mmovbe 21 | 22 | if "%arch%"=="x86_64" ( 23 | if "%PKG_NAME%"=="polars-runtime-compat" ( 24 | set tune_cpu=%COMPAT_TUNE_CPU% 25 | set features=%COMPAT_FEATURES% 26 | set cc_features=%COMPAT_CC_FEATURES% 27 | ) else ( 28 | set tune_cpu=%NONCOMPAT_TUNE_CPU% 29 | set features=%NONCOMPAT_FEATURES% 30 | set cc_features=%NONCOMPAT_CC_FEATURES% 31 | ) 32 | ) 33 | 34 | if "%PKG_NAME%"=="polars-runtime-compat" ( 35 | set cfg=--cfg allocator="default" 36 | ) else ( 37 | set cfg= 38 | ) 39 | 40 | if "%tune_cpu%"=="" ( 41 | set RUSTFLAGS=-C target-feature=%features% %cfg% 42 | set CFLAGS=%CFLAGS% %cc_features% 43 | ) else ( 44 | set RUSTFLAGS=-C target-feature=%features% -Z tune-cpu=%tune_cpu% %cfg% 45 | set CFLAGS=%CFLAGS% %cc_features% -mtune=%tune_cpu% 46 | ) 47 | 48 | maturin build --release 49 | if %ERRORLEVEL% neq 0 exit %ERRORLEVEL% 50 | %PYTHON% -m pip install --find-links=target\wheels %PKG_NAME% 51 | if %ERRORLEVEL% neq 0 exit %ERRORLEVEL% 52 | 53 | cd .\py-polars\runtime 54 | cargo-bundle-licenses --format yaml --output ..\..\THIRDPARTY.yml 55 | -------------------------------------------------------------------------------- /.azure-pipelines/azure-pipelines-osx.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: yaml -*- 4 | 5 | jobs: 6 | - job: osx 7 | pool: 8 | vmImage: macOS-15 9 | strategy: 10 | matrix: 11 | osx_64_polars_runtime32python3.10.____cpython: 12 | CONFIG: osx_64_polars_runtime32python3.10.____cpython 13 | UPLOAD_PACKAGES: 'True' 14 | osx_64_polars_runtime64python3.10.____cpython: 15 | CONFIG: osx_64_polars_runtime64python3.10.____cpython 16 | UPLOAD_PACKAGES: 'True' 17 | osx_64_polars_runtimecompatpython3.10.____cpython: 18 | CONFIG: osx_64_polars_runtimecompatpython3.10.____cpython 19 | UPLOAD_PACKAGES: 'True' 20 | osx_arm64_polars_runtime32python3.10.____cpython: 21 | CONFIG: osx_arm64_polars_runtime32python3.10.____cpython 22 | UPLOAD_PACKAGES: 'True' 23 | osx_arm64_polars_runtime64python3.10.____cpython: 24 | CONFIG: osx_arm64_polars_runtime64python3.10.____cpython 25 | UPLOAD_PACKAGES: 'True' 26 | osx_arm64_polars_runtimecompatpython3.10.____cpython: 27 | CONFIG: osx_arm64_polars_runtimecompatpython3.10.____cpython 28 | UPLOAD_PACKAGES: 'True' 29 | timeoutInMinutes: 360 30 | variables: {} 31 | 32 | steps: 33 | # TODO: Fast finish on azure pipelines? 34 | - script: | 35 | export CI=azure 36 | export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) 37 | export remote_url=$(Build.Repository.Uri) 38 | export sha=$(Build.SourceVersion) 39 | export OSX_FORCE_SDK_DOWNLOAD="1" 40 | export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME 41 | export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) 42 | if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then 43 | export IS_PR_BUILD="True" 44 | else 45 | export IS_PR_BUILD="False" 46 | fi 47 | ./.scripts/run_osx_build.sh 48 | displayName: Run OSX build 49 | env: 50 | BINSTAR_TOKEN: $(BINSTAR_TOKEN) 51 | FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) 52 | STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) 53 | -------------------------------------------------------------------------------- /recipe/build_polars_runtime.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -euxo pipefail 4 | 5 | cd $PKG_NAME 6 | 7 | # Remove this wrapper once https://github.com/conda-forge/rust-activation-feedstock/pull/79 is merged 8 | mkdir -p ${BUILD_PREFIX}/bin 9 | cp ${RECIPE_DIR}/cargo-auditable-wrapper.sh ${BUILD_PREFIX}/bin/cargo-auditable-wrapper 10 | export CARGO="cargo-auditable-wrapper" 11 | export CARGO_PROFILE_RELEASE_STRIP=symbols 12 | 13 | # see https://github.com/pola-rs/polars/blob/main/.github/workflows/release-python.yml 14 | COMPAT_TUNE_CPU='' 15 | COMPAT_FEATURES='+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b' 16 | COMPAT_CC_FEATURES='-msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt -mcx16' 17 | 18 | NONCOMPAT_TUNE_CPU='skylake' 19 | NONCOMPAT_FEATURES='+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+cmpxchg16b,+avx,+avx2,+fma,+bmi1,+bmi2,+lzcnt,+pclmulqdq,+movbe' 20 | NONCOMPAT_CC_FEATURES='-msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt -mcx16 -mavx -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mpclmul -mmovbe' 21 | 22 | 23 | case "${target_platform}" in 24 | linux-aarch64|osx-arm64) 25 | arch="aarch64" 26 | ;; 27 | *) 28 | arch="x86_64" 29 | ;; 30 | esac 31 | 32 | if [[ $arch == "x86_64" ]]; then 33 | if [[ $PKG_NAME == "polars-runtime-compat" ]]; then 34 | TUNE_CPU="$COMPAT_TUNE_CPU" 35 | FEATURES="$COMPAT_FEATURES" 36 | CC_FEATURES="$COMPAT_CC_FEATURES" 37 | else 38 | TUNE_CPU="$NONCOMPAT_TUNE_CPU" 39 | FEATURES="$NONCOMPAT_FEATURES" 40 | CC_FEATURES="$NONCOMPAT_CC_FEATURES" 41 | fi 42 | 43 | if [[ $PKG_NAME == polars-runtime-compat ]]; then 44 | CFG='--cfg allocator="default"' 45 | fi 46 | 47 | if [[ -z "${TUNE_CPU:-}" ]]; then 48 | export RUSTFLAGS="-C target-feature=$FEATURES ${CFG:-}" 49 | export CFLAGS="$CFLAGS $CC_FEATURES" 50 | else 51 | export RUSTFLAGS="-C target-feature=$FEATURES -Z tune-cpu=$TUNE_CPU ${CFG:-}" 52 | export CFLAGS="$CFLAGS $CC_FEATURES -mtune=$TUNE_CPU" 53 | fi 54 | fi 55 | 56 | 57 | 58 | if [[ $target_platform == "linux-aarch64" ]]; then 59 | export JEMALLOC_SYS_WITH_LG_PAGE=16 60 | fi 61 | 62 | $PYTHON -m pip install . -vv 63 | 64 | # The root level Cargo.toml is part of an incomplete workspace 65 | # we need to use the manifest inside the py-polars 66 | cd py-polars/runtime 67 | cargo-bundle-licenses --format yaml --output ../../THIRDPARTY.yml 68 | -------------------------------------------------------------------------------- /.scripts/run_osx_build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # -*- mode: jinja-shell -*- 4 | 5 | source .scripts/logging_utils.sh 6 | 7 | set -xe 8 | 9 | MINIFORGE_HOME="${MINIFORGE_HOME:-${HOME}/miniforge3}" 10 | MINIFORGE_HOME="${MINIFORGE_HOME%/}" # remove trailing slash 11 | export CONDA_BLD_PATH="${CONDA_BLD_PATH:-${MINIFORGE_HOME}/conda-bld}" 12 | ( startgroup "Provisioning base env with pixi" ) 2> /dev/null 13 | mkdir -p "${MINIFORGE_HOME}" 14 | curl -fsSL https://pixi.sh/install.sh | bash 15 | export PATH="~/.pixi/bin:$PATH" 16 | arch=$(uname -m) 17 | if [[ "$arch" == "x86_64" ]]; then 18 | arch="64" 19 | fi 20 | sed -i.bak "s/platforms = .*/platforms = [\"osx-${arch}\"]/" pixi.toml 21 | echo "Creating environment" 22 | pixi install 23 | pixi list 24 | echo "Activating environment" 25 | eval "$(pixi shell-hook)" 26 | mv pixi.toml.bak pixi.toml 27 | ( endgroup "Provisioning base env with pixi" ) 2> /dev/null 28 | 29 | ( startgroup "Configuring conda" ) 2> /dev/null 30 | export CONDA_SOLVER="libmamba" 31 | export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 32 | 33 | 34 | 35 | 36 | 37 | echo -e "\n\nSetting up the condarc and mangling the compiler." 38 | setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml 39 | 40 | if [[ "${CI:-}" != "" ]]; then 41 | mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml 42 | fi 43 | 44 | if [[ "${CI:-}" != "" ]]; then 45 | echo -e "\n\nMangling homebrew in the CI to avoid conflicts." 46 | /usr/bin/sudo mangle_homebrew 47 | /usr/bin/sudo -k 48 | else 49 | echo -e "\n\nNot mangling homebrew as we are not running in CI" 50 | fi 51 | 52 | if [[ "${sha:-}" == "" ]]; then 53 | sha=$(git rev-parse HEAD) 54 | fi 55 | 56 | echo -e "\n\nRunning the build setup script." 57 | source run_conda_forge_build_setup 58 | 59 | 60 | 61 | ( endgroup "Configuring conda" ) 2> /dev/null 62 | 63 | if [[ -f LICENSE.txt ]]; then 64 | cp LICENSE.txt "recipe/recipe-scripts-license.txt" 65 | fi 66 | 67 | if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then 68 | echo "rattler-build does not currently support debug mode" 69 | else 70 | 71 | if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then 72 | EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --test skip" 73 | fi 74 | 75 | rattler-build build --recipe ./recipe \ 76 | -m ./.ci_support/${CONFIG}.yaml \ 77 | ${EXTRA_CB_OPTIONS:-} \ 78 | --target-platform "${HOST_PLATFORM}" \ 79 | --extra-meta flow_run_id="$flow_run_id" \ 80 | --extra-meta remote_url="$remote_url" \ 81 | --extra-meta sha="$sha" 82 | 83 | ( startgroup "Inspecting artifacts" ) 2> /dev/null 84 | 85 | # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 86 | command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir ./recipe -m ./.ci_support/${CONFIG}.yaml || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" 87 | 88 | ( endgroup "Inspecting artifacts" ) 2> /dev/null 89 | ( startgroup "Validating outputs" ) 2> /dev/null 90 | 91 | validate_recipe_outputs "${FEEDSTOCK_NAME}" 92 | 93 | ( endgroup "Validating outputs" ) 2> /dev/null 94 | 95 | ( startgroup "Uploading packages" ) 2> /dev/null 96 | 97 | if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then 98 | upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml 99 | fi 100 | 101 | ( endgroup "Uploading packages" ) 2> /dev/null 102 | fi 103 | -------------------------------------------------------------------------------- /.scripts/build_steps.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here 4 | # will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent 5 | # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also 6 | # benefit from the improvement. 7 | 8 | # -*- mode: jinja-shell -*- 9 | 10 | set -xeuo pipefail 11 | export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" 12 | source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh 13 | 14 | 15 | ( endgroup "Start Docker" ) 2> /dev/null 16 | 17 | ( startgroup "Configuring conda" ) 2> /dev/null 18 | 19 | export PYTHONUNBUFFERED=1 20 | export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" 21 | export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" 22 | export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" 23 | 24 | cat >~/.condarc < /dev/null 65 | 66 | if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then 67 | cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" 68 | fi 69 | 70 | if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then 71 | echo "rattler-build currently doesn't support debug mode" 72 | else 73 | 74 | rattler-build build --recipe "${RECIPE_ROOT}" \ 75 | -m "${CI_SUPPORT}/${CONFIG}.yaml" \ 76 | ${EXTRA_CB_OPTIONS:-} \ 77 | --target-platform "${HOST_PLATFORM}" \ 78 | --extra-meta flow_run_id="${flow_run_id:-}" \ 79 | --extra-meta remote_url="${remote_url:-}" \ 80 | --extra-meta sha="${sha:-}" 81 | ( startgroup "Inspecting artifacts" ) 2> /dev/null 82 | 83 | # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 84 | command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir "${RECIPE_ROOT}" -m "${CONFIG_FILE}" || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" 85 | 86 | ( endgroup "Inspecting artifacts" ) 2> /dev/null 87 | ( startgroup "Validating outputs" ) 2> /dev/null 88 | 89 | validate_recipe_outputs "${FEEDSTOCK_NAME}" 90 | 91 | ( endgroup "Validating outputs" ) 2> /dev/null 92 | 93 | ( startgroup "Uploading packages" ) 2> /dev/null 94 | 95 | if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then 96 | upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" 97 | fi 98 | 99 | ( endgroup "Uploading packages" ) 2> /dev/null 100 | fi 101 | 102 | ( startgroup "Final checks" ) 2> /dev/null 103 | 104 | touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" 105 | -------------------------------------------------------------------------------- /.azure-pipelines/azure-pipelines-linux.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: yaml -*- 4 | 5 | jobs: 6 | - job: linux 7 | pool: 8 | vmImage: ubuntu-latest 9 | strategy: 10 | matrix: 11 | linux_64_polars_runtime32python3.10.____cpython: 12 | CONFIG: linux_64_polars_runtime32python3.10.____cpython 13 | UPLOAD_PACKAGES: 'True' 14 | DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 15 | linux_64_polars_runtime64python3.10.____cpython: 16 | CONFIG: linux_64_polars_runtime64python3.10.____cpython 17 | UPLOAD_PACKAGES: 'True' 18 | DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 19 | linux_64_polars_runtimecompatpython3.10.____cpython: 20 | CONFIG: linux_64_polars_runtimecompatpython3.10.____cpython 21 | UPLOAD_PACKAGES: 'True' 22 | DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 23 | linux_aarch64_polars_runtime32python3.10.____cpython: 24 | CONFIG: linux_aarch64_polars_runtime32python3.10.____cpython 25 | UPLOAD_PACKAGES: 'True' 26 | DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 27 | linux_aarch64_polars_runtime64python3.10.____cpython: 28 | CONFIG: linux_aarch64_polars_runtime64python3.10.____cpython 29 | UPLOAD_PACKAGES: 'True' 30 | DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 31 | linux_aarch64_polars_runtimecompatpython3.10.____cpython: 32 | CONFIG: linux_aarch64_polars_runtimecompatpython3.10.____cpython 33 | UPLOAD_PACKAGES: 'True' 34 | DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 35 | timeoutInMinutes: 360 36 | variables: {} 37 | 38 | steps: 39 | - script: | 40 | sudo mkdir -p /opt/empty_dir || true 41 | for d in \ 42 | /opt/ghc \ 43 | /opt/hostedtoolcache \ 44 | /usr/lib/jvm \ 45 | /usr/local/.ghcup \ 46 | /usr/local/lib/android \ 47 | /usr/local/share/powershell \ 48 | /usr/share/dotnet \ 49 | /usr/share/swift \ 50 | ; do 51 | sudo rsync --stats -a --delete /opt/empty_dir/ $d || true 52 | done 53 | sudo apt-get purge -y -f firefox \ 54 | google-chrome-stable \ 55 | microsoft-edge-stable 56 | sudo apt-get autoremove -y >& /dev/null 57 | sudo apt-get autoclean -y >& /dev/null 58 | df -h 59 | displayName: Manage disk space 60 | - script: | 61 | SWAPFILE=/swapfile 62 | # If there is already a swapfile, disable it and remove it 63 | if swapon --show | grep -q $SWAPFILE; then 64 | echo "Disabling existing swapfile..." 65 | sudo swapoff $SWAPFILE || true 66 | fi 67 | [ -f "$SWAPFILE" ] && sudo rm -f $SWAPFILE 68 | sudo fallocate -l 15GiB $SWAPFILE 69 | sudo chmod 600 $SWAPFILE 70 | sudo mkswap $SWAPFILE 71 | sudo swapon $SWAPFILE 72 | displayName: Create swap file 73 | # configure qemu binfmt-misc running. This allows us to run docker containers 74 | # embedded qemu-static 75 | - script: | 76 | docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes 77 | ls /proc/sys/fs/binfmt_misc/ 78 | condition: not(startsWith(variables['CONFIG'], 'linux_64')) 79 | displayName: Configure binfmt_misc 80 | 81 | - script: | 82 | export CI=azure 83 | export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) 84 | export remote_url=$(Build.Repository.Uri) 85 | export sha=$(Build.SourceVersion) 86 | export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME 87 | export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) 88 | if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then 89 | export IS_PR_BUILD="True" 90 | else 91 | export IS_PR_BUILD="False" 92 | fi 93 | .scripts/run_docker_build.sh 94 | displayName: Run docker build 95 | env: 96 | BINSTAR_TOKEN: $(BINSTAR_TOKEN) 97 | FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) 98 | STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) 99 | -------------------------------------------------------------------------------- /.scripts/run_docker_build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here 4 | # will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent 5 | # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also 6 | # benefit from the improvement. 7 | 8 | source .scripts/logging_utils.sh 9 | 10 | ( startgroup "Configure Docker" ) 2> /dev/null 11 | 12 | set -xeo pipefail 13 | 14 | THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" 15 | PROVIDER_DIR="$(basename "$THISDIR")" 16 | 17 | FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" 18 | RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" 19 | 20 | if [ -z ${FEEDSTOCK_NAME} ]; then 21 | export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) 22 | fi 23 | 24 | if [[ "${sha:-}" == "" ]]; then 25 | pushd "${FEEDSTOCK_ROOT}" 26 | sha=$(git rev-parse HEAD) 27 | popd 28 | fi 29 | 30 | docker info 31 | 32 | # In order for the conda-build process in the container to write to the mounted 33 | # volumes, we need to run with the same id as the host machine, which is 34 | # normally the owner of the mounted volumes, or at least has write permission 35 | export HOST_USER_ID=$(id -u) 36 | # Check if docker-machine is being used (normally on OSX) and get the uid from 37 | # the VM 38 | if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then 39 | export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) 40 | fi 41 | 42 | ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" 43 | 44 | if [ -z "$CONFIG" ]; then 45 | set +x 46 | FILES=`ls .ci_support/linux_*` 47 | CONFIGS="" 48 | for file in $FILES; do 49 | CONFIGS="${CONFIGS}'${file:12:-5}' or "; 50 | done 51 | echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}" 52 | exit 1 53 | fi 54 | 55 | if [ -z "${DOCKER_IMAGE}" ]; then 56 | SHYAML_INSTALLED="$(shyaml -h || echo NO)" 57 | if [ "${SHYAML_INSTALLED}" == "NO" ]; then 58 | echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" 59 | DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) 60 | if [ "${DOCKER_IMAGE}" = "" ]; then 61 | echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" 62 | DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" 63 | fi 64 | else 65 | DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" 66 | fi 67 | fi 68 | 69 | mkdir -p "$ARTIFACTS" 70 | DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" 71 | rm -f "$DONE_CANARY" 72 | 73 | # Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) 74 | DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" 75 | if [ -z "${CI}" ]; then 76 | DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" 77 | fi 78 | 79 | ( endgroup "Configure Docker" ) 2> /dev/null 80 | 81 | ( startgroup "Start Docker" ) 2> /dev/null 82 | 83 | export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" 84 | export IS_PR_BUILD="${IS_PR_BUILD:-False}" 85 | docker pull "${DOCKER_IMAGE}" 86 | docker run ${DOCKER_RUN_ARGS} \ 87 | -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ 88 | -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ 89 | -e CONFIG \ 90 | -e HOST_USER_ID \ 91 | -e UPLOAD_PACKAGES \ 92 | -e IS_PR_BUILD \ 93 | -e GIT_BRANCH \ 94 | -e UPLOAD_ON_BRANCH \ 95 | -e CI \ 96 | -e FEEDSTOCK_NAME \ 97 | -e CPU_COUNT \ 98 | -e BUILD_WITH_CONDA_DEBUG \ 99 | -e BUILD_OUTPUT_ID \ 100 | -e flow_run_id \ 101 | -e remote_url \ 102 | -e sha \ 103 | -e BINSTAR_TOKEN \ 104 | -e FEEDSTOCK_TOKEN \ 105 | -e STAGING_BINSTAR_TOKEN \ 106 | "${DOCKER_IMAGE}" \ 107 | bash \ 108 | "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" 109 | 110 | # verify that the end of the script was reached 111 | test -f "$DONE_CANARY" 112 | 113 | # This closes the last group opened in `build_steps.sh` 114 | ( endgroup "Final checks" ) 2> /dev/null 115 | -------------------------------------------------------------------------------- /recipe/recipe.yaml: -------------------------------------------------------------------------------- 1 | context: 2 | version: "1.36.1" 3 | 4 | recipe: 5 | name: polars 6 | version: ${{ version }} 7 | 8 | source: 9 | - if: polars_runtime == '32' 10 | then: 11 | - if: target_platform == 'linux-64' 12 | then: 13 | - url: https://pypi.org/packages/source/p/polars/polars-${{ version }}.tar.gz 14 | sha256: 12c7616a2305559144711ab73eaa18814f7aa898c522e7645014b68f1432d54c 15 | target_directory: polars-python 16 | - url: https://pypi.org/packages/source/p/polars-runtime-32/polars_runtime_32-${{ version }}.tar.gz 17 | sha256: 201c2cfd80ceb5d5cd7b63085b5fd08d6ae6554f922bcb941035e39638528a09 18 | target_directory: polars-runtime-32 19 | - if: polars_runtime == '64' 20 | then: 21 | url: https://pypi.org/packages/source/p/polars-runtime-64/polars_runtime_64-${{ version }}.tar.gz 22 | sha256: e77144090cdd13c68f125117bcad5bb9dd2c2d892897785b3375a411b73300f5 23 | target_directory: polars-runtime-64 24 | - if: polars_runtime == 'compat' 25 | then: 26 | url: https://pypi.org/packages/source/p/polars-runtime-compat/polars_runtime_compat-${{ version }}.tar.gz 27 | sha256: 276d5c262cb9086e27ba6fea88c95aa069c535117ce46299c665ded930befad0 28 | target_directory: polars-runtime-compat 29 | 30 | build: 31 | number: 0 32 | 33 | outputs: 34 | - package: 35 | name: polars 36 | build: 37 | noarch: python 38 | script: | 39 | cd polars-python 40 | $PYTHON -m pip install . -vv 41 | skip: not (polars_runtime == "32" and target_platform == "linux-64" and match(python, python_min ~ ".*") and is_abi3) 42 | requirements: 43 | host: 44 | - python ${{ python_min }}.* 45 | - pip 46 | - setuptools 47 | run: 48 | - polars-runtime-32 ==${{ version }} 49 | - python >=${{ python_min }} 50 | run_constraints: 51 | - numpy >=1.16.0 52 | - pyarrow >=7.0.0 53 | - fastexcel >=0.9 54 | - openpyxl >=3.0.0 55 | - xlsx2csv >=0.8.0 56 | - connectorx >=0.3.2 57 | - deltalake >=1.0.0 58 | - pyiceberg >=0.7.1 59 | - altair >=5.4.0 60 | - great_tables >=0.8.0 61 | - polars-runtime-32 ==${{ version }} 62 | - polars-runtime-64 ==${{ version }} 63 | - polars-runtime-compat ==${{ version }} 64 | tests: 65 | - python: 66 | pip_check: true 67 | imports: 68 | - polars 69 | python_version: ${{ python_min }}.* 70 | - script: 71 | - python -c 'from polars import DataFrame' 72 | - python -c 'import polars; polars.show_versions()' 73 | - package_contents: 74 | site_packages: 75 | - polars/dataframe/__init__.py 76 | - polars-${{ version }}.dist-info/* 77 | about: 78 | license_file: polars-python/LICENSE 79 | 80 | - package: 81 | name: polars-runtime-${{ polars_runtime }} 82 | build: 83 | script: 84 | file: build_polars_runtime 85 | skip: not (match(python, python_min ~ ".*") and is_abi3) 86 | python: 87 | version_independent: true 88 | requirements: 89 | build: 90 | - if: build_platform != target_platform 91 | then: 92 | - python 93 | - cross-python_${{ target_platform }} 94 | - crossenv 95 | - maturin >=1.3.2,<2 96 | - ${{ compiler('c') }} 97 | - ${{ compiler('cxx') }} 98 | - ${{ stdlib('c') }} 99 | - ${{ compiler('rust') }} 100 | - cargo-auditable 101 | - if: build_platform == 'win-64' 102 | then: 103 | - m2-base 104 | - cmake 105 | - if: unix 106 | then: 107 | - make 108 | - cargo-bundle-licenses 109 | host: 110 | - python 111 | - python-abi3 112 | - pip 113 | - maturin >=1.3.2,<2 114 | run: 115 | - python 116 | ignore_run_exports: 117 | from_package: 118 | - cross-python_${{ target_platform }} 119 | tests: 120 | - python: 121 | pip_check: true 122 | imports: 123 | - _polars_runtime_${{ polars_runtime }} 124 | python_version: ${{ python_min }}.* 125 | - package_contents: 126 | site_packages: 127 | - _polars_runtime_${{ polars_runtime }}/__init__.py 128 | - _polars_runtime_${{ polars_runtime }}/_polars_runtime.${{ 'abi3.so' if unix else 'pyd' }} 129 | - polars_runtime_${{ polars_runtime }}-${{ version }}.dist-info/* 130 | strict: true 131 | about: 132 | license_file: 133 | - polars-runtime-${{ polars_runtime }}/LICENSE 134 | - polars-runtime-${{ polars_runtime }}/THIRDPARTY.yml 135 | 136 | about: 137 | homepage: https://github.com/pola-rs/polars 138 | license: MIT 139 | license_file: 140 | - polars-runtime-${{ polars_runtime }}/LICENSE 141 | - polars-runtime-${{ polars_runtime }}/THIRDPARTY.yml 142 | summary: Dataframes powered by a multithreaded, vectorized query engine, written in Rust 143 | description: Polars is a DataFrame interface on top of an OLAP Query Engine implemented in Rust using Apache Arrow Columnar Format as the memory model. 144 | documentation: https://docs.pola.rs 145 | repository: https://github.com/pola-rs/polars 146 | 147 | extra: 148 | recipe-maintainers: 149 | - borchero 150 | - Maxyme 151 | - timkpaine 152 | - ritchie46 153 | - sugatoray 154 | - xhochy 155 | - dhirschfeld 156 | - pavelzw 157 | - "0xbe7a" 158 | -------------------------------------------------------------------------------- /.scripts/run_win_build.bat: -------------------------------------------------------------------------------- 1 | :: PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here 2 | :: will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent 3 | :: changes to this script, consider a proposal to conda-smithy so that other feedstocks can also 4 | :: benefit from the improvement. 5 | 6 | :: INPUTS (required environment variables) 7 | :: CONFIG: name of the .ci_support/*.yaml file for this job 8 | :: CI: azure, github_actions, or unset 9 | :: MINIFORGE_HOME: where to install the base conda environment 10 | :: UPLOAD_PACKAGES: true or false 11 | :: UPLOAD_ON_BRANCH: true or false 12 | 13 | setlocal enableextensions enabledelayedexpansion 14 | 15 | FOR %%A IN ("%~dp0.") DO SET "REPO_ROOT=%%~dpA" 16 | if "%MINIFORGE_HOME%"=="" ( 17 | set "MINIFORGE_HOME=%REPO_ROOT%\.pixi\envs\default" 18 | ) else ( 19 | set "PIXI_CACHE_DIR=%MINIFORGE_HOME%" 20 | ) 21 | :: Remove trailing backslash, if present 22 | if "%MINIFORGE_HOME:~-1%"=="\" set "MINIFORGE_HOME=%MINIFORGE_HOME:~0,-1%" 23 | call :start_group "Provisioning base env with pixi" 24 | echo Installing pixi 25 | powershell -NoProfile -ExecutionPolicy unrestricted -Command "iwr -useb https://pixi.sh/install.ps1 | iex" 26 | if !errorlevel! neq 0 exit /b !errorlevel! 27 | set "PATH=%USERPROFILE%\.pixi\bin;%PATH%" 28 | echo Installing environment 29 | if "%PIXI_CACHE_DIR%"=="%MINIFORGE_HOME%" ( 30 | mkdir "%MINIFORGE_HOME%" 31 | copy /Y pixi.toml "%MINIFORGE_HOME%" 32 | pushd "%MINIFORGE_HOME%" 33 | ) else ( 34 | pushd "%REPO_ROOT%" 35 | ) 36 | move /y pixi.toml pixi.toml.bak 37 | set "arch=64" 38 | if "%PROCESSOR_ARCHITECTURE%"=="ARM64" set "arch=arm64" 39 | powershell -NoProfile -ExecutionPolicy unrestricted -Command "(Get-Content pixi.toml.bak -Encoding UTF8) -replace 'platforms = .*', 'platforms = [''win-%arch%'']' | Out-File pixi.toml -Encoding UTF8" 40 | :: Git on Windows needs to run post link scripts to properly set up SSL certificates 41 | pixi config set --global run-post-link-scripts insecure 42 | if !errorlevel! neq 0 exit /b !errorlevel! 43 | pixi install 44 | if !errorlevel! neq 0 exit /b !errorlevel! 45 | pixi list 46 | if !errorlevel! neq 0 exit /b !errorlevel! 47 | set "ACTIVATE_PIXI=%TMP%\pixi-activate-%RANDOM%.bat" 48 | pixi shell-hook > "%ACTIVATE_PIXI%" 49 | if !errorlevel! neq 0 exit /b !errorlevel! 50 | call "%ACTIVATE_PIXI%" 51 | if !errorlevel! neq 0 exit /b !errorlevel! 52 | move /y pixi.toml.bak pixi.toml 53 | popd 54 | call :end_group 55 | 56 | call :start_group "Configuring conda" 57 | 58 | :: Activate the base conda environment 59 | :: Configure the solver 60 | set "CONDA_SOLVER=libmamba" 61 | if !errorlevel! neq 0 exit /b !errorlevel! 62 | set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" 63 | 64 | :: Set basic configuration 65 | echo Setting up configuration 66 | setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml 67 | if !errorlevel! neq 0 exit /b !errorlevel! 68 | echo Running build setup 69 | CALL run_conda_forge_build_setup 70 | 71 | 72 | if !errorlevel! neq 0 exit /b !errorlevel! 73 | 74 | if EXIST LICENSE.txt ( 75 | echo Copying feedstock license 76 | copy LICENSE.txt "recipe\\recipe-scripts-license.txt" 77 | ) 78 | if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( 79 | if [%CROSSCOMPILING_EMULATOR%] == [] ( 80 | set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --test skip" 81 | ) 82 | ) 83 | 84 | if NOT [%flow_run_id%] == [] ( 85 | set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% --extra-meta remote_url=%remote_url% --extra-meta sha=%sha%" 86 | ) 87 | 88 | call :end_group 89 | 90 | :: Build the recipe 91 | echo Building recipe 92 | rattler-build.exe build --recipe "recipe" -m .ci_support\%CONFIG%.yaml %EXTRA_CB_OPTIONS% --target-platform %HOST_PLATFORM% 93 | if !errorlevel! neq 0 exit /b !errorlevel! 94 | 95 | call :start_group "Inspecting artifacts" 96 | :: inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 97 | WHERE inspect_artifacts >nul 2>nul && inspect_artifacts --recipe-dir ".\recipe" -m .ci_support\%CONFIG%.yaml || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" 98 | call :end_group 99 | 100 | :: Prepare some environment variables for the upload step 101 | if /i "%CI%" == "github_actions" ( 102 | set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" 103 | set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%" 104 | if /i "%GITHUB_EVENT_NAME%" == "pull_request" ( 105 | set "IS_PR_BUILD=True" 106 | ) else ( 107 | set "IS_PR_BUILD=False" 108 | ) 109 | set "TEMP=%RUNNER_TEMP%" 110 | ) 111 | if /i "%CI%" == "azure" ( 112 | set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" 113 | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" 114 | if /i "%BUILD_REASON%" == "PullRequest" ( 115 | set "IS_PR_BUILD=True" 116 | ) else ( 117 | set "IS_PR_BUILD=False" 118 | ) 119 | set "TEMP=%UPLOAD_TEMP%" 120 | ) 121 | 122 | :: Validate 123 | call :start_group "Validating outputs" 124 | validate_recipe_outputs "%FEEDSTOCK_NAME%" 125 | if !errorlevel! neq 0 exit /b !errorlevel! 126 | call :end_group 127 | 128 | if /i "%UPLOAD_PACKAGES%" == "true" ( 129 | if /i "%IS_PR_BUILD%" == "false" ( 130 | call :start_group "Uploading packages" 131 | if not exist "%TEMP%\" md "%TEMP%" 132 | set "TMP=%TEMP%" 133 | upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml 134 | if !errorlevel! neq 0 exit /b !errorlevel! 135 | call :end_group 136 | ) 137 | ) 138 | 139 | exit 140 | 141 | :: Logging subroutines 142 | 143 | :start_group 144 | if /i "%CI%" == "github_actions" ( 145 | echo ::group::%~1 146 | exit /b 147 | ) 148 | if /i "%CI%" == "azure" ( 149 | echo ##[group]%~1 150 | exit /b 151 | ) 152 | echo %~1 153 | exit /b 154 | 155 | :end_group 156 | if /i "%CI%" == "github_actions" ( 157 | echo ::endgroup:: 158 | exit /b 159 | ) 160 | if /i "%CI%" == "azure" ( 161 | echo ##[endgroup] 162 | exit /b 163 | ) 164 | exit /b 165 | -------------------------------------------------------------------------------- /pixi.toml: -------------------------------------------------------------------------------- 1 | # -*- mode: toml -*- 2 | # This file was generated automatically from conda-smithy. To update this configuration, 3 | # update the conda-forge.yml and/or the recipe/meta.yaml. 4 | "$schema" = "https://pixi.sh/v0.59.0/schema/manifest/schema.json" 5 | 6 | [workspace] 7 | name = "polars-feedstock" 8 | version = "3.53.3" # conda-smithy version used to generate this file 9 | description = "Pixi configuration for conda-forge/polars-feedstock" 10 | authors = ["@conda-forge/polars"] 11 | channels = ["conda-forge"] 12 | platforms = ["linux-64", "osx-64", "win-64"] 13 | requires-pixi = ">=0.59.0" 14 | 15 | [dependencies] 16 | conda-build = ">=24.1" 17 | conda-forge-ci-setup = "4.*" 18 | rattler-build = "*" 19 | 20 | [tasks.inspect-all] 21 | cmd = "inspect_artifacts --all-packages" 22 | description = "List contents of all packages found in rattler-build build directory." 23 | [tasks.build] 24 | cmd = "rattler-build build --recipe recipe" 25 | description = "Build polars-feedstock directly (without setup scripts), no particular variant specified" 26 | [tasks."build-linux_64_polars_runtime32python3.10.____cpython"] 27 | cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_polars_runtime32python3.10.____cpython.yaml" 28 | description = "Build polars-feedstock with variant linux_64_polars_runtime32python3.10.____cpython directly (without setup scripts)" 29 | [tasks."inspect-linux_64_polars_runtime32python3.10.____cpython"] 30 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_polars_runtime32python3.10.____cpython.yaml" 31 | description = "List contents of polars-feedstock packages built for variant linux_64_polars_runtime32python3.10.____cpython" 32 | [tasks."build-linux_64_polars_runtime64python3.10.____cpython"] 33 | cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_polars_runtime64python3.10.____cpython.yaml" 34 | description = "Build polars-feedstock with variant linux_64_polars_runtime64python3.10.____cpython directly (without setup scripts)" 35 | [tasks."inspect-linux_64_polars_runtime64python3.10.____cpython"] 36 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_polars_runtime64python3.10.____cpython.yaml" 37 | description = "List contents of polars-feedstock packages built for variant linux_64_polars_runtime64python3.10.____cpython" 38 | [tasks."build-linux_64_polars_runtimecompatpython3.10.____cpython"] 39 | cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_polars_runtimecompatpython3.10.____cpython.yaml" 40 | description = "Build polars-feedstock with variant linux_64_polars_runtimecompatpython3.10.____cpython directly (without setup scripts)" 41 | [tasks."inspect-linux_64_polars_runtimecompatpython3.10.____cpython"] 42 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_polars_runtimecompatpython3.10.____cpython.yaml" 43 | description = "List contents of polars-feedstock packages built for variant linux_64_polars_runtimecompatpython3.10.____cpython" 44 | [tasks."build-linux_aarch64_polars_runtime32python3.10.____cpython"] 45 | cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_polars_runtime32python3.10.____cpython.yaml" 46 | description = "Build polars-feedstock with variant linux_aarch64_polars_runtime32python3.10.____cpython directly (without setup scripts)" 47 | [tasks."inspect-linux_aarch64_polars_runtime32python3.10.____cpython"] 48 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_polars_runtime32python3.10.____cpython.yaml" 49 | description = "List contents of polars-feedstock packages built for variant linux_aarch64_polars_runtime32python3.10.____cpython" 50 | [tasks."build-linux_aarch64_polars_runtime64python3.10.____cpython"] 51 | cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_polars_runtime64python3.10.____cpython.yaml" 52 | description = "Build polars-feedstock with variant linux_aarch64_polars_runtime64python3.10.____cpython directly (without setup scripts)" 53 | [tasks."inspect-linux_aarch64_polars_runtime64python3.10.____cpython"] 54 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_polars_runtime64python3.10.____cpython.yaml" 55 | description = "List contents of polars-feedstock packages built for variant linux_aarch64_polars_runtime64python3.10.____cpython" 56 | [tasks."build-linux_aarch64_polars_runtimecompatpython3.10.____cpython"] 57 | cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_polars_runtimecompatpython3.10.____cpython.yaml" 58 | description = "Build polars-feedstock with variant linux_aarch64_polars_runtimecompatpython3.10.____cpython directly (without setup scripts)" 59 | [tasks."inspect-linux_aarch64_polars_runtimecompatpython3.10.____cpython"] 60 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_polars_runtimecompatpython3.10.____cpython.yaml" 61 | description = "List contents of polars-feedstock packages built for variant linux_aarch64_polars_runtimecompatpython3.10.____cpython" 62 | [tasks."build-osx_64_polars_runtime32python3.10.____cpython"] 63 | cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_polars_runtime32python3.10.____cpython.yaml" 64 | description = "Build polars-feedstock with variant osx_64_polars_runtime32python3.10.____cpython directly (without setup scripts)" 65 | [tasks."inspect-osx_64_polars_runtime32python3.10.____cpython"] 66 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_polars_runtime32python3.10.____cpython.yaml" 67 | description = "List contents of polars-feedstock packages built for variant osx_64_polars_runtime32python3.10.____cpython" 68 | [tasks."build-osx_64_polars_runtime64python3.10.____cpython"] 69 | cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_polars_runtime64python3.10.____cpython.yaml" 70 | description = "Build polars-feedstock with variant osx_64_polars_runtime64python3.10.____cpython directly (without setup scripts)" 71 | [tasks."inspect-osx_64_polars_runtime64python3.10.____cpython"] 72 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_polars_runtime64python3.10.____cpython.yaml" 73 | description = "List contents of polars-feedstock packages built for variant osx_64_polars_runtime64python3.10.____cpython" 74 | [tasks."build-osx_64_polars_runtimecompatpython3.10.____cpython"] 75 | cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_polars_runtimecompatpython3.10.____cpython.yaml" 76 | description = "Build polars-feedstock with variant osx_64_polars_runtimecompatpython3.10.____cpython directly (without setup scripts)" 77 | [tasks."inspect-osx_64_polars_runtimecompatpython3.10.____cpython"] 78 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_polars_runtimecompatpython3.10.____cpython.yaml" 79 | description = "List contents of polars-feedstock packages built for variant osx_64_polars_runtimecompatpython3.10.____cpython" 80 | [tasks."build-osx_arm64_polars_runtime32python3.10.____cpython"] 81 | cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_polars_runtime32python3.10.____cpython.yaml" 82 | description = "Build polars-feedstock with variant osx_arm64_polars_runtime32python3.10.____cpython directly (without setup scripts)" 83 | [tasks."inspect-osx_arm64_polars_runtime32python3.10.____cpython"] 84 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_polars_runtime32python3.10.____cpython.yaml" 85 | description = "List contents of polars-feedstock packages built for variant osx_arm64_polars_runtime32python3.10.____cpython" 86 | [tasks."build-osx_arm64_polars_runtime64python3.10.____cpython"] 87 | cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_polars_runtime64python3.10.____cpython.yaml" 88 | description = "Build polars-feedstock with variant osx_arm64_polars_runtime64python3.10.____cpython directly (without setup scripts)" 89 | [tasks."inspect-osx_arm64_polars_runtime64python3.10.____cpython"] 90 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_polars_runtime64python3.10.____cpython.yaml" 91 | description = "List contents of polars-feedstock packages built for variant osx_arm64_polars_runtime64python3.10.____cpython" 92 | [tasks."build-osx_arm64_polars_runtimecompatpython3.10.____cpython"] 93 | cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_polars_runtimecompatpython3.10.____cpython.yaml" 94 | description = "Build polars-feedstock with variant osx_arm64_polars_runtimecompatpython3.10.____cpython directly (without setup scripts)" 95 | [tasks."inspect-osx_arm64_polars_runtimecompatpython3.10.____cpython"] 96 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_polars_runtimecompatpython3.10.____cpython.yaml" 97 | description = "List contents of polars-feedstock packages built for variant osx_arm64_polars_runtimecompatpython3.10.____cpython" 98 | [tasks."build-win_64_polars_runtime32python3.10.____cpython"] 99 | cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_polars_runtime32python3.10.____cpython.yaml" 100 | description = "Build polars-feedstock with variant win_64_polars_runtime32python3.10.____cpython directly (without setup scripts)" 101 | [tasks."inspect-win_64_polars_runtime32python3.10.____cpython"] 102 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_polars_runtime32python3.10.____cpython.yaml" 103 | description = "List contents of polars-feedstock packages built for variant win_64_polars_runtime32python3.10.____cpython" 104 | [tasks."build-win_64_polars_runtime64python3.10.____cpython"] 105 | cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_polars_runtime64python3.10.____cpython.yaml" 106 | description = "Build polars-feedstock with variant win_64_polars_runtime64python3.10.____cpython directly (without setup scripts)" 107 | [tasks."inspect-win_64_polars_runtime64python3.10.____cpython"] 108 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_polars_runtime64python3.10.____cpython.yaml" 109 | description = "List contents of polars-feedstock packages built for variant win_64_polars_runtime64python3.10.____cpython" 110 | [tasks."build-win_64_polars_runtimecompatpython3.10.____cpython"] 111 | cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_polars_runtimecompatpython3.10.____cpython.yaml" 112 | description = "Build polars-feedstock with variant win_64_polars_runtimecompatpython3.10.____cpython directly (without setup scripts)" 113 | [tasks."inspect-win_64_polars_runtimecompatpython3.10.____cpython"] 114 | cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_polars_runtimecompatpython3.10.____cpython.yaml" 115 | description = "List contents of polars-feedstock packages built for variant win_64_polars_runtimecompatpython3.10.____cpython" 116 | 117 | [feature.smithy.dependencies] 118 | conda-smithy = "*" 119 | [feature.smithy.tasks.build-locally] 120 | cmd = "python ./build-locally.py" 121 | description = "Build packages locally using the same setup scripts used in conda-forge's CI" 122 | [feature.smithy.tasks.smithy] 123 | cmd = "conda-smithy" 124 | description = "Run conda-smithy. Pass necessary arguments." 125 | [feature.smithy.tasks.rerender] 126 | cmd = "conda-smithy rerender" 127 | description = "Rerender the feedstock." 128 | [feature.smithy.tasks.lint] 129 | cmd = "conda-smithy lint --conda-forge recipe" 130 | description = "Lint the feedstock recipe" 131 | 132 | [environments] 133 | smithy = ["smithy"] 134 | 135 | # This is a copy of default, to be enabled by build_steps.sh during Docker builds 136 | # __PLATFORM_SPECIFIC_ENV__ = [] 137 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | About polars-feedstock 2 | ====================== 3 | 4 | Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/polars-feedstock/blob/main/LICENSE.txt) 5 | 6 | 7 | About polars 8 | ------------ 9 | 10 | Home: https://github.com/pola-rs/polars 11 | 12 | Package license: MIT 13 | 14 | Summary: Dataframes powered by a multithreaded, vectorized query engine, written in Rust 15 | 16 | Development: https://github.com/pola-rs/polars 17 | 18 | Documentation: https://docs.pola.rs/ 19 | 20 | Polars is a DataFrame interface on top of an OLAP Query Engine implemented in Rust using Apache Arrow Columnar Format as the memory model. 21 | 22 | About polars-runtime-32 23 | ----------------------- 24 | 25 | Home: https://github.com/pola-rs/polars 26 | 27 | Package license: MIT 28 | 29 | Summary: Dataframes powered by a multithreaded, vectorized query engine, written in Rust 30 | 31 | Development: https://github.com/pola-rs/polars 32 | 33 | Documentation: https://docs.pola.rs/ 34 | 35 | Polars is a DataFrame interface on top of an OLAP Query Engine implemented in Rust using Apache Arrow Columnar Format as the memory model. 36 | 37 | About polars-runtime-64 38 | ----------------------- 39 | 40 | Home: https://github.com/pola-rs/polars 41 | 42 | Package license: MIT 43 | 44 | Summary: Dataframes powered by a multithreaded, vectorized query engine, written in Rust 45 | 46 | Development: https://github.com/pola-rs/polars 47 | 48 | Documentation: https://docs.pola.rs/ 49 | 50 | Polars is a DataFrame interface on top of an OLAP Query Engine implemented in Rust using Apache Arrow Columnar Format as the memory model. 51 | 52 | About polars-runtime-compat 53 | --------------------------- 54 | 55 | Home: https://github.com/pola-rs/polars 56 | 57 | Package license: MIT 58 | 59 | Summary: Dataframes powered by a multithreaded, vectorized query engine, written in Rust 60 | 61 | Development: https://github.com/pola-rs/polars 62 | 63 | Documentation: https://docs.pola.rs/ 64 | 65 | Polars is a DataFrame interface on top of an OLAP Query Engine implemented in Rust using Apache Arrow Columnar Format as the memory model. 66 | 67 | Current build status 68 | ==================== 69 | 70 | 71 | 72 | 73 | 74 | 75 | 194 | 195 |
Azure 76 |
77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 91 | 92 | 93 | 98 | 99 | 100 | 105 | 106 | 107 | 112 | 113 | 114 | 119 | 120 | 121 | 126 | 127 | 128 | 133 | 134 | 135 | 140 | 141 | 142 | 147 | 148 | 149 | 154 | 155 | 156 | 161 | 162 | 163 | 168 | 169 | 170 | 175 | 176 | 177 | 182 | 183 | 184 | 189 | 190 | 191 |
VariantStatus
linux_64_polars_runtime32python3.10.____cpython 87 | 88 | variant 89 | 90 |
linux_64_polars_runtime64python3.10.____cpython 94 | 95 | variant 96 | 97 |
linux_64_polars_runtimecompatpython3.10.____cpython 101 | 102 | variant 103 | 104 |
linux_aarch64_polars_runtime32python3.10.____cpython 108 | 109 | variant 110 | 111 |
linux_aarch64_polars_runtime64python3.10.____cpython 115 | 116 | variant 117 | 118 |
linux_aarch64_polars_runtimecompatpython3.10.____cpython 122 | 123 | variant 124 | 125 |
osx_64_polars_runtime32python3.10.____cpython 129 | 130 | variant 131 | 132 |
osx_64_polars_runtime64python3.10.____cpython 136 | 137 | variant 138 | 139 |
osx_64_polars_runtimecompatpython3.10.____cpython 143 | 144 | variant 145 | 146 |
osx_arm64_polars_runtime32python3.10.____cpython 150 | 151 | variant 152 | 153 |
osx_arm64_polars_runtime64python3.10.____cpython 157 | 158 | variant 159 | 160 |
osx_arm64_polars_runtimecompatpython3.10.____cpython 164 | 165 | variant 166 | 167 |
win_64_polars_runtime32python3.10.____cpython 171 | 172 | variant 173 | 174 |
win_64_polars_runtime64python3.10.____cpython 178 | 179 | variant 180 | 181 |
win_64_polars_runtimecompatpython3.10.____cpython 185 | 186 | variant 187 | 188 |
192 |
193 |
196 | 197 | Current release info 198 | ==================== 199 | 200 | | Name | Downloads | Version | Platforms | 201 | | --- | --- | --- | --- | 202 | | [![Conda Recipe](https://img.shields.io/badge/recipe-polars-green.svg)](https://anaconda.org/conda-forge/polars) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/polars.svg)](https://anaconda.org/conda-forge/polars) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/polars.svg)](https://anaconda.org/conda-forge/polars) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/polars.svg)](https://anaconda.org/conda-forge/polars) | 203 | | [![Conda Recipe](https://img.shields.io/badge/recipe-polars--runtime--32-green.svg)](https://anaconda.org/conda-forge/polars-runtime-32) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/polars-runtime-32.svg)](https://anaconda.org/conda-forge/polars-runtime-32) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/polars-runtime-32.svg)](https://anaconda.org/conda-forge/polars-runtime-32) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/polars-runtime-32.svg)](https://anaconda.org/conda-forge/polars-runtime-32) | 204 | | [![Conda Recipe](https://img.shields.io/badge/recipe-polars--runtime--64-green.svg)](https://anaconda.org/conda-forge/polars-runtime-64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/polars-runtime-64.svg)](https://anaconda.org/conda-forge/polars-runtime-64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/polars-runtime-64.svg)](https://anaconda.org/conda-forge/polars-runtime-64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/polars-runtime-64.svg)](https://anaconda.org/conda-forge/polars-runtime-64) | 205 | | [![Conda Recipe](https://img.shields.io/badge/recipe-polars--runtime--compat-green.svg)](https://anaconda.org/conda-forge/polars-runtime-compat) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/polars-runtime-compat.svg)](https://anaconda.org/conda-forge/polars-runtime-compat) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/polars-runtime-compat.svg)](https://anaconda.org/conda-forge/polars-runtime-compat) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/polars-runtime-compat.svg)](https://anaconda.org/conda-forge/polars-runtime-compat) | 206 | 207 | Installing polars 208 | ================= 209 | 210 | Installing `polars` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: 211 | 212 | ``` 213 | conda config --add channels conda-forge 214 | conda config --set channel_priority strict 215 | ``` 216 | 217 | Once the `conda-forge` channel has been enabled, `polars, polars-runtime-32, polars-runtime-64, polars-runtime-compat` can be installed with `conda`: 218 | 219 | ``` 220 | conda install polars polars-runtime-32 polars-runtime-64 polars-runtime-compat 221 | ``` 222 | 223 | or with `mamba`: 224 | 225 | ``` 226 | mamba install polars polars-runtime-32 polars-runtime-64 polars-runtime-compat 227 | ``` 228 | 229 | It is possible to list all of the versions of `polars` available on your platform with `conda`: 230 | 231 | ``` 232 | conda search polars --channel conda-forge 233 | ``` 234 | 235 | or with `mamba`: 236 | 237 | ``` 238 | mamba search polars --channel conda-forge 239 | ``` 240 | 241 | Alternatively, `mamba repoquery` may provide more information: 242 | 243 | ``` 244 | # Search all versions available on your platform: 245 | mamba repoquery search polars --channel conda-forge 246 | 247 | # List packages depending on `polars`: 248 | mamba repoquery whoneeds polars --channel conda-forge 249 | 250 | # List dependencies of `polars`: 251 | mamba repoquery depends polars --channel conda-forge 252 | ``` 253 | 254 | 255 | About conda-forge 256 | ================= 257 | 258 | [![Powered by 259 | NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) 260 | 261 | conda-forge is a community-led conda channel of installable packages. 262 | In order to provide high-quality builds, the process has been automated into the 263 | conda-forge GitHub organization. The conda-forge organization contains one repository 264 | for each of the installable packages. Such a repository is known as a *feedstock*. 265 | 266 | A feedstock is made up of a conda recipe (the instructions on what and how to build 267 | the package) and the necessary configurations for automatic building using freely 268 | available continuous integration services. Thanks to the awesome service provided by 269 | [Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), 270 | [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), 271 | [Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) 272 | it is possible to build and upload installable packages to the 273 | [conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) 274 | channel for Linux, Windows and OSX respectively. 275 | 276 | To manage the continuous integration and simplify feedstock maintenance, 277 | [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. 278 | Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of 279 | this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``. 280 | 281 | For more information, please check the [conda-forge documentation](https://conda-forge.org/docs/). 282 | 283 | Terminology 284 | =========== 285 | 286 | **feedstock** - the conda recipe (raw material), supporting scripts and CI configuration. 287 | 288 | **conda-smithy** - the tool which helps orchestrate the feedstock. 289 | Its primary use is in the construction of the CI ``.yml`` files 290 | and simplify the management of *many* feedstocks. 291 | 292 | **conda-forge** - the place where the feedstock and smithy live and work to 293 | produce the finished article (built conda distributions) 294 | 295 | 296 | Updating polars-feedstock 297 | ========================= 298 | 299 | If you would like to improve the polars recipe or build a new 300 | package version, please fork this repository and submit a PR. Upon submission, 301 | your changes will be run on the appropriate platforms to give the reviewer an 302 | opportunity to confirm that the changes result in a successful build. Once 303 | merged, the recipe will be re-built and uploaded automatically to the 304 | `conda-forge` channel, whereupon the built conda packages will be available for 305 | everybody to install and use from the `conda-forge` channel. 306 | Note that all branches in the conda-forge/polars-feedstock are 307 | immediately built and any created packages are uploaded, so PRs should be based 308 | on branches in forks, and branches in the main repository should only be used to 309 | build distinct package versions. 310 | 311 | In order to produce a uniquely identifiable distribution: 312 | * If the version of a package **is not** being increased, please add or increase 313 | the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string). 314 | * If the version of a package **is** being increased, please remember to return 315 | the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string) 316 | back to 0. 317 | 318 | Feedstock Maintainers 319 | ===================== 320 | 321 | * [@0xbe7a](https://github.com/0xbe7a/) 322 | * [@Maxyme](https://github.com/Maxyme/) 323 | * [@borchero](https://github.com/borchero/) 324 | * [@dhirschfeld](https://github.com/dhirschfeld/) 325 | * [@pavelzw](https://github.com/pavelzw/) 326 | * [@ritchie46](https://github.com/ritchie46/) 327 | * [@sugatoray](https://github.com/sugatoray/) 328 | * [@timkpaine](https://github.com/timkpaine/) 329 | * [@xhochy](https://github.com/xhochy/) 330 | 331 | --------------------------------------------------------------------------------