Skip to main content

thiagosalvatore PyPI version

CorrePy

CorrePy (Corretagem Python) é uma lib responsável por parsear notas de corretagem no padrão B3 (Sinacor) e retornar os dados em um formato estruturado para que você possa utilizar em suas aplicações.

Instalação

Este projeto suporta qualquer versão do python >= 3.8

pip install correpy

Como usar

Depois de instalada, sua utilização é extremamente simples. Primeiramente vamos precisar abrir o PDF com a nota de corretagem. Se você estiver utilizando essa lib em uma API, você precisará transformar seu arquivo PDF em BytesIO.

import io

with open('path to your pdf file', 'rb') as f:
    content = io.BytesIO(f.read())
    content.seek(0)

O conteúdo da sua nota de corretagem estará na variável content e é ela quem iremos usar para inicializar a nossa lib. Se a sua nota de corretagem possuir senha, você precisará informar também, caso contrário o parser nâo irá funcionar.

import io

from correpy.parsers.brokerage_notes.parser_factory import ParserFactory

with open('path to your pdf file', 'rb') as f:
    content = io.BytesIO(f.read())
    content.seek(0)
    
    brokerage_notes = ParserFactory(brokerage_note=content, password="password").parse_brokerage_note()

Resultado

Depois de efetuar o parser da sua nota de corretagem, correpy irá retornar uma lista no formato abaixo. Os valores de cada campo serão explicados em seguida.

[
    BrokerageNote(
        reference_date=date(2022, 5, 2),
        settlement_fee=Decimal("7.92"),
        registration_fee=Decimal("0"),
        term_fee=Decimal("0"),
        ana_fee=Decimal("0"),
        emoluments=Decimal("1.58"),
        operational_fee=Decimal("0"),
        execution=Decimal("0"),
        custody_fee=Decimal("0"),
        taxes=Decimal("0"),
        others=Decimal("0"),
        transactions=[
            Transaction(
                transaction_type=TransactionType.SELL,
                amount=54,
                unit_price=Decimal('24.99'),
                security=Security(
                    name='BBSEGURIDADE ON NM'
                )
            ),
            Transaction(
                transaction_type=TransactionType.BUY,
                amount=200,
                unit_price=Decimal('17.29'),
                security=Security(
                    name='MOVIDA ON NM'
                )
            )
        ]
    )
]

Descrição das entidades

Abaixo você pode encontrar a descrição de cada um dos campos retornados.

Brokerage Note

BrokerageNote
reference_id Número da nota
reference_date Data do pregão
settlement_fee Taxa de liquidação
registration_fee Taxa de registro
term_fee Taxa de termo/opções
ana_fee Taxa A.N.A
emoluments Emolumentos
operational_fee Taxa Operacional
execution Execução
custody_fee Taxa de custódia
source_withheld_taxes IRRF
taxes Impostos
others Outros
transactions Lista de transações

Transaction

Transaction
transaction_type Enum com o tipo de transação (BUY - compra, SELL - venda)
amount Quantidade
unit_price Valor unitário
security Objeto Security representando um título
source_witheld_taxes IRRF retido na fonte (0.005% sobre o valor total de venda)

Security

Security
name Especificação do título

Como contribuir

Estamos utilizando poetry para gerenciar o projeto e suas dependencias.

Este projeto ainda está em evolução e qualquer PR é bem vindo. Algumas ferramentas estão sendo utilizadas para melhorar a qualidade do código:

  1. MyPy para checagem estática de tipos
  2. PyLint
  3. Black
  4. isort

Para verificar se o seu código continua de acordo com os critérios definidos, basta rodar ./pipeline/lint.sh.

Metadata

Release files for correpy 0.6.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 correpy 0.6.0
File Size Uploaded Provenance Actions
correpy-0.6.0.tar.gz 16.2 kB Without provenance Details for correpy-0.6.0.tar.gz

Built distribution (wheel)

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

Total release size: 41.0 kB

Release files / correpy-0.6.0.tar.gz

Download URL correpy-0.6.0.tar.gz
Size 16.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2e620f2a12078a16106fcabae5c33389c1bde18651888f581e2d718f1f6a116b
BLAKE2b-256 checksum
How to use checksums
6dd9424afb7f1e74520e904221df3faf7616c49910636692a2e3de89a482264b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.2 Linux/5.15.0-1057-aws

Release files / correpy-0.6.0-py3-none-any.whl

Download URL correpy-0.6.0-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
066b01eb5a41ecd433cfd1af346ada29294b5bafa736592fbe3c2567fc0b2e0f
BLAKE2b-256 checksum
How to use checksums
c7905cb541276789134c3e6b82057f4ad2e75abc3796fd4eff981e68f553481b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.2 Linux/5.15.0-1057-aws

Security for correpy 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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