Sistema de módulos e pacotes, como funcionam? | Live de Python #287

Sistema de módulos e pacotes, como funcionam? | Live de Python #287

3.342 Lượt nghe
Sistema de módulos e pacotes, como funcionam? | Live de Python #287
Nessa live, vamos conversar sobre o sistema de módulos do Python: suas características, funcionamento e algumas façanhas interessantes que ele permite. Vamos passar por nomes padrão, nomes *dunder*, formas de customização de acesso, pacotes regulares, pacotes de namespace (PEP 420) e outras partes importantes desse mecanismo que o Python usa para organizar e carregar código. Se você já ouviu falar em `__getattr__`, `__all__`, ou ficou confuso sobre o que acontece por trás de um simples `import`, essa live vai te ajudar a entender tudo isso com calma e em detalhes. --- O canal é mantido por 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 da live: https://github.com/dunossauro/live-de-python - Telegram da live: https://t.me/livepython - Temas das próximas lives: https://github.com/dunossauro/live-de-python/issues/568 - Lista de lives anteriores: https://github.com/dunossauro/live-de-python/blob/main/codigo/README.md --- ### Referências: PEPs: - PEP 8 – https://peps.python.org/pep-0008/#module-level-dunder-names - PEP 562 – https://peps.python.org/pep-0562/ - PEP 420 – https://peps.python.org/pep-0420/ Links citados: - Módulos – https://docs.python.org/pt-br/3.13/tutorial/modules.html - Pacotes – https://docs.python.org/pt-br/3.13/tutorial/modules.html#packages - Every dunder method – https://www.pythonmorsels.com/every-dunder-method/ - Discuss – https://discuss.python.org/t/module-level-getattr-and-from-imports/32236/7 - flat vs src: https://packaging.python.org/en/latest/discussions/src-layout-vs-flat-layout/ Versionamento dinâmico: - Packaging – https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#version - Setuptools – https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata - Hatch – https://hatch.pypa.io/1.12/version/#configuration Lives citadas: - Escopos e namespaces: https://youtu.be/nWmPEgTwGMM - Sistema de imports: https://youtu.be/a5R5dvim6TQ - Pyproject: https://youtu.be/6p1HKaHrk0Y