Skip to main content

pynubank

Python package PyPI - Python Version PyPI version Coverage Status Maintainability Join the chat at https://gitter.im/pynubank/pynubank

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. Você também pode utilizar o MockHttpClient descrito abaixo.

Realizando testes com dados falsos

Você pode utilizar este recurso para receber dados falsos para testar a sua solução sem correr riscos de ser bloqueado pelo Nubank e com tempo de resposta instantâneo. Para isso, utilize o exemplo a seguir:

from pynubank import Nubank, MockHttpClient

nu = Nubank(MockHttpClient())
nu.authenticate_with_cert("qualquer-cpf", "qualquer-senha", "caminho/do_certificado.p12") # Essa linha funciona porque não estamos chamando o servidor do Nubank ;)

# Qualquer método chamado não passará pelo Nubank e terá o retorno instantâneo.

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()

# Retorna um dicionário contendo os detalhes de uma transação retornada por get_card_statements()
# Contém as parcelas da transação
card_statement_details = nu.get_card_statement_details(card_statements[0])

# 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 ! 😋

Metadata

Release files for pynubank 2.25.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pynubank 2.25.0
File Size Uploaded
pynubank-2.25.0.tar.gz 35.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pynubank 2.25.0
File Interpreter ABI Platform
pynubank-2.25.0-py3-none-any.whl Python 3 none any Details

Total release size: 85.5 kB

Release files / pynubank-2.25.0.tar.gz

Download URL pynubank-2.25.0.tar.gz
Size 35.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f7c46b3a6bcbbcce223a055a9555c58b20dd85fb1831558059428d78c92bb11d
BLAKE2b-256 checksum
How to use checksums
8d2324a6e551bc3ce746ec4970f0aac25fb55667f0fadd0aeb5f490a6860d1d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / pynubank-2.25.0-py3-none-any.whl

Download URL pynubank-2.25.0-py3-none-any.whl
Size 49.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be6587be906a8173d92757b05fcac8c0285b7e43c0d2d40f9057bab14689dd9b
BLAKE2b-256 checksum
How to use checksums
7971aeca7533205c30c32620b1b8d0015679b0a02c9365ce28d98526fdaaf2eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

2.25.0 This release

2 release files

2.24.0

2 release files

2.22.0

2 release files

2.19.1

2 release files

2.18.0

2 release files

2.17.0

2 release files

2.16.0

2 release files

2.14.0

2 release files

2.13.0

1 release file

2.12.1

1 release file

2.12.0

1 release file

2.11.2

1 release file

2.11.1

1 release file

2.11.0

1 release file

2.10.0

1 release file

2.9.1

1 release file

2.9.0

1 release file

2.8.0

1 release file

2.7.2

1 release file

2.7.1

1 release file

2.7.0

1 release file

2.6.1

1 release file

2.6.0

1 release file

2.5.0

1 release file

2.4.0

1 release file

2.2.1

1 release file

2.2.0

1 release file

2.1.1

1 release file

2.1.0

1 release file

2.0.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.19

1 release file

0.18

1 release file

0.17

1 release file

0.16

1 release file

0.15

1 release file

0.14

1 release file

0.11

1 release file

0.10

1 release file

0.9

1 release file

0.8

1 release file

0.3

1 release file

0.2

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page