Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
db390c8
Rebase 1
lwasser Feb 2, 2023
47ca25a
Fix: edits to package guide from review
lwasser Feb 2, 2023
e114a1b
Fix: cleanup packaging page and add decision tree diagram
lwasser Feb 16, 2023
4db3074
Add: more edits from massive pr
lwasser Feb 17, 2023
9cae7fa
Fix: final edits to packaging section broken links etc
lwasser Feb 22, 2023
3c6f7ff
Update index.md
lwasser Mar 13, 2023
9be2c29
Apply suggestions from code review
lwasser Mar 13, 2023
f657772
Apply suggestions from code review
lwasser Mar 13, 2023
cf36261
Apply suggestions from code review
lwasser Mar 13, 2023
755cdd5
Apply suggestions from code review
lwasser Mar 13, 2023
3e78288
Fix: Apply suggestions from code review
lwasser Mar 13, 2023
0c4b77c
Fix: confpy file
lwasser Mar 13, 2023
0a9cf7a
Fix: clean up some of the discussion around poetry
lwasser Mar 13, 2023
659ffeb
Updated decision tree diagram
lwasser Mar 13, 2023
61b86eb
Update package-structure-code/python-package-structure.md
lwasser Mar 13, 2023
4b80f31
Update package-structure-code/complex-python-package-builds.md
lwasser Mar 15, 2023
7ba8292
Update package-structure-code/intro.md
lwasser Mar 15, 2023
b64b59a
Fix: many more comments from review 2
lwasser Mar 15, 2023
40eb8c6
A few more fixes to the build tools page
lwasser Mar 15, 2023
1cbae63
Update package-structure-code/complex-python-package-builds.md
lwasser Mar 16, 2023
fbf3ded
Update package-structure-code/python-package-distribution-files-sdist…
lwasser Mar 16, 2023
b082fb1
Fix: csv table delim and numerous other review fixes
lwasser Mar 16, 2023
f2c1966
Fix: remove notes from docs
lwasser Mar 16, 2023
4a75fd9
Update package-structure-code/python-package-build-tools.md
lwasser Mar 16, 2023
e46dab2
Update package-structure-code/python-package-distribution-files-sdist…
lwasser Mar 16, 2023
68f5723
Update package-structure-code/python-package-distribution-files-sdist…
lwasser Mar 16, 2023
bef6801
Fix: many more great comments to address
lwasser Mar 16, 2023
a28b971
Fix: more edits from the current review
lwasser Mar 20, 2023
45b7ff8
Add: new cleaned up diagram
lwasser Mar 21, 2023
d427e08
Fix: clarify the section on adding tests to src layout
lwasser Mar 21, 2023
5c74e82
Cleanup of package structure page
lwasser Mar 22, 2023
6d1cd13
Final edits?! yaas
lwasser Mar 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update package-structure-code/complex-python-package-builds.md
Co-authored-by: Henry Schreiner <[email protected]>
  • Loading branch information
lwasser and henryiii authored Mar 16, 2023
commit 1cbae6395ef88cf6afecbc037932dcd56b6d0dde
3 changes: 2 additions & 1 deletion package-structure-code/complex-python-package-builds.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ back-end tools.
1. **Pure-python packages:** these are packages that only rely on Python to function. Building a pure Python package is simpler. As such, you can chose a tool below that
has the features that you want and be done with your decision!
2. **Python packages with non-Python extensions:** These packages have additional components called extensions written in other languages (such as C or C++). If you have a package with non-python extensions, then you need to select a build back-end tool that allows you to add additional build steps needed to compile your extension code. Further, if you wish to use a front-end tool to support your workflow, you will need to select a tool that
supports additional build setps. In this case, you could use setuptools. However, we suggest that you chose build tool that supports custom build steps such as Hatch with Hatchling or PDM. PDM is an excellent choice as it allows you to also select your build back-end of choice. We will discuss this at a high level on the complex builds page. 3.**Python packages that have extensions written in different languages (e.g. fortran and C++) or that have non Python dependencies that are difficult to install (e.g. GDAL)** These packages often have complex build steps (more complex than a package with just a few C extensions for instance). As such, these packages require tools such as [scikit-build](https://scikit-build.readthedocs.io/en/latest/)
supports additional build setps. In this case, you could use setuptools. However, we suggest that you chose build tool that supports custom build steps such as Hatch with Hatchling or PDM. PDM is an excellent choice as it allows you to also select your build back-end of choice. We will discuss this at a high level on the complex builds page.
3.**Python packages that have extensions written in different languages (e.g. Fortran and C++) or that have non Python dependencies that are difficult to install (e.g. GDAL)** These packages often have complex build steps (more complex than a package with just a few C extensions for instance). As such, these packages require tools such as [scikit-build](https://scikit-build.readthedocs.io/en/latest/)
or [meson-python](https://mesonbuild.com/Python-module.html) to build. NOTE: you can use meson-python with PDM.

<!--
Expand Down