Skip to content

Conversation

@mtsokol
Copy link
Member

@mtsokol mtsokol commented Jul 21, 2025

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@github-actions
Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR () and found it was in an excellent condition.

@github-actions
Copy link
Contributor

Hi! This is the staged-recipes linter and I found some lint.

File-specific lints and/or hints:

  • recipes/array-record/meta.yaml:
    • lints:
      • The following maintainers have not yet confirmed that they are willing to be listed here: iindyk. Please ask them to comment on this PR if they are.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Jul 21, 2025

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/array-record/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipes/array-record/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/16471335616. Examine the logs at this URL for more detail.

@mtsokol
Copy link
Member Author

mtsokol commented Jul 21, 2025

Hi @iindyk we need your comment to confirm you'll also be a maintainer of the stock.

@mtsokol mtsokol force-pushed the array-record branch 4 times, most recently from f1db543 to b3c45ab Compare July 21, 2025 13:23
@iindyk
Copy link

iindyk commented Jul 21, 2025

Hello, yes, I'm willing to be a maintainer of the stock.

@github-actions
Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@mtsokol
Copy link
Member Author

mtsokol commented Jul 22, 2025

@conda-forge-admin, please ping team

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-webservice.

I was asked to ping @conda-forge/staged-recipes and so here I am doing that.

@github-actions
Copy link
Contributor

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

@mtsokol
Copy link
Member Author

mtsokol commented Jul 22, 2025

@conda-forge/help-python

Comment on lines 44 to 49
rsync -avm -L --include="*.so" --include="*_pb2.py" \
--exclude="*.runfiles" --exclude="*_obj" --include="*/" --exclude="*" \
bazel-bin/cpp "${TMPDIR}/array_record"
rsync -avm -L --include="*.so" --include="*_pb2.py" \
--exclude="*.runfiles" --exclude="*_obj" --include="*/" --exclude="*" \
bazel-bin/python "${TMPDIR}/array_record"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
rsync -avm -L --include="*.so" --include="*_pb2.py" \
--exclude="*.runfiles" --exclude="*_obj" --include="*/" --exclude="*" \
bazel-bin/cpp "${TMPDIR}/array_record"
rsync -avm -L --include="*.so" --include="*_pb2.py" \
--exclude="*.runfiles" --exclude="*_obj" --include="*/" --exclude="*" \
bazel-bin/python "${TMPDIR}/array_record"
rsync -avm -L --include="*${SHLIB_EXT}" --include="*_pb2.py" \
--exclude="*.runfiles" --exclude="*_obj" --include="*/" --exclude="*" \
bazel-bin/cpp "${TMPDIR}/array_record"
rsync -avm -L --include="*${SHLIB_EXT}" --include="*_pb2.py" \
--exclude="*.runfiles" --exclude="*_obj" --include="*/" --exclude="*" \
bazel-bin/python "${TMPDIR}/array_record"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

read, write, and random access by record index. ArrayRecord builds on top of Riegeli
and supports the same compression algorithms.
license: Apache-2.0
license_family: Apache
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
license_family: Apache

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

number: 0
skip: true # [py<310]
skip: true # [win]
skip: true # [osx]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
skip: true # [osx]

Let's enable macOS and see what it takes for it to build. Given that this is a bazel build, I won't ask for us to try Windows until the feedstock exists.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to skip osx for now:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, bazel is a such a painful system to build with we can get by for now only Linux but let's make sure check into macOS arm64 afterward. The build failure you linked seems to be more of an issue with how highway-hash was built than something specific to macOS x86, but it's so difficult to debug bazel that I don't have any suggestions yet.

@mtsokol mtsokol requested a review from danielnachun July 23, 2025 14:08
@mtsokol
Copy link
Member Author

mtsokol commented Jul 24, 2025

@conda-forge/help-python It's ready for another review!

@xhochy xhochy mentioned this pull request Jul 25, 2025
10 tasks
@ehfd
Copy link
Member

ehfd commented Jul 26, 2025

Thank you for making this work!

@ehfd
Copy link
Member

ehfd commented Jul 26, 2025

Please also take a look at conda-forge/tensorflow-datasets-feedstock#23 and #29008, which could benefit downstream.

@mtsokol
Copy link
Member Author

mtsokol commented Jul 28, 2025

@ehfd Sure! I'll take a look at some time. This feedstock is required downstream for Grain as well - #30294.

@mtsokol
Copy link
Member Author

mtsokol commented Jul 29, 2025

@conda-forge/help-python It's ready for review!

@mtsokol
Copy link
Member Author

mtsokol commented Aug 7, 2025

@conda-forge/help-python It's ready for review!

@ehfd
Copy link
Member

ehfd commented Aug 7, 2025

Adequate reviewers should be at @conda-forge/help-c-cpp or @conda-forge/help-python-c.

The tag you used is for pure Python.

Copy link
Contributor

@danielnachun danielnachun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is probably ready to merge (notwithstanding the question about using the alpha tag), but @mtsokol please be aware that our ability to support bazel packages in conda-forge is extremely limited because the design of bazel is entirely antithetical to what we do here.

number: 0
skip: true # [py<310]
skip: true # [win]
skip: true # [osx]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, bazel is a such a painful system to build with we can get by for now only Linux but let's make sure check into macOS arm64 afterward. The build failure you linked seems to be more of an issue with how highway-hash was built than something specific to macOS x86, but it's so difficult to debug bazel that I don't have any suggestions yet.

@@ -0,0 +1,73 @@
{% set name = "array-record" %}
{% set version = "0.8.0a1" %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normally we don't allow alpha tags on here, but I'm somewhat inclined to grant an exception here because this a bazel project and we're lucky it even has tags at all. Any thoughts on this from the rest of @conda-forge/staged-recipes?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can get by for now only Linux

conda-forge/tensorflow-datasets-feedstock#23
array-record is a major bottleneck for tensorflow-datasets, where this is dependent on Linux, so having even just Linux will help a lot.

@mtsokol
Copy link
Member Author

mtsokol commented Aug 12, 2025

Okay, bazel is a such a painful system to build with we can get by for now only Linux but let's make sure check into macOS arm64 afterward.

@danielnachun Sure, thanks! Once we have a feedstock the next thing I will work on is MacOS ARM support. This one is already build for PyPI, contrary to MacOS x86 which isn't build there. So I guess potential MacOS x86 support will first take to build it for pip, and then conda-forge feedstock in the future.

@mtsokol mtsokol requested a review from danielnachun August 18, 2025 07:12
@danielnachun danielnachun merged commit 21c5814 into conda-forge:main Aug 19, 2025
7 checks passed
@mtsokol mtsokol deleted the array-record branch August 19, 2025 21:25
@mtsokol mtsokol mentioned this pull request Nov 11, 2025
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants