Skip to content

Commit e65d4aa

Browse files
Merge branch 'main' into copyleft
2 parents 833fc17 + 6a58271 commit e65d4aa

17 files changed

+225
-91
lines changed

.all-contributorsrc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,17 @@
461461
"review",
462462
"tutorial"
463463
]
464+
},
465+
{
466+
"login": "tomalrussell",
467+
"name": "Tom Russell",
468+
"avatar_url": "https://avatars.githubusercontent.com/u/2762769?v=4",
469+
"profile": "https://github.com/tomalrussell",
470+
"contributions": [
471+
"code",
472+
"review",
473+
"tutorial"
474+
]
464475
}
465476
],
466477
"contributorsPerLine": 7,

.zenodo.json

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,6 @@
109109
"affiliation": "",
110110
"name": "Van der Walt, Stéfan"
111111
},
112-
{
113-
"type": "Other",
114-
"affiliation": "",
115-
"name": "Schwartz, Eli"
116-
},
117112
{
118113
"type": "Other",
119114
"affiliation": "Quansight",
@@ -201,6 +196,36 @@
201196
"affiliation": "",
202197
"name": "Knorps, Maria"
203198
},
199+
{
200+
"type": "Other",
201+
"affiliation": "",
202+
"name": "Schwartz, Eli"
203+
},
204+
{
205+
"type": "Other",
206+
"affiliation": "",
207+
"name": "Burns, Jackson"
208+
},
209+
{
210+
"type": "Other",
211+
"affiliation": "",
212+
"name": "Jaimergp"
213+
},
214+
{
215+
"type": "Other",
216+
"affiliation": "",
217+
"name": "h-vetinari"
218+
},
219+
{
220+
"type": "Other",
221+
"affiliation": "",
222+
"name": "Ogasawara, Ivan"
223+
},
224+
{
225+
"type": "Other",
226+
"affiliation": "",
227+
"name": "Russell, Tom"
228+
},
204229
{
205230
"type": "Other",
206231
"affiliation": "",

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# <img src="https://www.pyopensci.org/images/logo.png" width=100 /> pyOpenSci scientific Python Packaging Guide
22
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
3-
[![All Contributors](https://img.shields.io/badge/all_contributors-44-orange.svg?style=flat-square)](#contributors-)
3+
[![All Contributors](https://img.shields.io/badge/all_contributors-45-orange.svg?style=flat-square)](#contributors-)
44
<!-- ALL-CONTRIBUTORS-BADGE:END -->
55

66
![GitHub release (latest by date)](https://img.shields.io/github/v/release/pyopensci/python-package-guide?color=purple&display_name=tag&style=plastic)
@@ -131,6 +131,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
131131
<tr>
132132
<td align="center" valign="top" width="14.28%"><a href="https://github.com/h-vetinari"><img src="https://avatars.githubusercontent.com/u/33685575?v=4?s=100" width="100px;" alt="h-vetinari"/><br /><sub><b>h-vetinari</b></sub></a><br /><a href="https://github.com/pyOpenSci/python-package-guide/commits?author=h-vetinari" title="Code">💻</a> <a href="https://github.com/pyOpenSci/python-package-guide/pulls?q=is%3Apr+reviewed-by%3Ah-vetinari" title="Reviewed Pull Requests">👀</a> <a href="#tutorial-h-vetinari" title="Tutorials">✅</a></td>
133133
<td align="center" valign="top" width="14.28%"><a href="https://xmnlab.github.io"><img src="https://avatars.githubusercontent.com/u/5209757?v=4?s=100" width="100px;" alt="Ivan Ogasawara"/><br /><sub><b>Ivan Ogasawara</b></sub></a><br /><a href="https://github.com/pyOpenSci/python-package-guide/commits?author=xmnlab" title="Code">💻</a> <a href="https://github.com/pyOpenSci/python-package-guide/pulls?q=is%3Apr+reviewed-by%3Axmnlab" title="Reviewed Pull Requests">👀</a> <a href="#tutorial-xmnlab" title="Tutorials">✅</a></td>
134+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tomalrussell"><img src="https://avatars.githubusercontent.com/u/2762769?v=4?s=100" width="100px;" alt="Tom Russell"/><br /><sub><b>Tom Russell</b></sub></a><br /><a href="https://github.com/pyOpenSci/python-package-guide/commits?author=tomalrussell" title="Code">💻</a> <a href="https://github.com/pyOpenSci/python-package-guide/pulls?q=is%3Apr+reviewed-by%3Atomalrussell" title="Reviewed Pull Requests">👀</a> <a href="#tutorial-tomalrussell" title="Tutorials">✅</a></td>
134135
</tr>
135136
</tbody>
136137
</table>

index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ by the community now! Join our community review process or watch development of
7171
:class-card: left-aligned
7272

7373
* [What is a Python package?](/tutorials/intro)
74-
* [Make your code installable](/tutorials/1-installable-code)
74+
* [Make your code installable](/tutorials/installable-code)
7575
* [Publish your package to (test) PyPi](/tutorials/publish-pypi)
7676
* [Publish your package to conda-forge](/tutorials/publish-conda-forge)
7777

package-structure-code/publish-python-package-pypi-conda.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Below you will learn more specifics about the differences between PyPI and conda
1919
:::
2020

2121

22-
:::{figure-md} pypi-conda-channels
22+
:::{figure-md} upload-conda-forge
2323

2424
<img src="../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">
2525

package-structure-code/python-package-build-tools.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ Build your sdist and wheel distributions|✅|Poetry will build your sdist and wh
403403

404404
<!-- TODO: responses here on poetry's future dev work: https://github.com/python-poetry/poetry/discussions/7525 -->
405405

406+
(challenges-with-poetry)=
406407
### Challenges with Poetry
407408

408409
Some challenges of Poetry include:

package-structure-code/python-package-distribution-files-sdist-wheel.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
# Learn about Building a Python Package
22

33

4-
:::{figure-md} pypi-conda-channels
4+
:::{figure-md} pypi-conda-overview
55

66
<img src="../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">
77

88
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.
99
:::
1010

1111
You need to build your Python package in order to publish it to PyPI (or a conda channel). 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. NOTE: you need to publish a sdist to PyPI in order for conda-forge to properly build your package automatically.
12-
:::
1312

1413
(build-package)=
1514
## What is building a Python package?

tests/run-tests.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Python versions.
1616

1717

1818

19-
### Tools to run your tests
19+
## Tools to run your tests
2020

2121
There are three categories of tools that will make is easier to setup
2222
and run your tests in various environments:
@@ -80,7 +80,7 @@ extensions that can be used to add functionality such as:
8080
- [pytest-cov](https://pytest-cov.readthedocs.io/en/latest/) allows you to analyze the code coverage of your package during your tests, and generates a report that you can [upload to codecov](https://codecov.io/).
8181

8282
:::{todo}
83-
[Learn more about code coverage here.](code-cov)
83+
Learn more about code coverage here. (add link)
8484
:::
8585

8686
```{note}

tests/tests-ci.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CI can also be triggered for pull requests and pushes to your repository. This m
66

77
::::{todo}
88
```{note}
9-
[Learn more about Continuous Integration and how it can be used, here.](ci)
9+
Learn more about Continuous Integration and how it can be used, here. (add link)
1010
```
1111
::::
1212

tutorials/add-license-coc.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ There are several ways to add a LICENSE file:
6262
:::{tip}
6363
If you completed the past lessons including
6464

65-
1. [Making your code installable](1-installable-code.md) and
65+
1. [Making your code installable](installable-code.md) and
6666
2. [publishing your package to PyPI](publish-pypi.md)
6767

6868
then you already have a **LICENSE** file containing text for the MIT license in your Python package. Thus you can skip to the next section of this tutorial which walks you through adding a CODE_OF_CONDUCT.
@@ -153,7 +153,7 @@ You can use your code of conduct as a tool that can be referenced when moderatin
153153
If you are unsure of what language to add to your `CODE_OF_CONDUCT`
154154
file, we suggest that you adopt the [contributor covenant language](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) as a starting place.
155155

156-
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](#)
156+
![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)
157157

158158
The `CODE_OF_CONDUCT.md` should be placed at the root of your project directory, similar to the LICENSE file.
159159

0 commit comments

Comments
 (0)