.conda
.tar.zst
Operating system + architecture combinations:
linux-64
linux-aarch64
osx-64
osx-arm64
win-64
win-arm64
recipe.yaml
rattler-build
# pixi global install rattler-build rattler-build build --recipe <path to recipe directory>
Multiple recipe formats and build tools exist; we focus on the new rattler-build ecosystem.
context
package
source
build
requirements
noarch: python
schema_version: 1 context: version: 1.2.3 python_min: "3.10" package: name: example-package version: ${{ version }} source: url: https://pypi.org/packages/... sha256: 12ff4785d337a1bb...
build: noarch: python number: 0 script: >- ${{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation requirements: host: - python ${{ python_min }}.* - hatchling # your build backend - pip run: - python >=${{ python_min }}
tests: - python: imports: - example_package python_version: - ${{ python_min }}.* - "*" pip_check: true
about: homepage: https://example.com/... license: BSD-3-Clause license_file: LICENSE summary: Single-line summary. extra: recipe-maintainers: - henryiii - matthewfeickert
linux-ppc64le
build: number: 0 script: env: CMAKE_GENERATOR: Ninja content: - >- ${{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
requirements: build: - ${{ stdlib("c") }} - ${{ compiler("cxx") }} - cmake - ninja - if: build_platform != host_platform then: - cross-python_${{ host_platform }} - python - numpy host: - python - pip - scikit-build-core - numpy run: - python - numpy
github.com/conda-forge/<name>-feedstock
conda-forge/staged-recipes
upstream/main
./recipes/<package name>/
On PyPI already? Generate it with grayskull:
grayskull
pixi run pypi boost-histogram
Otherwise, copy ./recipes/example-v1 and edit recipe.yaml
./recipes/example-v1
pixi run lint
pixi run <build-linux|build-osx|build-win>
@conda-forge/help-python, ready for review!
@conda-forge/help-python-c, ready for review!
anaconda.org/channels/conda-forge
collatz
package: name: rattler-collatz version: ${{ version }} source: url: https://github.com/scikit-build/... sha256: fbd494e7216db678...
build: number: 0 script: env: CMAKE_GENERATOR: Ninja content: - cd examples/5_02_pixi_build/compiled - >- ${{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
requirements: build: - ${{ compiler("cxx") }} - cmake - ninja - if: build_platform != host_platform then: - cross-python_${{ host_platform }} - python host: - python - pip - scikit-build-core - pybind11 run: - python
tests: - python: imports: - collatz pip_check: true
Plus the usual about and extra sections
about
extra
Using the full recipe for collatz, build the recipe file into a conda package with rattler-build and then inspect the package.