{"id":18403570,"url":"https://github.com/judy2k/publishing_python_packages_talk","last_synced_at":"2025-04-07T07:32:43.260Z","repository":{"id":41471123,"uuid":"145769111","full_name":"judy2k/publishing_python_packages_talk","owner":"judy2k","description":"Resources and slides from the talk \"Publishing (Perfect) Python Packages on PyPI\"","archived":false,"fork":false,"pushed_at":"2020-08-31T10:21:54.000Z","size":2693,"stargazers_count":90,"open_issues_count":1,"forks_count":19,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T19:43:28.012Z","etag":null,"topics":["packaging","pypi","python","talk"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/judy2k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-22T22:22:11.000Z","updated_at":"2024-10-25T00:36:31.000Z","dependencies_parsed_at":"2022-07-07T15:48:33.605Z","dependency_job_id":null,"html_url":"https://github.com/judy2k/publishing_python_packages_talk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/judy2k%2Fpublishing_python_packages_talk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/judy2k%2Fpublishing_python_packages_talk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/judy2k%2Fpublishing_python_packages_talk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/judy2k%2Fpublishing_python_packages_talk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/judy2k","download_url":"https://codeload.github.com/judy2k/publishing_python_packages_talk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247612502,"owners_count":20966766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["packaging","pypi","python","talk"],"created_at":"2024-11-06T02:47:28.062Z","updated_at":"2025-04-07T07:32:38.634Z","avatar_url":"https://github.com/judy2k.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Publishing (Perfect) Python Packages On PyPI\n\nThis repo hosts slides and references for a talk I've given at PyCon Australia '18; PyCon UK '18; Python Glasgow, June '19; and upcoming EuroPython '19.\n\nPDF exports of different versions the slide deck can be found here (probably improving chronologically):\n\n* [PyCon Australia Slides](publish_on_pypi-pyconau18.pdf)\n* [PyCon UK Slides](publish_on_pypi-pyconuk18.pdf)\n* [Python Glasgow](publish_on_pypi-python_glasgow19.pdf)\n\n# References\n\nI referred to a bunch of different resources and projects when writing this talk. The primary sources I can think of are listed here:\n\n## [Packaging Python Projects](https://packaging.python.org/tutorials/packaging-projects/)\n\nThe official packaging documentation from the Python Packaging Authority.\n\n## [The Attrs Project](https://github.com/python-attrs/attrs)\n\nThis project has an excellent example of a non-trivial, but sensible setup.py. I've learned so much by following the evolution of this project.\n\n## [Cookiecutter](https://cookiecutter.readthedocs.io/en/latest/readme.html)\n\nSo much more than a source of python package templates, you'll find a bunch of project templates for different languages and ecosystems.\n\n## [Ionel's Python Library Template](https://github.com/ionelmc/cookiecutter-pylibrary)\n\nMy preferred Python library template, with configuration for testing, CI etc. It most closely matches the advice in this talk.\n\n## [Hitchikers Guide to Python Packaging](https://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/quickstart.html)\n\nAn outdated, but still useful guide to packaging in Python, from Tarek Ziadé.\n\n## [Setuptools Documentation](https://setuptools.readthedocs.io/en/latest/)\n\nThe official documentation of the setuptools library. Comprehensive but sometimes a little dense.\n\n## [PIP Documentation](https://pip.pypa.io/en/stable/)\n\nOfficial documentation for the PIP tool.\n\n\n# Alternative Package Managers\n\n## [Poetry](https://github.com/sdispater/poetry)\n\nAims to replace setup.py _and_ PIP.\n\n## [Flit](https://github.com/takluyver/flit)\n\nAims to replace setup.py with something simpler and more declarative.\n\n## [Conda](https://docs.conda.io/en/latest/)\n\nA competitor to pip, largely used in the data community. Able to install much more than just python modules!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjudy2k%2Fpublishing_python_packages_talk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjudy2k%2Fpublishing_python_packages_talk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjudy2k%2Fpublishing_python_packages_talk/lists"}