CorrePy (Corretagem Python) é uma lib responsável por parsear notas de corretagem no padrão B3 (Sinacor) e retornar os dados no formato JSON.
Project description
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:
- MyPy para checagem estática de tipos
- PyLint
- Black
- isort
Para verificar se o seu código continua de acordo com os critérios definidos, basta rodar ./pipeline/lint.sh
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file correpy-0.6.0.tar.gz
.
File metadata
- Download URL: correpy-0.6.0.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.2 Linux/5.15.0-1057-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e620f2a12078a16106fcabae5c33389c1bde18651888f581e2d718f1f6a116b |
|
MD5 | 6a50fdfac40c55bf46122b580dee3d30 |
|
BLAKE2b-256 | 6dd9424afb7f1e74520e904221df3faf7616c49910636692a2e3de89a482264b |
File details
Details for the file correpy-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: correpy-0.6.0-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.2 Linux/5.15.0-1057-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 066b01eb5a41ecd433cfd1af346ada29294b5bafa736592fbe3c2567fc0b2e0f |
|
MD5 | 9f999656cf53524d857b5fec4bfd5013 |
|
BLAKE2b-256 | c7905cb541276789134c3e6b82057f4ad2e75abc3796fd4eff981e68f553481b |