Release a dummy package to conda-forge to learn the process

Hi,

I am recently trying to learn how to create python package from my codes and distribute to others easily. To practice the same, I created a dummy calculator package, where specifications are mentioned in pyproject.toml and released to PyPI via setuptools+build+twine.

Now I wish to learn how to do the same with conda, and how to release the same package to conda-forge. Regarding that, I have two main questions.

First, I have found that there will be a manual verification for releasing a package. I don’t know details of the verification step, so my first question is if a dummy package as that’s mine eligible to be added to conda-forge?

Second, if it’s eligible, how to I specify the details and go about the entire process? Shall I be able to use my existing pyproject.toml to create meta.yaml files I have seen in other feedstocks? Or, do I have to create such files from scratch, and in that case where do I get the details of necessary information/format to be provided?

Thanks.

Hi Anirbin,

I moved your post to Package Builders / conda-forge, which is a closer match.

Not recommended

I would interpret the standing guidance to be that submitting a “dummy package” is outside the intended use of Conda Forge. Packages submitted to Conda Forge should be ready for and targeted to end-use; using Conda Forge’s CI resources for other purposes is not allowed.

Better alternative

That said, there are thousands of packages not on Conda Forge, including some which other users have stated they would like to see added.1 As an alternative, I would suggest finding a package that interests you, that isn’t yet available, and learn by submitting a recipe for it. There is no rule that the recipe one submits needs to be for a package of their own creation.

Most of the recipes I’ve submitted have been from seeing users on StackOverflow try something like:

conda install some_pkg_i_need

and then don’t know what to do next when some_pkg_i_need isn’t on any channels. For Python packages on PyPI and R packages on CRAN, there are very straightforward procedures for generating recipes and submitting them (see “Contributing Packages” documentation).

Another good place to keep an eye out is when authors announce new packages on places like Twitter. Usually, authors are more than happy to have someone help get their package onto Conda Forge. And if you ever run into issues, Conda Forge team members are happy to assist.

Bottom line is: learn while making real contributions. You’ll learn along the way, get listed as a maintainer (if you want) on a package others will actively use, and you will have improved the community in process.


[1]: To be fair, that particular list is filled with often difficult-to-build packages that have involved compilation procedures. Maybe not the best place to start for early developers.

1 Like

Just a couple more notes:

  1. submitting a dummy package to PyPi is also a bad idea — I hope you meant the test site.
  1. There are a few steps here:
  • successfully building a conda package
  • adding it to conda forge.

There’s no real reason to actually do the conda forge part until you have an actual package worth distributing— but learning how to build conda packages is worthwhile.

You can build and test totally locally, and/or upload it to a private channel on Anaconda.org

For a pure-Python package, it’s pretty straightforward-/ either by hand ( or adapting a meta.yank from another pure-python package) or by using grayskull.

Follow the docs online, and ask here if you get stuck.

Good luck!

1 Like