Entendendo o arquivo pyproject.toml | Live de Python #257

4,400 بازدید
بیشتر
Eduardo Mendes
Eduardo Mendes
Nessa live vamos discutir um pouco sobre a estrutura do arquivo pyproject.toml e sobre sistemas de build, como usar o pyproject. ...
Nessa live vamos discutir um pouco sobre a estrutura do arquivo pyproject.toml e sobre sistemas de build, como usar o pyproject.toml com pip e as ferramentas que já suportam o padrão.

Vamos viajar um pouco pela história do empacotamento para entender toda a problemática envolvida.

-------------------

O canal é mantido por uma iniciativa de financiamento coletivo:

Apoia-se: https://apoia.se/livedepython
picpay: @dunossauro
Chave pix: [email protected]
Meus contatos e redes: http://dunossauro.com/

-------------------

Código e Slides: https://github.com/dunossauro/live-de...
Telegram da live: https://t.me/livepython
Temas das próximas lives: https://github.com/dunossauro/live-de...

--------------------

Referências

PEPs:
PEP 440 – Version Identification and Dependency Specification: https://peps.python.org/pep-0440/
PEP 427 – The Wheel Binary Package Format 1.0: https://peps.python.org/pep-0427/
PEP 517 – A build-system independent format for source trees: https://peps.python.org/pep-0517/
PEP 518 – Specifying Minimum Build System Requirements for Python Projects: https://peps.python.org/pep-0518/
PEP 660 – Editable installs for pyproject.toml based builds (wheel based): https://peps.python.org/pep-0660/
PEP 631 – Dependency specification in pyproject.toml based on PEP 508: https://peps.python.org/pep-0631/
PEP 621 – Storing project metadata in pyproject.toml: https://peps.python.org/pep-0621/
PEP 643 – Metadata for Package Source Distributions: https://peps.python.org/pep-0643/
PEP 680 – tomllib: Support for Parsing TOML in the Standard Library: https://peps.python.org/pep-0680/

Documentação:
PyPA – Packaging History: https://www.pypa.io/en/latest/history/
PyPA – Wheel vs Egg: https://packaging.python.org/en/lates...
PyPA – Platform compatibility tags: https://packaging.python.org/en/lates...
PyPA – pip vs easy_install: https://packaging.python.org/en/lates...
PyPA – Virtualenv:vhttps://virtualenv.pypa.io/en/stable/...
Hatch FAQ: https://hatch.pypa.io/1.9/meta/faq/
Buildsystems no pyproject.toml: https://pip.pypa.io/en/stable/referen...
Remoção do setup.py do pip: https://pip.pypa.io/en/stable/news/#v...
Especificação corrente do pyproject.toml: https://packaging.python.org/en/lates...
Black – What on Earth is a pyproject.toml file?: https://black.readthedocs.io/en/stabl...
Especificação do formato toml: https://toml.io/pt/v1.0.0
Build: https://build.pypa.io/en/stable/

Blogs:
Brett Cannon – What the heck is pyproject.toml?: https://snarky.ca/what-the-heck-is-py...
Brett Cannon – Clarifying PEP 518 (a.k.a. pyproject.toml): https://snarky.ca/clarifying-pep-518/
Donald Stufft – setup.py vs requirements.txt: https://caremad.io/posts/2013/07/setu...
Martin Thomas – Python Requirements: https://martin-thoma.com/python-requi...
The Invent with Python Blog –  A Curriculum for Python Packaging: https://inventwithpython.com/blog/201...

Wiki
Python – SIGs: https://www.python.org/community/sigs/
PEAK – The Quick Guide to Python Eggs: http://peak.telecommunity.com/DevCent...
Wikipedia – History of Python: https://en.wikipedia.org/wiki/History...
Discuss – How should a lockfile PEP (665 successor) look like?: https://discuss.python.org/t/how-shou...
Discuss – Where the name “Wheel” comes from?: https://discuss.python.org/t/where-th...

Vídeos:
Dustin Ingram – Inside the Cheeseshop: How Python Packaging Works: Inside the Cheeseshop:How Python Pack...
Ernest W. Durbin III – Running Vintage Software: PyPI's Aging Codebase :Running Vintage Software: PyPI's Agin...


Links citados:
Vaults of Parnassus: https://web.archive.org/web/200804061...
PyPI: https://pypi.org/
Setuptools: https://setuptools.readthedocs.io/en/...
Distultils: https://docs.python.org/3.9/library/d...
Flit: https://flit.pypa.io/en/stable/
Poetry: https://python-poetry.org/
Hatch: https://hatch.pypa.io/

همه توضیحات ...