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: package-structure-code/publish-python-package-pypi-conda.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ Below you will learn more specifics about the differences between PyPI and conda
23
23
24
24
<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">
25
25
26
-
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.
26
+
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.
27
27
:::
28
28
29
29
## What is PyPI
@@ -72,7 +72,7 @@ packages. These repositories are known as channels (discussed below).
72
72
The conda ecosystem evolved years ago to provide support for and
73
73
simplify the process of managing software dependencies in scientific
74
74
The conda ecosystem evolved years ago to provide support for, and
75
-
simplify the process of, managing software dependencies in scientific
75
+
simplify the process of, managing software dependencies in scientific
76
76
Python projects.
77
77
78
78
Many of the core scientific Python projects depend upon or wrap around tools and extensions that are written in other languages, such as C++. In the early stages of the scientific ecosystem's development, these non-Python extensions and tools were not well supported on PyPI, making publication difficult. In recent years there is more support for complex builds that allow developers to bundle non-Python code into a Python distribution using the [wheel distribution format](python-wheel).
Copy file name to clipboardExpand all lines: tutorials/intro.md
+6-2Lines changed: 6 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,11 @@ create a Python package.
17
17
18
18
:::{figure-md} packaging-outline
19
19
20
+
<<<<<<< HEAD
20
21
<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">
This lesson is the first in a series of lessons to help you get started with Python packaging.
23
27
:::
@@ -319,10 +323,10 @@ Then you can create a conda-forge recipe using the [Grayskull](https://github.co
319
323
320
324
321
325
:::{figure-md} build-workflow-tutorial
322
-
<imgsrc="../images/tutorials/publish-package-pypi-conda.png"alt="Graphic showing the high level packaging workflow. On the left you see a graphic with code, metadata and tests in it. Those items all go into your package. Documentation and data are below that box because they aren't normally published in your packaging wheel distribution. an arrow to the right takes you to a build distribution files box. that box leads you to either publishing to testPyPI or the real PyPI. From PyPI you can then connect to condaforge for an automated build that sends distributions from PyPI to conda-forge."width="700px">
326
+
<imgsrc="../images/tutorials/publish-package-pypi-conda.png"alt="Graphic showing the high level packaging workflow. On the left you see a graphic with code, metadata and tests in it. Those items all go into your package. Documentation and data are below that box because they aren't normally published in your packaging wheel distribution. an arrow to the right takes you to a build distribution files box. that box leads you to either publishing to testPyPI or the real PyPI. From PyPI you can then connect to conda-forge for an automated build that sends distributions from PyPI to conda-forge."width="700px">
323
327
324
328
In the image above, you can see the steps associated with publishing
325
-
your package on PyPI and condaforge. Note that the distribution files that PyPI requires are the [sdist](#python-source-distribution) and [wheel](#python-wheel) files. Once you are ready to make your code publicly installable, you can publish it on PyPI. Once your code is on PyPI it is straight forward to then publish to condaforge. You create a recipe using the Grayskull package and then you open a pr in the conda-forge recipe repo. You will learn more about this process in the [conda-forge lesson](#).
329
+
your package on PyPI and conda-forge. Note that the distribution files that PyPI requires are the [sdist](#python-source-distribution) and [wheel](#python-wheel) files. Once you are ready to make your code publicly installable, you can publish it on PyPI. Once your code is on PyPI it is straight forward to then publish to conda-forge. You create a recipe using the Grayskull package and then you open a pr in the conda-forge recipe repo. You will learn more about this process in the [conda-forge lesson](#).
Copy file name to clipboardExpand all lines: tutorials/publish-conda-forge.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -34,10 +34,10 @@ 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. 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. 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.
38
38
:::
39
39
40
-
## What is condaforge?
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
@@ -57,7 +57,7 @@ Make a graphic to replace that geohackweek graphic that is also more specific.
57
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.
58
58
:::
59
59
60
-
## Why publish to condaforge
60
+
## Why publish to conda-forge
61
61
62
62
There are many users, especially in the scientific Python ecosystem that use conda as their primary package manager / environment tool. Thus, having packages available to these users on the conda-forge channel is useful. In some cases packages on conda-forge can minimize dependency conflicts that can occur when mixing installations using pip and conda. This is particularly important for the spatial ecosystem.
63
63
@@ -361,7 +361,7 @@ Once you have completed all of the above, you are ready to open up a pull reques
Copy file name to clipboardExpand all lines: tutorials/publish-pypi.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ You will learn how to publish to conda-forge in the [next lesson](7-publish-cond
46
46
:::
47
47
48
48
:::{figure-md} build-workflow-tutorial
49
-
<imgsrc="../images/tutorials/publish-package-pypi-conda.png"alt="Graphic showing the high level packaging workflow. On the left you see a graphic with code, metadata and tests in it. Those items all go into your package. An arrow to the right takes you to a build distribution files box. Another arrow to the right takes you to a publish to PyPI box which has an arrow containing sdist and wheel that notes those files go to PyPI for hosting. From PyPI is an arrow containing sdist since you can then connect to condaforge for an automated build that sends distributions from PyPI to conda-forge."width="700px">
49
+
<imgsrc="../images/tutorials/publish-package-pypi-conda.png"alt="Graphic showing the high level packaging workflow. On the left you see a graphic with code, metadata and tests in it. Those items all go into your package. An arrow to the right takes you to a build distribution files box. Another arrow to the right takes you to a publish to PyPI box which has an arrow containing sdist and wheel that notes those files go to PyPI for hosting. From PyPI is an arrow containing sdist since you can then connect to conda-forge for an automated build that sends distributions from PyPI to conda-forge."width="700px">
50
50
51
51
You need to build your Python package in order to publish it to PyPI (or Conda). The build process organizes your code and metadata into a distribution format that can be uploaded to PyPI and subsequently downloaded and installed by users.
0 commit comments