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.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.