Git e Liberações

Volta e meia precisamos separar os arquivos que foram alterados em uma lista de commits…

Para isto eu criei um pequeno script que faz isto, lista os arquivos de N commits do git, copia-os para uma pasta separada e gera um arquivo com a lista dos commits atingidos.

É um script muito simples, mas que vai me ajudar muito.

Link: http://bit.ly/Uiyj3d

Anúncios

Woof + Localtunnel

Uma dica bem interessante para quem precisa volta e meia compartilhar alguma porta web do seu computador local pela rede e internet.

Assim, digamos que você está fazendo um site em Flask ou Django por exemplo, que fica localmente exporto na porte 5000 ou 8000 geralmente, então você quer que seu amigo, lá da casa dele possa dar uma olhada. Como faz ? Sobe ele para uma hospedagem paga ? Sobe ele para um Heroku da vida ? Trabalheira heim … com o Localtunnel você faz isto muito facilmente. O que ocorre é que ele cria uma url não muito amigável, mas fácil de lembrar até, e esta url aponta para seu micro na porta que você indicou, ou seja, seu amigo acessando a url vai estar acessando o seu aplicativo.

basta um simples comando:

$ localtunnel 5000

Blz !

Agora, o woof é um script em python que facilita muito quem quer rapidamente compartilhar via web, na rede interna, um arquivo ou diretório, ou até mesmo receber um arquivo de alguem. Com o woof você não precisa de servidor web, de samba, de libs, de nada.. apenas Python. Por isto a facilidade ! Claro, ele não é um servidor web para produção obviamente.

Para compartilhar um endereço para upload:

$ python woof.py -U

Para compartilhar um arquivo para downoad:

$ python woof.py [-i <ip_addr>] [-p <port>] [-c <count>] <file>

Agora, imagina você utilizando o woof junto com o localtunnel ? Legal não, você tem a facilidade toda do woof na web mundial ! Uhu !

Fonts:

woof : http://www.home.unix-ag.org/simon/woof.html
l
ocaltunnel: http://progrium.com/localtunnel/

Editores e IDEs para Python

O Python é por si só uma grande linguagem e nos dá várias ferramentas que auxiliam na edição dos códigos. Porém estas ferramentas são um tanto quanto manuais.

Tem gente que prefere, mas tem gente que gosta de uma boa IDE para programar, que principalmente nos auxilie a lembrar das coisas com o autocompletar de código, tenha colorização de sintaxe, e por ai vai.. e eu sou um destes !

Então, venho por tempos sempre utilizando algumas IDE, alguns editores mais simples, e a todo tempo trocando de preferência ! hehe Normal, principalmente porque o Python não necessita de uma IDE completa para poder ser programado, mas sim de apenas um terminal de comando e um editor de texto simples.

Abaixo vou listar algumas IDEs que jah utilizei, e outras que somente vi falr, e fazer pequenos comentários sobre cada uma :

KomodoEdit – É a versão free da IDE KomodoIDE, atualmente na versão 6. É uma ótima IDE, mas tem features desativadas pelo fato de ser a versão free.

WingIDE 101 – É a versão free da Wing IDE, que tem também versão professional e personal. Creio que seja uma das mais completas, mas também tem features desativadas.

PyDev – É um plugin para o ambiente do Eclipse, que para mim é ótimo. Porém acaba se tornando um pouco mais pesado do que os outros.

PyCharm – É uma IDE mais nova, e foi desenvolvida direcionada ao Django. Esta é muito bem falada, porém é paga, mas todos os relatos são do nivel: — Vale cada centavo pago! Tem uma versão trial completa por 30 dias.

NINJA-Ide – Me pareceu muito boa, mas ao rodar ela não consegui fazer funcionar de cara o autocompletar. Acabei por desistir de testar mais. Porém me parece ser uma ótima IDE.

Spyder – Um ótimo e leve ambiente integrado de desenvolvimento Python. Funciona juntamente com o pdb para debug e pylint para verificação de código.

Entre todos, neste momento, o Spyder foi a minha escolha.

Porque ?

Porque é um ambiente que facilmente foi instalado, tem uma organização de janelas muito boa por padrão, tem debugger integrado, porém não fugindo da ferramenta da linguagem, que é o pdb, utiliza também o Pylint que é muito competente para averiguação de erros no código e além de tudo, é muito leve. Além de que não precisei fazer nada para tudo sair funcionando de cara, principalmente o autocompletar. Ah, ela é feita em PyQt, então tem que ter esta biblioteca instalada.

Segue uma tela dele logo abaixo.

Spyder Python IDE

Spyder Python IDE

Ok ! Então esta foi minha escolha atual, testada e aprovada!

Comentem e digam qual ide python mais gostam e porque ?

Vlw.. abraços

Mais um promissor editor Python

Snaked

Está ai um editor para código python que me parece muuuito bom. É baseado no modo de trabalho do Scribes, ficando bem clean e leve.

Snaked screenshot

Tem:

  • Interface leve
  • Controle focado no teclado
  • Projetos automáticos
  • Nevegação em projeto com um “Quick Open”
  • Sessões
  • Python autocomplete
  • Templates de códigos python
  • entre outras…

Eu ainda não o testei, mas estou a fim de fazê-lo !

No site do projeto você encontra maiores informações bem como o link para a documentação.

Notificação de Novos emails – Python/Win32

Precisei estes dias de uma aplicaçãozinha simples que avisasse a chegada de novos emails de uma conta pop3. Procurei, procurei, procurei e não achei nada simples! Todas elas tem muitas configurações, e muitas coisas desnecessárias… pois bem! Acabei fazendo uma ! hehehe

Só que, como na empresa não utilizamos linux nas estações de trabalho, precisava montas uma que funcionasse corretamente no windows, então foquei somente no Windows para facilitar. Até porque para linux existem vários que funcionam muito bem.

Procurei a forma mais fácil de colocar um ícone no tray do win e achei a lib PySystray ( http://datavibe.net/~essiene/pysystray/).

Tem 3 pontos relevantes no programa:

  1. configuracao.py – Ao estilo Django, eu criei um arquivo com as configurações para o programa
  2. icons/ – Diretório onde estão os ícones disponíveis. Deixei mais alguns, fora os que escolhi, para que você possa facilmente trocar ao seu gosto.
  3. notifier.pyw – O programa propriamente dito. Rode ele com o pythonw.exe para que não fique aparecendo nenhuma janela do cmd na barra de tarefas.

Ok ! O repositório é este: https://berlotto@bitbucket.org/berlotto/win32-pop3-notifier, obiviamente Mercurial!

Um detalhe é que por ser pop3 ele não verifica novos emails em sub-pastas, o que conseguiríamos acessando via IMAP. De repente, mais tarde, eu o altero possibilitando uma conexão IMAP.

Fiquem a vontade em clonar, alterar e reenviar as alterações para o repo, além de comentar o que acharam !

um abraço..

IDE Anjuta ganha suporte para Python!

Lendo as notas de lançamento da ultima versão do Gnome 2.32, percebi que o Anjuta, um ótimo e conhecido ambiente de programação C/C++ para Gnome, ganhou agora suporte para Python e também a nova linguagem Vala.

Veja no Link: http://blogs.gnome.org/anjuta/2010/08/05/anjuta-gains-support-for-python/

No post, o pessoal encoraja os desenvolvedores a utilizar e testar bem o ambiente, postando os bugs e melhorias no Bugzilla para que assim eles possam vir a melhorar a ferramenta.

Vou testar agora, quem sabe já não está bem bom! hhe

https://bugzilla.gnome.org/browse.cgi?product=anjuta

Anjuta - Python Autocomplete

Interpretador de comandos para python

Estava lendo hoje meus feeds e me deparei com um em especial, do Rodrigo Amaral, que mostra alguns interpretadores python alternativos .

Uma das coisas boas do Python, que eu acho, é ter um ambiente de fácil acesso para testes, estudos e execuções de scripts em geral.

E fora o que vem por padrão no próprio Python tem outros, como iPython, BPython e o que mais gostei, depois de conhecâ-lo neste post, o DreamPie.

Dê uma lida e teste.. você vai gostar !

E obviamente ele roda em Linux, Windows e MacOS. Blz pura…

Segue o Link: http://rodrigoamaral.net/2010/09/15/dreampie-mais-um-shell-com-esteroides-para-python/