Python e suas aplicações
O que podemos fazer com Python?
Paulo Roberto e Izabela Guerreiro
contato@izepa.me
Sobre nós
- Paulo Roberto.
- Programador.
- 10 anos de experiência.
- Pesquisa e desenvolvimento em robótica.
- Izabela Guerreiro
- Programadora web.
- 4 anos de experiência.
- Desenvolvimento CMS, Site e Gestão da empresa.
Porque este tema?
- Perguntas frequentes sobre Python.
- Desconhecimento sobre a plataforma.
- Ideal para quem quer empreender.
Porque Python?
- Simplicidade.
- Propósito geral.
- Multiplataforma.
- “Bala na agulha”.
- Melhor comunidade. :)
Público Alvo
- Administrador de Redes/Sistemas.
- Hackers/Pentesters.
- Cientistas.
- Testers.
- Programadores. :)
Implementações - Software
- CPython.
- Jython.
- Pypy.
- IronPython.
Implementações - Hardware
Um hardware com coração Pythonico!
- MicroPython - Placa com Interpretador Python embutido.
- Bluetooth.
- Wifi.
- Espetar USB -> main.py -> codificar!
- import pyb; pyb.LED(4).on()
Implementações - Hardware
- MicroPython.
Implementações - Hardware
Videos de demonstração do MicroPython...
Onde não usar Python?
Apenas detalhes...
- Acesso a baixo nível.
Eu posso compilar?
Sim, você pode pequeno padawan...
- Bytecode.
- Cython.
- .NET.
- Java classes.
Operações
Automatize todos processos de sistemas e redes...
- Superior aos shells de sistemas operacionais.
- Adoção crescente.
- Muito material e bibliotecas.
Comparativo Python/Shellscript
Python
max = 10
for i in range(max):
print i
Shellscript
max=10
for i in `seq 1 $max`;
do
echo "$i";
done
Operações
Algumas bibliotecas para auxiliar...
- os, Paramiko e telnetlib.
- Boto - Python Interface Amazon Webservice.
- XenAPI - API para XenServer e Xen Cloud.
Paramiko e telnetlib
Exemplo de utilização do paramiko...
Operações
Ferramentas bastante utilizadas...
- Fabric - Automação de sistemas e implantação.
- Trigger - Conjunto de ferramentas para automação em redes.
Fabric
Exemplo de utilização do Fabric...
Hacking/Segurança
Bastante utilizado em...
- Shellcodes.
- Scanners.
- Frameworks para Pentest.
- Engenharia reversa.
Hacking/Segurança
Algumas bibliotecas interessantes...
- Scrapy - Web crawler.
- Scapy - Manipulação de pacotes de redes.
- Requests - Requisições HTTP.
- Impacket - Conjunto de classes para trabalhar com protocolos de rede.
- PyDasm, PeFile - Engenharia reversa.
Hacking/Segurança
Ferramentas escritas em Python...
- Scanner de vulnerabilidades - W3af, SqlMap, Wapiti..
- Frameworks para Pentest - Golismero, Inguma.
- Dshell - US Army Research Laboratory
- Immunity Inc
http://blog.corujadeti.com.br/lista-de-ferramentas-de-seguranca-feitas-em-python/
Robótica
Caminhos para o artificial...
- Propagação de hardwares abertos.
- Utilização com Raspberry Pi.
- Arduino.
Robótica
Exemplo prático...
- Maxlider Robóticos.
- Core das aplicações são escritas em Python.
Robótica
Video de exemplo...
Desenvolvimento Web
Alguns frameworks...
- Django
- Flask
- Tornado
Web - Django
Algumas caracteristicas...
- Framework web de Python mais conhecido.
- Fullstack.
- Desenvolvimento ágil.
- Reusabilidade e plugabilidade.
- MTV.
- Excelente ORM - Mapeamento objeto relacional.
Web - Flask
- Minimalista.
- Leve.
- WSGI(Web Server Gateway Interface) e Template Engine.
Web - Tornado
- Biblioteca de rede assíncrona.
- Websockets.
- Conexão de longa duração.
Web - Exemplos
- Globo.com - Django.
- Brasil.gov.br - Plone.
- Câmara de Pindamonhangaba - Plone
- Magazine Luiza - Django, Flask e Tornado.
- VivaReal - Django
GIS
Georreferenciamento de forma bem legal...
- GeoDjango - Integração com o framework Django.
- Módulo Django GEO.
- Foco em criação simples de sistemas geográficos.
- Extensões no ORM.
- Admin.
- Postgis, MySQL, Oracle e Spatialite.
GIS
Um exemplo interessante de nossa região...
- ZNC Sistemas.
- Sigef - Sistema de Gestão Fundiária.
Recepção, validação, organização, regularização e
disponibilização das informações georreferenciadas de limites de imóveis rurais.
- 2 Prêmios nacionais.
- 2 Papers internacionais.
ERPs
Alguns ERPs...
- OpenERP
- ERPNext
- Stoq
ERPs
Algumas empresas que utilizam OpenERP...
- WWF
- Danone
- Hyundai
OpenERP
ERPNext
Stoq
Desenvolvimento Desktop
Algumas bibliotecas para criação de interface gráfica...
- wxWidgets (wxWindows)
- wxPython
- PyQT
- PyGTK
- Kivy
Desenvolvimento Desktop
Algumas aplicações...
- OpenERP - PyGTK
- Stoq - PyGTK
- Dropbox - wxPython
- Google drive - wxPython
Desenvolvimento Desktop
Desenvolvimento Desktop
Desenvolvimento Mobile
Algumas bibliotecas...
- Kivy
- SL4A
- PyS60
Desenvolvimento Mobile
Algumas aplicações...
- 2048.
- QPython.
- Bargenius.
Teste de Software
Bibliotecas para automatização de testes...
- Splinter
- Selenium Python
- Unittest
- Doctests
Teste de Software
from splinter import Browser
with Browser() as browser:
url = "http://www.google.com"
browser.visit(url)
browser.fill('q', 'splinter - python acceptance testing for web applications')
button = browser.find_by_name('btnG')
button.click()
if browser.is_text_present('splinter.readthedocs.org'):
print("Yes, the official website was found!")
else:
print("No, it wasn't found... We need to improve our SEO techniques")
Outras utilizações
- Área científica: SciPy, NumPy, BioPython, AstroPy.
- Inteligência artificial: Scikit, SimpleAl.
- Machine learning: PyBrain, PyML.
- Linguagem natural e processamento de texto: NLTK, QuePy.
- Redes neurais: Neurolab, PyANN.
- Mineração e análise de dados: Pandas.
- Tratamento de imagens: PIL, NumPy, SciPy.
Outras utilizações
- Big Data: Hadoopy
- Desenvolvimento de Jogos: PyGame, PyOpenGL
- Animações em 3D: Blender
- Reconhecimento Facial: OpenCV, SimpleCV
- Geração de Relatórios: Reportlab, Geraldo Reports
- Geração de documentação: PyDoc, Sphynx, Django-extensions
Empresas internacionais
Empresas nacionais
Curiosidades
- Projeto SETI
- Ganhar prêmios na Internet.
- http://blog.todosdeti.com.br/2015/08/12/programador-ganha-mil-sorteios-no-twitter-usando-robot/
- Auxiliar nas pesquisas sobre galáxias
- http://hypescience.com/garoto-publica-artigo-sobre-galaxias-em-uma-das-mais-respeitadas-revistas-
cientificas-do-mundo/
Sugestões de Leitura
Sugestões de Leitura
Sugestões de Leitura
Sugestões de Leitura
Conclusão

Python e suas aplicações