SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
Controlando o fluxo de forma
simples para construir
pipelines complexas
Juan Funez
GruPy SP - 10 anos
Agenda
● Breve Introdução
● Pipelines
● Pypette
● Demo
● Conclusões
● Agradecimentos
Introdução:
from Uruguay import Juan
python: desde 2008/2009
workon: SciELO /2014
web/mobile dev
Como cheguei aqui?
Pipelines:
Definição:
In computing, a pipeline is a set of
data processing elements
connected in series, where the
output of one element is the input
of the next one.
[Wikipedia]
(CC) J. Albert Bowden II - https://flic.kr/p/ALM2RE
csurfer/pypette:
pypette: (to be read as pipette) is
a module which makes building
pipelines ridiculously simple,
allowing users to control the flow
with minimal instructions.
Features:
● Simple interface.
● Visualize pipeline structure in terminal
github.com/csurfer/pypette
Demo:
● Instalação: pip install pypette
● Estruturas:
○ Job - Unidade básica de execução (método python ou callable);
■ Job(my_python_func)
○ BashJob - Unidade básica de execução (comando do shell);
■ BashJob(['ls', '-l'])
○ Pipe - Especifica o fluxo em que devem ser executados os jobs (só tem 4 métodos):
■ Criar um Pipe: p = Pipe('TestPipe')
■ Adicionar Jobs no Pipe: p.add_jobs([j1, j2])
■ Executar: p.run()
■ Visualizar o pipeline: p.graph()
Conclusões:
● Vantagens:
○ Fácil de entender;
○ Fácil de usar;
○ Fácil de depurar;
○ Fácil de estudar como está construído;
○ Suporta Python 2.7, 3.4, 3.5, 3.6;
○ Coverage: 100%
● Desvantagens:
○ Projeto novo;
○ Pouca documentação e exemplos.
Agradecimentos
● A toda comunidade Python
● A quem me convenceu para vir para o Brasil e ser parte desta comunidade
pip install ❤
Contato
E-mail:
juan.funez@gmail.com
Github:
https://github.com/jfunez
Telegram/Twitter:
@juanfunez
WWW:
http://funez.uy

Mais conteúdo relacionado

Mais procurados

RVM - RubyOnRio @ Petropolis
RVM - RubyOnRio @ PetropolisRVM - RubyOnRio @ Petropolis
RVM - RubyOnRio @ Petropolis
Anna Cruz
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
Armando Couto
 

Mais procurados (20)

Presente e Futuro do C# - Visual Studio Summit 2018
Presente e Futuro do C# - Visual Studio Summit 2018Presente e Futuro do C# - Visual Studio Summit 2018
Presente e Futuro do C# - Visual Studio Summit 2018
 
Aula 2 - Curso Git e Github - Webschool
Aula 2 - Curso Git e Github - WebschoolAula 2 - Curso Git e Github - Webschool
Aula 2 - Curso Git e Github - Webschool
 
Aula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - WebschoolAula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - Webschool
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010
 
Mrtg
MrtgMrtg
Mrtg
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
RVM - RubyOnRio @ Petropolis
RVM - RubyOnRio @ PetropolisRVM - RubyOnRio @ Petropolis
RVM - RubyOnRio @ Petropolis
 
Repositório github, os comandos iniciais do git bash para criar projetos de c...
Repositório github, os comandos iniciais do git bash para criar projetos de c...Repositório github, os comandos iniciais do git bash para criar projetos de c...
Repositório github, os comandos iniciais do git bash para criar projetos de c...
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Grunt
GruntGrunt
Grunt
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
 
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
 
MINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIAMINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIA
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
 
Putting a-heat-with-thermostat
Putting a-heat-with-thermostatPutting a-heat-with-thermostat
Putting a-heat-with-thermostat
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
Devcpp
DevcppDevcpp
Devcpp
 

Semelhante a Controlando o fluxo de forma simples para construir pipelines complexas

Minicurso c++-see-2013
Minicurso c++-see-2013Minicurso c++-see-2013
Minicurso c++-see-2013
Renan Prata
 

Semelhante a Controlando o fluxo de forma simples para construir pipelines complexas (20)

Qualidade em projetos PHP - TDC 2011
Qualidade em projetos PHP - TDC 2011Qualidade em projetos PHP - TDC 2011
Qualidade em projetos PHP - TDC 2011
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
Apostila s7
Apostila s7Apostila s7
Apostila s7
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Igor Oliveira - Puppet
Igor Oliveira - PuppetIgor Oliveira - Puppet
Igor Oliveira - Puppet
 
PL/Python: Programando em Python no PostgreSQL
PL/Python: Programando em Python no PostgreSQLPL/Python: Programando em Python no PostgreSQL
PL/Python: Programando em Python no PostgreSQL
 
Kernel cooperativo
Kernel cooperativoKernel cooperativo
Kernel cooperativo
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 
Dashboard slides
Dashboard slidesDashboard slides
Dashboard slides
 
01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdf01 -Aula IPE - Apresentando o Python.pdf
01 -Aula IPE - Apresentando o Python.pdf
 
JavaScript Robotics: Nodebots, JavaScript Além das telas
JavaScript Robotics: Nodebots, JavaScript Além das telasJavaScript Robotics: Nodebots, JavaScript Além das telas
JavaScript Robotics: Nodebots, JavaScript Além das telas
 
HTTP 2
HTTP 2HTTP 2
HTTP 2
 
Minicurso c++-see-2013
Minicurso c++-see-2013Minicurso c++-see-2013
Minicurso c++-see-2013
 
Raspberry Pi: o hardware para Python
Raspberry Pi: o hardware para PythonRaspberry Pi: o hardware para Python
Raspberry Pi: o hardware para Python
 

Controlando o fluxo de forma simples para construir pipelines complexas