Skip to content

Conversation

@apullin
Copy link

@apullin apullin commented Jun 23, 2025

Per the README, Python 3.12 is installed as a conda env, so this assumes a Python 3.12 environment.

There is potentially a conflict with another solution proposed in #22 .
But this has been tested on both OSX and Linux (arm64), and the repo package can build and install.
(running on OSX requires other changes as CUDA is assumed in the current implementation)

On OSX/Darwin, decord does not have a package in PyPI:

$ curl -s https://pypi.org/pypi/decord/json | \
> jq '.releases["0.6.0"][].filename'
"decord-0.6.0-cp36-cp36m-macosx_10_15_x86_64.whl"
"decord-0.6.0-cp37-cp37m-macosx_10_15_x86_64.whl"
"decord-0.6.0-cp38-cp38-macosx_10_15_x86_64.whl"
"decord-0.6.0-py3-none-manylinux2010_x86_64.whl"
"decord-0.6.0-py3-none-win_amd64.whl"

However, decord2 does:

$ curl -s https://pypi.org/pypi/decord2/json | jq '.releases["1.0.0"][].filename'
"decord2-1.0.0-cp310-cp310-macosx_12_0_arm64.whl"
"decord2-1.0.0-cp310-cp310-macosx_12_0_x86_64.whl"
"decord2-1.0.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl"
"decord2-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
"decord2-1.0.0-cp311-cp311-macosx_12_0_arm64.whl"
"decord2-1.0.0-cp311-cp311-macosx_12_0_x86_64.whl"
"decord2-1.0.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl"
"decord2-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
"decord2-1.0.0-cp312-cp312-macosx_12_0_arm64.whl"
"decord2-1.0.0-cp312-cp312-macosx_12_0_x86_64.whl"
"decord2-1.0.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl"
"decord2-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
"decord2-1.0.0-cp313-cp313-macosx_12_0_arm64.whl"
"decord2-1.0.0-cp313-cp313-macosx_12_0_x86_64.whl"
"decord2-1.0.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl"
"decord2-1.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"

And decord2 appears to export the same interface, so everything works without other changes.

@facebook-github-bot
Copy link

Hi @apullin!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at [email protected]. Thanks!

@facebook-github-bot
Copy link

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jun 23, 2025
@mmuckley
Copy link
Contributor

Hello @apullin, we'll need to keep the original decord for reproducibility purposes. I think it would be a good idea to have some macOS installation instructions in the readme though. This is something we haven't focused on.

@apullin
Copy link
Author

apullin commented Jun 24, 2025

@mmuckley Ah ok. Are all edits to requirements.txt verboten, even if they reproduce the same result for existing supported platforms? For example, a PEP 508 style condition?

Something like:

decord; not (platform_system == "Darwin" and platform_machine == "arm64" and python_version == "3.12")
decord2; platform_system == "Darwin" and platform_machine == "arm64" and python_version == "3.12"

Or, yes, I can add to the README and put a sed command without disturbing anything else.

@mmuckley
Copy link
Contributor

@apullin edits to requirements.txt are not verboten, but linking to a repository that is one week old with uncertain vetting or maintenance commitments is usually bad open-source practice. Many people will blindly install packages from this repository and we need to be a little careful about what the defaults are.

My preferred solution is probably a README comment to eva-decord in PR #1, which at least is a couple years old and seems to work based on what other users are saying.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants