You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tutorials/intro.md
-4Lines changed: 0 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -17,11 +17,7 @@ create a Python package.
17
17
18
18
:::{figure-md} packaging-outline
19
19
20
-
<<<<<<< HEAD
21
20
<imgsrc="../images/tutorials/packaging-101-outline.png"alt="Diagram showing the lessons in our packaging tutorial. There are 6 total - what is a Python package, make code pip installable, publish your package to PyPI, add a README and LICENSE file, add metadata for PyPI and finally publish to conda forge."width="800px">
22
-
=======
23
-
<imgsrc="../images/tutorials/packaging-101-outline.png"alt="Diagram showing the lessons in our packaging tutorial. There are 6 total - what is a python package, make code pip installable, publish your package to PyPI, add a readme and license file, add metadata for pypi and finally publish to ."width="800px">
Copy file name to clipboardExpand all lines: tutorials/publish-conda-forge.md
+18-8Lines changed: 18 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -34,15 +34,15 @@ for conda, conda-forge will build from your PyPI source distribution file (sdist
34
34
35
35
<imgsrc="../images/publish-python-package-pypi-conda.png"alt="Image showing the progression of creating a Python package, building it and then publishing to PyPI and conda-forge. You take your code and turn it into distribution files (sdist and wheel) that PyPI accepts. then there is an arrow towards the PyPI repository where ou publish both distributions. From PyPI if you create a conda-forge recipe you can then publish to conda-forge. "width="700px">
36
36
37
-
Once you have published both package distributions (the source distribution and the wheel) to PyPI, you can then publish to conda-forge. requires an source distribution on PyPI in order to build your package on conda-forge. You do not need to rebuild your package to publish to conda-forge.
37
+
Once you have published both package distributions (the source distribution and the wheel) to PyPI, you can then publish to conda-forge. Conda-forge requires a source distribution on PyPI in order to build your package on conda-forge. You do not need to rebuild your package to publish to conda-forge.
38
38
:::
39
39
40
40
## What is conda-forge?
41
41
conda is an open source package and environment management tool that
42
42
can be used to install tools from the different channels within the Anaconda Cloud repository.
43
43
44
-
You can think about a channel as a specific location where a group of packages are stored and can be installed from using a command such as `conda install packagename`. In the case of the Anaconda cloud channels, some of these channels such as the default channel, is managed by Anaconda. Only Anaconda can decide what packages are available in the default channel. However, the conda-forge (and bioconda) channel are community-managed channels.
45
-
Anyone can upload a package to these channels.
44
+
You can think about a channel as a specific location where a group of packages are stored and can be installed from using a command such as `conda install packagename`. In the case of the Anaconda cloud channels, some of these channels such as the default channel, is managed by Anaconda (the company). Only Anaconda can decide what packages are available in the default channel. However, the conda-forge (and bioconda) channel are community-managed channels.
45
+
Anyone can submit a package to these channels however they must pass a technical review in the [staged-recipes GitHub repository](https://github.com/conda-forge/staged-recipes) to be published.
46
46
47
47
[Learn more about conda channels here.](#about-conda)
48
48
@@ -52,9 +52,9 @@ Make a graphic to replace that geohackweek graphic that is also more specific.
52
52
53
53
:::{figure-md} pypi-conda-channels
54
54
55
-
<imgsrc="../images/python-pypi-conda-channels.png"alt="Graphic with the title Python package repositories. Below it says Anything hosted on PyPI can be installed using pip install. Packaging hosted on a conda channel can be installed using conda install. Below that there are two rows. the top row says conda channels. next to it are three boxes one with conda-forge, community maintained; bioconda and then default - managed by the anaconda team. Below that there is a row that says PyPI servers. PyPI - anyone can publish to pypi. and test pypi. a testbed server for you to practice. "width="700px">
55
+
<imgsrc="../images/python-pypi-conda-channels.png"alt="Graphic with the title Python package repositories. Below it says anything hosted on PyPI can be installed using pip install. Packaging hosted on a conda channel can be installed using conda install. Below that there are two rows. The top row says conda channels. Next to it are three boxes one with conda-forge, community maintained; bioconda and then default - managed by the Anaconda team. Below that there is a row that says PyPI servers. PyPI - anyone can publish to PyPI and test PyPI (a testbed server for you to practice)."width="700px">
56
56
57
-
Conda channels represent various repositories that you can install packages from. Because conda-forge is community maintained, anyone can submit a recipe there. PiPY is also a community maintained repository. Anyone can submit a package to PyPI and test PyPI. Unlike conda-forge there are no manual checks of packages submitted to PyPI.
57
+
Conda channels represent various repositories that you can install packages from. Because conda-forge is community maintained, anyone can submit a recipe there. PyPI is also a community maintained repository. Anyone can submit a package to PyPI and test PyPI. Unlike conda-forge there are no manual checks of packages submitted to PyPI.
58
58
:::
59
59
60
60
## Why publish to conda-forge
@@ -344,7 +344,7 @@ test:
344
344
- pip
345
345
```
346
346
347
-
If you have more advanced tests that you wish to run, you can add them here. However, you can also simple leave the tests section as it is.
347
+
If you have more advanced tests that you wish to run, you can add them here. However, you can also simply leave the tests section as it is.
348
348
349
349
### Step 4: Submit a pull request to the staged-recipes repository
350
350
@@ -441,13 +441,23 @@ Once you create your pull request, a suite of CI actions will run that build and
441
441
442
442
<img src="../images/conda-forge-staged-recipes-ci.png" alt="Image showing the 5 CI tasks that will run against your package in the GitHub interface after you'ce created a pull request. " width="700px">
443
443
444
-
Wait until you have green checks on all of the CI steps in your pull request. At that point your pull request is ready for review.
444
+
Wait until all of the CI steps in your pull request have run. At that point your pull request is ready for review by a conda-forge maintainer.
445
445
:::
446
446
447
-
In some cases getting things to run properly on CI might take a bit of work. If you are struggling you can ping the conda-forge maintainer team for help.
447
+
448
+
In some cases getting all of the checks to run successfully in CI might take a bit of work. If you are struggling to get your recipe to build properly, you can ping the conda-forge maintainer team for help.
448
449
449
450
Please be patient and wait for them to respond.
450
451
452
+
:::{admonition} conda-forge staged recipes and CI failures
453
+
:class: tip
454
+
455
+
If your package is a pure Python package that can be installed on any type of computer (Windows, mac, linux) and has no architecture requirements (known as noarch: Python or no architecture requirements) then the conda-forge team only requires tests for Linux CI to pass.
456
+
457
+
So if tests for Windows and MAC OS fail, that is to be expected. In this case, don't worry about failing tests, the maintainer team can help you get your package published.
0 commit comments