001. Part 1. Foundations
002. Chapter 1. The what and why of Python packages
003. Chapter 1. How packaging helps you
004. Chapter 1. Summary
005. Chapter 2. Preparing for package development
006. Chapter 2. Summary
007. Chapter 3. The anatomy of a minimal Python package
008. Chapter 3. Authoring package metadata
009. Chapter 3. Controlling source code and file discovery
010. Chapter 3. Including non-Python files in a package
011. Chapter 3. Summary
012. Part 2. Creating a viable package
013. Chapter 4. Handling package dependencies, entry points, and extensions
014. Chapter 4. Creating a C extension for Python
015. Chapter 4. Offering command-line tools from a Python package
016. Chapter 4. Specifying dependencies for Python packages
017. Chapter 4. Summary
018. Chapter 5. Building and maintaining a test suite
019. Chapter 5. Addressing testing tedium
020. Chapter 5. Summary
021. Chapter 6. Automating code quality tooling
022. Chapter 6. Analyzing type safety
023. Chapter 6. Creating a tox environment for code formatting
024. Chapter 6. Creating a tox environment for linting
025. Chapter 6. Summary
026. Part 3. Going public
027. Chapter 7. Automating work through continuous integration
028. Chapter 7. Continuous integration with GitHub Actions
029. Chapter 7. Converting manual tasks to GitHub Actions
030. Chapter 7. Publishing a package
031. Chapter 7. Summary
032. Chapter 8. Authoring and maintaining documentation
033. Chapter 8. Starting your documentation with Sphinx
034. Chapter 8. Publishing documentation to Read the Docs
035. Chapter 8. Documentation best practices
036. Chapter 8. Summary
037. Chapter 9. Making a package evergreen
038. Chapter 9. Getting the most out of GitHub
039. Chapter 9. Thresholding test coverage
040. Chapter 9. Updating Python syntax using pyupgrade
041. Chapter 9. Reducing rework using pre-commit hooks
042. Chapter 9. Summary
043. Part 4. The long haul
044. Chapter 10. Scaling and solidifying your practices
045. Chapter 10. Using namespace packages
046. Chapter 10. Scaling packaging in your organization
047. Chapter 10. Summary
048. Chapter 11. Building a community
049. Chapter 11. Provide supporting documentation for different user types
050. Chapter 11. Establish, provide, and enforce a code of conduct
051. Chapter 11. Conveying the project s road map, status, and changes
052. Chapter 11. Gather consistent information with issue templates
053. Chapter 11. Go forth
054. Chapter 11. Summary
055. Appendix A. Installing asdf and python-launcher
056. Appendix A. Installing python-launcher
057. Appendix B. Installing pipx, build, tox, pre-commit, and cookiecutter
058. Appendix B. Installing build
059. Appendix B. Installing tox
060. Appendix B. Installing pre-commit
061. Appendix B. Installing cookiecutter