marcydoty / pynubank

Acesse seus extratos do Nubank pelo Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pynubank

PyPI - Python Version PyPI version Coverage Status Maintainability

Acesse seus extratos do Nubank pelo Python (Baseado na versão js)

Instalação

Disponível via pip

pip install pynubank

Autenticação

Primeiro de tudo, precisamos nos autenticar.

Para isso, além do seu CPF e senha usuais, precisamos de um fator extra de autenticação.

Temos 3 opções disponíveis, com seus respectivos exemplos:

Tendo seguido com sucesso uma das opções, você pode tentar um dos exemplos a seguir!

Exemplos

⚠️ Atenção: O Nubank pode bloquear a sua conta por 72 horas caso detecte algum comportamento anormal ! Por conta disso, evite enviar muitas requisições. Se for necessário, faça um mock da resposta ou utilize o Jupyter durante o desenvolvimento para que o bloqueio não ocorra.

Cartão de Crédito

from pynubank import Nubank

nu = Nubank()

# Insira aqui o código para se autenticar!
# Veja a seção acima sobre autenticação para mais detalhes ;)

# Lista de dicionários contendo todas as transações de seu cartão de crédito
card_statements = nu.get_card_statements()

# Soma de todas as compras
print(sum([t['amount'] for t in card_statements]))

# Lista de dicionários contendo todas as faturas do seu cartão de crédito
bills = nu.get_bills()

# Retorna um dicionário contendo os detalhes de uma fatura retornada por get_bills()
bill_details = nu.get_bill_details(bills[1])

NuConta

from pynubank import Nubank

nu = Nubank()

# Insira aqui o código para se autenticar!
# Veja a seção acima sobre autenticação para mais detalhes ;)

# Lista de dicionários contendo todas as transações de seu cartão de crédito
account_statements = nu.get_account_statements()

# Soma de todas as transações na NuConta
# Observacão: As transações de saída não possuem o valor negativo, então deve-se olhar a propriedade "__typename".
# TransferInEvent = Entrada
# TransferOutEvent = Saída
# TransferOutReversalEvent = Devolução
print(sum([t['amount'] for t in account_statements]))

# Saldo atual
print(nu.get_account_balance())

Mais exemplos

A pasta examples possui mais referencias de uso com autenticação e visualização dos dados.

Testes

  1. Instale os requirements
  2. Execute o comando pytest
$ pip install -r requirements.txt
$ pip install -r requirements-test.txt

$ pytest

Contribuindo

Envie sua PR para melhorar esse projeto ! 😋

About

Acesse seus extratos do Nubank pelo Python

License:MIT License


Languages

Language:Python 100.0%