Skip to content

Conversation

@dlaehnemann
Copy link
Member

@dlaehnemann dlaehnemann commented Dec 1, 2025

This is a package I would like to use downstream:
bioconda/bioconda-recipes#61008

Locally, it fails with a weird metadata-generation error, where it can't find the file HISTORY.md that is clearly part of this package's repository:
https://github.com/akhtarshahnawaz/multiprocesspandas/blob/v1.1.5/HISTORY.md

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.

@dlaehnemann
Copy link
Member Author

I agree to be listed as a maintainer on this recipe/

@github-actions
Copy link
Contributor

github-actions bot commented Dec 1, 2025

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

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Dec 1, 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/multiprocesspandas/meta.yaml) and found it was in an excellent condition.

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

For recipes/multiprocesspandas/meta.yaml:

  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
    • For the host section of the recipe, you should usually use the pin python {{ python_min }} for the python entry.
    • For the run section of the recipe, you should usually use the pin python >={{ python_min }} for the python entry.
    • For the test.requires section of the recipe, you should usually use the pin python {{ python_min }} for the python entry.
    • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

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

@dlaehnemann
Copy link
Member Author

OK, I think I understand the problem now. Just documenting this if others come across similar issues. The error was:

  Running command Preparing metadata (pyproject.toml)
  Traceback (most recent call last):
    File "/home/conda/staged-recipes/build_artifacts/multiprocesspandas_1764586377465/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
      main()
      ~~~~^^
    File "/home/conda/staged-recipes/build_artifacts/multiprocesspandas_1764586377465/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
      json_out["return_val"] = hook(**hook_input["kwargs"])
                               ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/conda/staged-recipes/build_artifacts/multiprocesspandas_1764586377465/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 175, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
    File "/home/conda/staged-recipes/build_artifacts/multiprocesspandas_1764586377465/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.14/site-packages/setuptools/build_meta.py", line 374, in prepare_metadata_for_build_wheel
      self.run_setup()
      ~~~~~~~~~~~~~~^^
    File "/home/conda/staged-recipes/build_artifacts/multiprocesspandas_1764586377465/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.14/site-packages/setuptools/build_meta.py", line 512, in run_setup
      super().run_setup(setup_script=setup_script)
      ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/conda/staged-recipes/build_artifacts/multiprocesspandas_1764586377465/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.14/site-packages/setuptools/build_meta.py", line 317, in run_setup
      exec(code, locals())
      ~~~~^^^^^^^^^^^^^^^^
    File "<string>", line 6, in <module>
  FileNotFoundError: [Errno 2] No such file or directory: 'HISTORY.md'
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> No available output.

Basically, the (empty) file HISTORY.md was being used by the setup.py script, but was not bundled in the PyPi tarball. So for this recipe, the solution I chose is to remove the usage of HISTORY.md from the setup.py used for the conda-forge build with a patch. Especially, as this package hasn't been updated in years, so I don't expect much renewed activity that might rely on this HISTORY.md file in the future...

Here's how patches work, in case anybody is looking how to do this:

  1. Download the tarball that the recipe uses.
  2. Unpack it.
  3. Start a git repository from it by cding into the directory and running git init.
  4. git add * everything, and git commit -m "initial commit" to start tracking everything.
  5. Edit the files that need editing.
  6. Commit these changes (git add --update and `git commit -m "meaningful commit message").
  7. Create a patch from this with git format-patch -1 HEAD.
  8. Provide this to the recipe via the respective conda recipe syntax for patches

@dlaehnemann
Copy link
Member Author

Seems like a download failure for the linter, so I'll just try a restart:

@conda-forge-admin, please restart ci

@dlaehnemann
Copy link
Member Author

Ah, and just for cross-referencing and thanks: this is the other pull request where I got the relevant pointers on the FileNotFound error.

@dlaehnemann
Copy link
Member Author

Hmm, failed again. Will try once more:

@conda-forge-admin, please restart ci

@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 (recipes/multiprocesspandas/meta.yaml) and found it was in an excellent condition.

@dlaehnemann
Copy link
Member Author

All of the current failures seem to be download issues for conda installations:

critical libmamba Multiple errors occured:
    Download error (28) Timeout was reached [https://conda.anaconda.org/conda-forge/noarch/repodata.json.zst]
    Operation too slow. Less than 30 bytes/sec transferred the last 60 seconds

So I guess it is worth re-trying in a bit.

@dlaehnemann
Copy link
Member Author

@conda-forge-admin, please restart ci

This leads to unsolvable dependencies, as the runtime environment needs an older python version.
This reverts commit c8eb463.
@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Dec 1, 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/multiprocesspandas/meta.yaml) and found it was in an excellent condition.

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

For recipes/multiprocesspandas/meta.yaml:

  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
    • For the host section of the recipe, you should usually use the pin python {{ python_min }} for the python entry.
    • For the run section of the recipe, you should usually use the pin python >={{ python_min }} for the python entry.
    • For the test.requires section of the recipe, you should usually use the pin python {{ python_min }} for the python entry.
    • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

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

@dlaehnemann
Copy link
Member Author

The linter now still fails with:

Install environment `lint`
  /home/runner/micromamba-bin/micromamba create -y -r /home/runner/micromamba -n lint conda-smithy pygithub requests pixi --log-level warning --rc-file /home/runner/work/_temp/setup-micromamba/.condarc
  warning  libmamba Download error (28) Timeout was reached [https://conda.anaconda.org/conda-forge/noarch/repodata.json.zst]
      Operation too slow. Less than 30 bytes/sec transferred the last 60 seconds
  warning  libmamba Download error (28) Timeout was reached [https://conda.anaconda.org/conda-forge/noarch/repodata.json.zst]
      Operation too slow. Less than 30 bytes/sec transferred the last 60 seconds
  critical libmamba Multiple errors occurred:
      Download error (28) Timeout was reached [https://conda.anaconda.org/conda-forge/noarch/repodata.json.zst]
      Operation too slow. Less than 30 bytes/sec transferred the last 60 seconds
      Subdir conda-forge/noarch not loaded!
      If you run into this error repeatedly, your package cache may be corrupted.
      Please try running `mamba clean -a` to remove this cache before retrying the operation.
      
      If you still are having issues, please report the error on `mamba-org/mamba`'s issue tracker:
      https://github.com/mamba-org/mamba/issues/new?assignees=&labels=&projects=&template=bug.yml
  Error: The process '/home/runner/micromamba-bin/micromamba' failed with exit code 1

@dlaehnemann
Copy link
Member Author

@conda-forge-admin, please restart ci

@dlaehnemann
Copy link
Member Author

Different stuff just seems to randomly fail with conda-related issues on every restart. Currently it is the osx_64 build with:

Configuring conda
+ cat
+ source /Users/runner/miniforge3/etc/profile.d/conda.sh
/Users/runner/work/1/s/.scripts/run_osx_build.sh: line 48: /Users/runner/miniforge3/etc/profile.d/conda.sh: No such file or directory
+ conda activate base
/Users/runner/work/1/s/.scripts/run_osx_build.sh: line 49: conda: command not found
+ echo -e '\n\nSetting up the condarc and mangling the compiler.'


Setting up the condarc and mangling the compiler.
+ setup_conda_rc ./ ./recipes ./.ci_support/osx64.yaml
/Users/runner/work/1/s/.scripts/run_osx_build.sh: line 52: setup_conda_rc: command not found
+ [[ azure != '' ]]
+ mangle_compiler ./ ./recipes .ci_support/osx64.yaml
/Users/runner/work/1/s/.scripts/run_osx_build.sh: line 54: mangle_compiler: command not found
+ [[ azure != '' ]]
+ echo -e '\n\nMangling homebrew in the CI to avoid conflicts.'
+ /usr/bin/sudo mangle_homebrew


Mangling homebrew in the CI to avoid conflicts.
sudo: mangle_homebrew: command not found
+ /usr/bin/sudo -k
+ echo -e '\n\nRunning the build setup script.'
+ source run_conda_forge_build_setup


Running the build setup script.
/Users/runner/work/1/s/.scripts/run_osx_build.sh: line 66: run_conda_forge_build_setup: No such file or directory
+ set -e
+ mkdir -p /Users/runner/bld/osx-64/ /Users/runner/bld/osx-arm64/ /Users/runner/bld/noarch/
+ test -f /Users/runner/bld/noarch/repodata.json
+ conda index /Users/runner/bld
/Users/runner/work/1/s/.scripts/run_osx_build.sh: line 74: conda: command not found

@dlaehnemann
Copy link
Member Author

@conda-forge-admin, please restart ci

@dlaehnemann
Copy link
Member Author

@conda-forge-admin, please restart ci

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants