This is a conda-forge feedstock for PyTensor. The recipe produces two packages:
pytensor-base (core, lightweight) and pytensor (adds compiler + BLAS deps).
When the autotick bot opens a version-bump PR, verify that PyPI dependency changes are reflected in the recipe before merging.
-
Read the version from
recipe/recipe.yaml(context.versionfield). -
Run grayskull to fetch the latest PyPI metadata:
uvx grayskull pypi pytensor=={version} -
Compare the "Run requirements:" section from grayskull's console output against the
pytensor-baserun dependencies inrecipe/recipe.yaml. -
Ignore these known-safe differences:
- Python version syntax (
${{ python }}in recipe vspythonin grayskull) -basevs non-base package names (e.g. the recipe usespytensor-basewhich intentionally differs from grayskull'spytensor)- Build/host-only dependencies (grayskull may list them under run)
- Python version syntax (
-
Flag any real differences — new dependencies, removed dependencies, or changed version constraints — that need to be added to the recipe.
-
Never bump the build number. Bot PRs set it to 0, which is correct for a new version. Bumping it is wrong.
-
Report findings to the user: either "no changes needed" or a list of specific dependency updates to make.
This is great @ricardoV94!
In general you should add
--strict-conda-forgeto the grayskull arguments. It doesn't make any significant difference here and at this point in time, but you should probably add it for future correctness and robustness.You should also have it ensure that the minimum Python version is respected, for instance when Grayskull reports
- python >=3.11,<3.15then we should ensure that both of the two instances ofskip: match(python, "<3.11")inrecipe.yamlhave the correct value in the bound. The upper bound should be ignored because that will be taken care of automatically by the build migrations.