• Stars
    star
    650
  • Rank 69,267 (Top 2 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created about 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A place to submit conda recipes before they become fully fledged conda-forge feedstocks

About

This repo is a holding area for recipes destined for a conda-forge feedstock repo. To find out more about conda-forge, see https://github.com/conda-forge/conda-smithy.

Join the chat at https://gitter.im/conda-forge/conda-forge.github.io

Feedstock conversion status

create_feedstocks

Failures with the above job are often caused by API rate limits from the various services used by conda-forge. This can result in empty feedstock repositories and will resolve itself automatically. If the issue persists, support can be found on Gitter.

Getting started

  1. Fork this repository.
  2. Make a new folder in recipes for your package. Look at the example recipe, our documentation and the FAQ for help.
  3. Open a pull request. Building of your package will be tested on Windows, Mac and Linux.
  4. When your pull request is merged a new repository, called a feedstock, will be created in the github conda-forge organization, and build/upload of your package will automatically be triggered. Once complete, the package is available on conda-forge.

Grayskull - recipe generator for Python packages on pypi

For Python packages available on pypi it is possible to use grayskull to generate the recipe. The user should review the recipe generated, specially the license and dependencies.

Installing grayskull: conda install -c conda-forge grayskull

Generating recipe: grayskull pypi PACKAGE_NAME_HERE

FAQ

1. How do I start editing the recipe?

Look at one of these examples in this repository and modify it as necessary.

Your final recipe should have no comments and follow the order in the example.

If there are details you are not sure about please open a pull request. The conda-forge team will be happy to answer your questions.

2. How do I populate the hash field?

If your package is on PyPI, you can get the sha256 hash from your package's page on PyPI; look for the SHA256 link next to the download link for your package.

You can also generate a hash from the command line on Linux (and Mac if you install the necessary tools below). If you go this route, the sha256 hash is preferable to the md5 hash.

To generate the md5 hash: md5 your_sdist.tar.gz

To generate the sha256 hash: openssl sha256 your_sdist.tar.gz

You may need the openssl package, available on conda-forge: conda install openssl -c conda-forge

3. How do I exclude a platform?

Use the skip key in the build section along with a selector:

build:
    skip: true  # [win]

A full description of selectors is in the conda docs.

If the package can otherwise be noarch you can also skip it by using virtual packages.

Note: As the package will always be built on linux, it needs to be at least available on there.

4. What does the build: 0 entry mean?

The build number is used when the source code for the package has not changed but you need to make a new build. For example, if one of the dependencies of the package was not properly specified the first time you build a package, then when you fix the dependency and rebuild the package you should increase the build number.

When the package version changes you should reset the build number to 0.

5. Do I have to import all of my unit tests into the recipe's test field?

No, you do not.

6. Do all of my package's dependencies have to be in conda(-forge) already?

Short answer: yes. Long answer: In principle, as long as your dependencies are in at least one of your user's conda channels they will be able to install your package. In practice, that is difficult to manage, and we strive to get all dependencies built in conda-forge.

7. When or why do I need to use {{ PYTHON }} -m pip install . -vv?

This should be the default install line for most Python packages. This is preferable to python setup.py because it handles metadata in a conda-friendlier way.

8. Do I need bld.bat and/or build.sh?

In many cases, no. Python packages almost never need it. If the build can be done with one line you can put it in the script line of the build section.

9. What does being a conda-forge feedstock maintainer entail?

The maintainers "job" is to:

  • keep the feedstock updated by merging eventual maintenance PRs from conda-forge's bots;
  • keep the package updated by bumping the version whenever there is a new release;
  • answer eventual question about the package on the feedstock issue tracker.

10. Why are there recipes already in the recipes directory? Should I do something about it?

When a PR of recipe(s) is ready to go, it is merged into main. This will trigger a CI build specially designed to convert the recipe(s). However, for any number of reasons the recipe(s) may not be converted right away. In the interim, the recipe(s) will remain in main until they can be converted. There is no action required on the part of recipe contributors to resolve this. Also it should have no impact on any other PRs being proposed. If these recipe(s) pending conversion do cause issues for your submission, please ping conda-forge/core for help.

11. Some checks failed, but it wasn't my recipe! How do I trigger a rebuild?

Sometimes, some of the CI tools' builds fail due to no error within your recipe. If that happens, you can trigger a rebuild by re-creating the last commit and force pushing it to your branch:

# edit your last commit, giving it a new time stamp and hash
# (you can just leave the message as it is)
git commit --amend
# push to github, overwriting your branch
git push -f

If the problem was due to scripts in the staged-recipes repository, you may be asked to "rebase" once these are fixed. To do so, run:

# If you didn't add a remote for conda-forge/staged-recipes yet, also run
# these lines:
# git remote add upstream https://github.com/conda-forge/staged-recipes.git
# git fetch --all
git rebase upstream/main
git push -f

12. My pull request passes all checks, but hasn't received any attention. How do I call attention to my PR? What is the customary amount of time to wait?

There are language-specific teams for reviewing recipes.

Language Name of review team
python @conda-forge/help-python
python/c hybrid @conda-forge/help-python-c
r @conda-forge/help-r
java @conda-forge/help-java
nodejs @conda-forge/help-nodejs
c/c++ @conda-forge/help-c-cpp
perl @conda-forge/help-perl
Julia @conda-forge/help-julia
ruby @conda-forge/help-ruby
other @conda-forge/staged-recipes

Once the PR is ready for review, please mention one of the teams above in a new comment. i.e. @conda-forge/help-some-language, ready for review! Then, a bot will label the PR as 'review-requested'.

Due to GitHub limitations, first time contributors to conda-forge are unable to ping conda-forge teams directly, but you can ask a bot to ping the team using a special command in a comment on the PR to get the attention of the staged-recipes team. You can also consider asking on our Gitter channel if your recipe isn't reviewed promptly.

All apologies in advance if your recipe PR does not recieve prompt attention. This is a high volume repository and the reviewers are volunteers. Review times vary depending on the number of reviewers on a given language team and may be days or weeks. We are always looking for more staged-recipe reviewers. If you are interested in volunteering, please contact a member of @conda-forge/core. We'd love to have the help!

13. Is there a changelog for this repository?

There's no changelog file, but the following git command gives a good overview of the recent changes in the repository:

$ git log --merges -- ':!recipes' 

More Repositories

1

miniforge

A conda-forge distribution.
Shell
3,613
star
2

conda-smithy

The tool for managing conda-forge feedstocks.
Python
137
star
3

conda-forge.github.io

The conda-forge website.
Python
110
star
4

tensorflow-feedstock

A conda-smithy repository for tensorflow.
Shell
87
star
5

gh-feedstock

A conda-smithy repository for gh.
Shell
74
star
6

opencv-feedstock

A conda-smithy repository for opencv.
Batchfile
58
star
7

feedstocks

All conda-forge feedstocks, in one convenient place
56
star
8

conda-forge-pinning-feedstock

A conda-smithy repository for conda-forge-pinning.
Python
45
star
9

python-feedstock

A conda-smithy repository for python.
Shell
43
star
10

rasterio-feedstock

A conda-smithy repository for rasterio.
Python
42
star
11

docker-images

Repository to host the Docker images files used in conda-forge
Dockerfile
40
star
12

qgis-feedstock

A conda-smithy repository for qgis.
Shell
36
star
13

miniforge-images

Container images that include conda-forge's miniforge setup
Dockerfile
31
star
14

root-feedstock

A conda-smithy repository for root.
CMake
27
star
15

gdal-feedstock

A conda-smithy repository for gdal.
Shell
27
star
16

matplotlib-feedstock

A conda-smithy repository for matplotlib.
Batchfile
23
star
17

cudatoolkit-dev-feedstock

A conda-smithy repository for cudatoolkit-dev.
Python
23
star
18

python-spams-feedstock

A conda-smithy repository for python-spams.
Shell
22
star
19

admin-requests

Python
20
star
20

pyside2-feedstock

A conda-smithy repository for pyside2.
Shell
18
star
21

cfep

conda-forge's Enhancement Proposal
17
star
22

by-the-numbers

Data, notebooks and visualizations of the conda-forge ecosystem
Jupyter Notebook
15
star
23

julia-feedstock

A conda-smithy repository for julia.
Shell
15
star
24

gdb-feedstock

A conda-smithy repository for gdb.
Shell
15
star
25

geopandas-feedstock

A conda-smithy repository for geopandas.
Python
15
star
26

boost-feedstock

A conda-smithy repository for boost.
Shell
14
star
27

pytorch-cpu-feedstock

A conda-smithy repository for pytorch-cpu.
Shell
13
star
28

scipoptsuite-feedstock

A conda-smithy repository for scipoptsuite.
Batchfile
13
star
29

ffmpeg-feedstock

A conda-smithy repository for ffmpeg.
Shell
12
star
30

spacy-feedstock

A conda-smithy repository for spacy.
Shell
12
star
31

isce2-feedstock

A conda-smithy repository for isce2.
Shell
12
star
32

poppler-feedstock

A conda-smithy repository for poppler.
Shell
12
star
33

fenics-feedstock

A conda-smithy repository for fenics.
Shell
12
star
34

memory_profiler-feedstock

A conda-smithy repository for memory_profiler.
11
star
35

vtk-feedstock

A conda-smithy repository for vtk.
Shell
11
star
36

r-base-feedstock

A conda-smithy repository for r-base.
Shell
11
star
37

qt-feedstock

A conda-smithy repository for qt.
C++
11
star
38

implicit-feedstock

A conda-smithy repository for implicit.
11
star
39

jupyterlab-feedstock

A conda-smithy repository for jupyterlab.
11
star
40

nvcc-feedstock

A conda-smithy repository for nvcc.
Shell
10
star
41

ipopt-feedstock

A conda-smithy repository for ipopt.
CMake
10
star
42

cling-feedstock

A conda-smithy repository for cling.
Shell
10
star
43

ray-packages-feedstock

A conda-smithy repository for ray-packages.
Shell
10
star
44

ctng-compiler-activation-feedstock

A conda-smithy repository for ctng-compiler-activation.
Shell
10
star
45

earthengine-api-feedstock

A conda-smithy repository for earthengine-api.
10
star
46

conda-forge-ci-setup-feedstock

A conda-smithy repository for conda-forge-ci-setup.
Python
10
star
47

clangdev-feedstock

A conda-smithy repository for clangdev.
Shell
10
star
48

casadi-feedstock

A conda-smithy repository for casadi.
Batchfile
9
star
49

python-duckdb-feedstock

A conda-smithy repository for python-duckdb.
Python
9
star
50

scrapy-feedstock

A conda-smithy repository for scrapy.
9
star
51

ctng-compilers-feedstock

A conda-smithy repository for ctng-compilers.
Shell
9
star
52

basemap-feedstock

A conda-smithy repository for basemap.
Batchfile
9
star
53

osmnx-feedstock

A conda-smithy repository for osmnx.
8
star
54

go-feedstock

A conda-smithy repository for go.
Shell
8
star
55

petsc-feedstock

A conda-smithy repository for petsc.
Shell
8
star
56

openblas-feedstock

A conda-smithy repository for openblas.
Shell
8
star
57

uwsgi-feedstock

A conda-smithy repository for uwsgi.
Shell
8
star
58

rdkit-feedstock

A conda-smithy repository for rdkit.
Batchfile
8
star
59

openmpi-feedstock

A conda-smithy repository for openmpi.
Shell
8
star
60

caffe-feedstock

A conda-smithy repository for caffe.
Makefile
8
star
61

fiona-feedstock

A conda-smithy repository for fiona.
Shell
8
star
62

shapely-feedstock

A conda-smithy repository for shapely.
8
star
63

compilers-feedstock

A conda-smithy repository for compilers.
8
star
64

orekit-feedstock

A conda-smithy repository for orekit.
Shell
8
star
65

gazebo-feedstock

A conda-smithy repository for gazebo.
Shell
8
star
66

conda-forge-repodata-patches-feedstock

A conda-smithy repository for conda-forge-repodata-patches.
Python
7
star
67

rust-feedstock

A conda-smithy repository for rust.
Shell
7
star
68

pinocchio-feedstock

A conda-smithy repository for pinocchio.
Shell
7
star
69

lammps-feedstock

A conda-smithy repository for lammps.
Shell
7
star
70

conda-forge-webservices

the heroku app deployed to run conda-forge admin commands and linting
Python
7
star
71

boost-cpp-feedstock

A conda-smithy repository for boost-cpp.
Shell
7
star
72

conda-feedstock

A conda-smithy repository for conda.
Batchfile
7
star
73

fastapi-feedstock

A conda-smithy repository for fastapi.
7
star
74

pysoundfile-feedstock

A conda-smithy repository for pysoundfile.
7
star
75

pandas-feedstock

A conda-smithy repository for pandas.
7
star
76

gstreamer-feedstock

A conda-smithy repository for gstreamer.
Shell
7
star
77

h5py-feedstock

A conda-smithy repository for h5py.
Python
7
star
78

jaxlib-feedstock

A conda-smithy repository for jaxlib.
Shell
7
star
79

gmt-feedstock

A conda-smithy repository for gmt.
Shell
7
star
80

conda-ecosystem-user-package-isolation-feedstock

A conda-smithy repository for conda-ecosystem-user-package-isolation.
Shell
7
star
81

graph-tool-feedstock

A conda-smithy repository for graph-tool.
Shell
7
star
82

esmpy-feedstock

A conda-smithy repository for esmpy.
Shell
6
star
83

gnuradio-feedstock

A conda-smithy repository for gnuradio.
Batchfile
6
star
84

vega-cli-feedstock

A conda-smithy repository for vega-cli.
Shell
6
star
85

lapack-feedstock

A conda-smithy repository for lapack.
Shell
6
star
86

pyarrow-feedstock

Now part of https://github.com/conda-forge/arrow-cpp-feedstock / A conda-smithy repository for pyarrow.
Batchfile
6
star
87

qe-feedstock

A conda-smithy repository for qe.
Shell
6
star
88

snowflake-connector-python-feedstock

A conda-smithy repository for snowflake-connector-python.
Shell
6
star
89

openmc-feedstock

A conda-smithy repository for openmc.
Shell
6
star
90

nco-feedstock

A conda-smithy repository for nco.
Shell
6
star
91

lightgbm-feedstock

A conda-smithy repository for lightgbm.
Python
6
star
92

gsl-feedstock

A conda-smithy repository for gsl.
C
6
star
93

numpy-feedstock

A conda-smithy repository for numpy.
Batchfile
6
star
94

polars-feedstock

A conda-smithy repository for polars.
Batchfile
6
star
95

arrow-cpp-feedstock

A conda-smithy repository for arrow-cpp.
Shell
6
star
96

ruff-feedstock

A conda-smithy repository for ruff.
Batchfile
6
star
97

geant4-feedstock

A conda-smithy repository for geant4.
Shell
6
star
98

emacs-feedstock

A conda-smithy repository for emacs.
Shell
6
star
99

scikit-learn-feedstock

A conda-smithy repository for scikit-learn.
6
star
100

python-eccodes-feedstock

A conda-smithy repository for python-eccodes.
Shell
6
star