Name: staged-recipes
Owner: OpenGeoscience
Description: A place to submit conda recipes before they become fully fledged conda-forge feedstocks
Forked from: conda-forge/staged-recipes
Created: 2017-11-18 14:50:28.0
Updated: 2017-11-18 14:50:31.0
Pushed: 2017-11-18 13:31:52.0
Homepage: https://conda-forge.github.io/
Size: 14208
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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.
recipes
for your package. Look at the example recipe, our documentation and the FAQ for help.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.
hash
field?If your package is on PyPI, you can get the md5 hash from your package's page on PyPI; look for the md5
link next to the download link for your package. The sha256 hash can be looked up on the (currently beta) new PyPI website https://pypi.org (SHA256 sums are available next to each package download).
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
Use the skip
key in the build
section along with a selector:
d:
skip: true # [win]
A full description of selectors is in the conda docs.
Additionally, when pushing commits for a recipe that excludes Windows, put [skip appveyor]
in the commit message to prevent CI tests
on Windows from even starting.
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
.
test
field?No, you do not.
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.
python setup.py install --single-version-externally-managed --record record.txt
?These options should be added to setup.py if your project uses setuptools. The goal is to prevent setuptools
from creating an egg-info
directory because they do not interact well with conda.
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.
The maintainers “job” is to:
recipes
directory? Should I do something about it?When a PR of recipe(s) is ready to go, it is merged into master
. 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 master
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.
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:
it your last commit, giving it a new time stamp and hash
ou can just leave the message as it is)
commit --amend
sh to github, overwriting your branch
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:
you didn't add a remote for conda-forge/staged-recipes yet, also run
ese lines:
t remote add upstream https://github.com/conda-forge/staged-recipes.git
t fetch --all
rebase upstream/master
push -f