Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
O que é o crypto-float-monitor
A interface é mínima e discreta, ocupando pouco espaço na tela e permanecendo sempre no topo das outras janelas. Isso permite que o usuário acompanhe o preço enquanto trabalha, joga, estuda ou realiza outras atividades.
Controles rápidos
- Arrastar com o mouse: reposiciona o widget na tela.
- Pressionar `q`: fecha o aplicativo imediatamente.
Simples e direto.
Como instalar e executar
O primeiro passo é clonar o repositório do projeto:git clone https://github.com/fberbert/crypto-float-monitor.git
cd crypto-float-monitor
Para rodar o aplicativo, basta criar um ambiente virtual e instalar o projeto em modo editável:
python -m venv .venv
source .venv/bin/activate
Instale as dependências definidas no pyproject.toml:
pip install -e .
Execute o aplicativo com:
crypto-float-monitor
Ao ser iniciado pela primeira vez, o programa cria automaticamente um arquivo de configuração em: ${XDG_CONFIG_HOME:-$HOME/.config}/crypto-float-monitor/config.json
O conteúdo padrão é:
"symbol": "BTCUSDT"
}
Você pode editar esse arquivo para monitorar qualquer outro par disponível na Binance, como ETHUSDT, BNBUSDT, entre outros.
Arquivo AppImage
Ao invés de clonar e instalar o projeto manualmente, você pode baixar a versão pré-compilada em AppImage diretamente da página de releases do GitHub:Baixe o arquivo crypto-float-monitor-x.y.z-x86_64.AppImage, dê permissão de execução e rode-o:
chmod +x crypto-float-monitor-*.AppImage
./crypto-float-monitor-*.AppImage
Também é aconselhável mover o arquivo AppImage para um diretório presente no PATH, como /usr/local/bin ou $HOME/.local/bin, para facilitar a execução. Exemplo:
mv crypto-float-monitor-*.AppImage $HOME/.local/bin/crypto-float-monitor
Criando um arquivo .desktop
Para facilitar o lançamento do aplicativo a partir do menu do sistema, você pode criar um arquivo .desktop. Crie o arquivo $HOME/.local/share/applications/crypto-float-monitor.desktop com o seguinte conteúdo:Encoding=UTF-8
Name=Crypto Float Monitor
Exec=/home/SEU-USUARIO/.local/bin/crypto-float-monitor %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=bitcoin
Obs.: estou considerando que você baixou o AppImage para $HOME/.local/bin/crypto-float-monitor. Se você clonou o repositório e instalou via pip, ajuste o campo Exec para apontar para o script instalado no ambiente virtual ou diretamente no PATH.
Em seguida, para atualizar a lista de aplicativos, execute:
update-desktop-database $HOME/.local/share/applications
Compatibilidade e requisitos
- Python 3.10 ou superior
- Distribuições Linux com ambiente gráfico (X11 ou Wayland)
- Suporte a PyQt6 instalado no sistema
Geração e distribuição como AppImage
Estrutura principal do projeto
- pyproject.toml: define metadados e dependências.
- src/crypto_float_monitor/binance_client.py: cliente WebSocket que assina o stream da Binance.
- src/crypto_float_monitor/widget.py: responsável pela interface flutuante.
- src/crypto_float_monitor/main.py: ponto de entrada (`crypto-float-monitor`).
Conclusão
O crypto-float-monitor é uma ferramenta leve e prática para quem deseja acompanhar o preço do Bitcoin diretamente na área de trabalho, sem distrações e com atualização contínua. Sua configuração simples e a possibilidade de ajustar o par monitorado o tornam útil tanto para traders quanto para curiosos que acompanham o mercado cripto.Se você utiliza Linux e quer uma forma rápida e eficiente de acompanhar o mercado, vale experimentar.
Contribuições, sugestões e feedbacks são bem-vindos no repositório do projeto no GitHub.
sudo chown -R $USER:$USER /home/seu_usuario/crypto-float-monitor/.venv
sudo chmod -R u+w /home/seu_usuario/crypto-float-monitor/.venv
para então rodar "source .venv/bin/activate".
E, ao rodar "crypto-float-monitor", ficou dando essa mensagem, mesmo tendo instalado os pacotes que pede ali:
"(.venv) kluster@cservidor:~/crypto-float-monitor$ crypto-float-monitor
[Main] Inicializando QApplication...
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, wayland-brcm, wayland-egl, wayland, xcb.
Abortado"
Apaguei o .venv, recriei e refiz "pip install -e ." e a mensagem persistiu.
Então rodei:
sudo apt install python3-pyqt6 python3-pyqt6.qtwebengine
E a mensagem desapareceu, mas ao rodar "crypto-float-monitor" ficou a mensagem de "Carregando..." e não saiu disso.
No terminal fica assim:
":~/crypto-float-monitor$ crypto-float-monitor
[Main] Inicializando QApplication...
[BinancePriceStreamer] Inicializando streamer para BTCUSDT
[BinancePriceStreamer] Iniciando thread de stream...
[BinancePriceStreamer] Conectando em wss://stream.binance.com:9443/ws/btcusdt@trade
[FloatingPriceWidget] Widget inicializado e stream iniciado.
[Main] Widget exibido, iniciando loop de eventos.
[FloatingPriceWidget] Status de conexão atualizado: Connecting…
[FloatingPriceWidget] Widget posicionado inicialmente em PyQt6.QtCore.QPoint(1599, 20)
[BinancePriceStreamer] Erro recebido: [Errno 110] Tempo esgotado para conexão
[BinancePriceStreamer] WebSocket fechado.
[BinancePriceStreamer] Aguardando 3.0s para reconectar...
[FloatingPriceWidget] Status de conexão atualizado: Erro: [Errno 110] Tempo esgotado para conexão
[FloatingPriceWidget] Status de conexão atualizado: Desconectado
[FloatingPriceWidget] Status de conexão atualizado: Reconectando…
[BinancePriceStreamer] Conectando em wss://stream.binance.com:9443/ws/btcusdt@trade
[FloatingPriceWidget] Status de conexão atualizado: Connecting…"
Com o AppImage não testei.
_________________________________________________________
Rule number one: Always listen 'to' Buck!
Enquanto o cursor estiver pulsando, há vida!