Trabalhando com bibliotecas

Em fase de testes Atividades: Esta seção está em validação e pode sofrer ajustes.

Uma biblioteca (ou package) é um conjunto de código pronto para reaproveitar. Em vez de implementar tudo do zero, você instala bibliotecas e usa funções já testadas. A linguagem Python tem um vasto ecossistema — desde a biblioteca padrão (já vem instalada) até dezenas de milhares de pacotes de terceiros no PyPI.

Biblioteca padrão

Instalada com Python. Não precisa de pip. Exemplos usados nesta trilha:

MóduloPara que serve
osVariáveis de ambiente, caminhos de sistema
jsonLer e escrever JSON
csvLer e escrever CSV (sem Pandas)
datetimeDatas e horas
pathlibCaminhos de arquivos modernos
itertoolsIteração avançada (ver itertools)
reExpressões regulares
import json
import datetime as dt
from pathlib import Path

agora = dt.datetime.now()
caminho = Path("dados") / "saida.json"

Bibliotecas de terceiros (PyPI)

São instaladas via pip ou conda. Nesta trilha, as principais são:

BibliotecaOnde é usada
requestsRequisições HTTP — ver coleta
beautifulsoup4Parsing de HTML — pip install beautifulsoup4, importa como bs4
seleniumAutomação de navegador para páginas dinâmicas
tinydbBanco JSON simples — ver armazenamento
pandasAnálise de dados — ver análise
numpyCálculo numérico (base do Pandas)
matplotlib, plotlyGráficos
python-dotenvCarregar variáveis de ambiente de um arquivo .env

Instalação

Com pip

pip install requests beautifulsoup4 pandas

pip baixa e instala no Python ativo. Para listar o que já está instalado:

pip list
pip show requests       # detalhes da biblioteca

Com conda

conda install -c conda-forge requests beautifulsoup4 pandas

conda é mais robusto para bibliotecas com dependências em C (NumPy, SciPy).

Em ambiente virtual (recomendado)

Para não bagunçar o Python global, crie um ambiente virtual por projeto. Veja a parada de ambiente para detalhes.

Importação

Há três formas, em ordem de uso:

# 1. Importa o módulo inteiro (verboso, explícito)
import json
dados = json.dumps({"a": 1})

# 2. Importa com apelido (convenção da comunidade)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.express as px

# 3. Importa só o necessário
from datetime import datetime, timedelta
from pathlib import Path
⚠️ Aviso

Evite from biblioteca import *. Polui o namespace e dificulta saber de onde cada função veio.

Apelidos canônicos

A comunidade convencionou apelidos — siga-os para que outras pessoas leiam seu código com facilidade:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
import seaborn as sns

Variáveis de ambiente com python-dotenv

Para guardar credenciais e configurações fora do código, use um arquivo .env:

# .env
DB_PASSWORD=minhasenha
API_KEY=abc123

E carregue no Python:

import os
from dotenv import load_dotenv

load_dotenv()                       # carrega o .env

senha = os.getenv("DB_PASSWORD")
chave = os.getenv("API_KEY")
⚠️ Aviso

Adicione .env ao .gitignore para não versionar credenciais. Versione apenas um .env.example com as chaves vazias, para outros desenvolvedores saberem o que precisam configurar.

requirements.txt e environment.yml

Para que outras pessoas reproduzam seu ambiente, declare as dependências em um arquivo:

requirements.txt (pip):

requests>=2.31
beautifulsoup4>=4.12
pandas>=2.0

Instalar tudo de uma vez:

pip install -r requirements.txt

environment.yml (conda):

name: meu-projeto
channels:
  - conda-forge
dependencies:
  - python=3.11
  - requests
  - beautifulsoup4
  - pandas
conda env create -f environment.yml

Pesquisar bibliotecas

Antes de adotar uma biblioteca, verifique:

  • Manutenção ativa: último commit recente, issues respondidas.
  • Documentação clara: README com exemplos, não só docstrings.
  • Adoção: estrelas no GitHub e downloads no PyPI são bons indicadores.
  • Licença: compatível com o uso pretendido.