Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumário
Semana 1 .................................................................................................................................2
Pensamento Computacional .................................................................................................. 2
Evolução da computação e paradigmas de programação ..................................................... 4
Semana 2 .................................................................................................................................7
Introdução ao Google Colab para implementação em Python e Ciência de Dados ............... 7
Jupyter Notebook e Projeto Jupyter na Computação Interativa ............................................ 7
Google Colab como Ambiente de Desenvolvimento e suas Vantagens ................................. 8
Criando Variáveis............................................................................................................. 8
Exibindo Variáveis ........................................................................................................... 8
Manipulando Variáveis .................................................................................................... 8
Criando uma Função ....................................................................................................... 9
Chamando uma Função................................................................................................... 9
Criando uma Lista ............................................................................................................ 9
Adicionando Itens à Lista................................................................................................. 9
Acessando e Modificando Itens ...................................................................................... 9
Criando um Dicionário................................................................................................... 10
Acessando Valores por Chave: ...................................................................................... 10
Adicionando e Modificando Pares Chave-Valor ............................................................ 10
Utilizando a Biblioteca Pandas ...................................................................................... 11
Carregando Dados a partir de um CSV .......................................................................... 11
Calculando a Média e a Mediana .................................................................................. 11
Criando Gráficos com a Função plot() ........................................................................... 11
Semana 3 ...............................................................................................................................12
Projeto de Desenvolvimento de Software, Algoritmo e Implementação............................. 12
Projetos de Desenvolvimento: ............................................................................................. 13
Gerência no desenvolvimento de software: ........................................................................ 14
Semana 4 - Padrões importantes da Web, HTML, JSON e Python ..........................................14
Histórico e Padrões clássicos da Web, HTML5, CSS3, JSon .................................................. 14
Bibliotecas e Frameworks .................................................................................................... 15
Semana 5 - Framework Python, APIs e Web Services.............................................................18
Framework Phyton .............................................................................................................. 18
APIs e Web Services ............................................................................................................. 19
Semana 6 -Internet das Coisas (IoT) e os protocolos MQTT e REST ........................................20
Internet das Coisas (loT) ...................................................................................................... 20
MQTT e REST ....................................................................................................................... 21
Semana 7 ...............................................................................................................................23
Ciência de Dados ................................................................................................................. 23
Ciência de Dados e Python .................................................................................................. 23
1
Semana 1
Pensamento Computacional
Sendo uma abordagem sistemática (organizada de acordo com uma certa ordem, com critérios).
O pensamento computacional funciona identificando um problema e o decompondo em
elementos menores, que são analisados individualmente, focando apenas em detalhes
importantes e assim criar soluções. Podemos dizer que ele se baseia em quatro pilares que
orientam o processo de solução de problemas:
Abstração: consiste na filtragem a classificação dos dados, criando mecanismos que permitam
separar apenas os elementos essenciais em determinado problema, ignorando detalhes
irrelevantes. Permite criar uma representação, uma ideia do que está se tentando resolver.
Neste processo, essencial é escolher o detalhe a ser ignorado para que o problema seja mais
fácil de ser compreendido sem perder nenhuma informação que seja importante para tal.
Algoritmo: é uma sequência finita de etapas (passos), cada qual executável em um tempo finito,
por um agente computacional, natural (humano) ou sintético (computador). Um algoritmo é um
plano, uma estratégia ou um conjunto de instruções ordenadas para a solução de um problema
ou execução de uma tarefa. A formulação de um algoritmo passa pelo processo de
decomposição, reconhecimento de padrões e abstração. Na execução seguirão os passos pré-
definidos, não havendo a necessidade de criar um novo algoritmo para cada uma de suas
execuções posteriores. É o pilar que agrega os demais pilares.
2
Por fim, é importante pontuar as contribuições que o pensamento computacional traz para o
indivíduo:
Seu grau de importância pode ser comprovado de muitas formas, uma delas é observando as
dez habilidades essenciais do profissional do futuro segundo o Fórum Econômico Mundial:
2. Pensamento crítico
3. Criatividade
4. Gestão de pessoas
5. Coordenação
6. Inteligência Emocional
9. Negociação
Por fim, o estudo do pensamento computacional é importante para o mercado de trabalho, uma
vez que:
3
6. Estimula a criatividade e a inovação.
Década de 90: Cliente-Servidor - Com o avanço das redes de computadores, o modelo cliente-
servidor se tornou predominante. Os computadores clientes acessavam e interagiam com
servidores que forneciam serviços e recursos. Isso permitiu uma melhor distribuição do
processamento e facilitou o compartilhamento de informações em ambientes empresariais.
Atualidade: Internet 2.0, Redes Sociais, IoT - A internet evoluiu para uma nova fase, conhecida
como Internet 2.0 ou Web 2.0. Nesse cenário, os usuários não apenas consomem conteúdo, mas
também contribuem e interagem ativamente na criação de conteúdo, por meio de redes sociais
e plataformas colaborativas. Além disso, a Internet das Coisas (IoT) tornou-se uma realidade,
conectando dispositivos e objetos do cotidiano à rede, permitindo a coleta e o
compartilhamento de dados em tempo real. Essas tecnologias estão transformando a maneira
como vivemos, trabalhamos e nos comunicamos.
Na atualidade, nos anos 2000, ocorreu uma grande explosão da web, impulsionada pela
facilidade de aquisição de computadores e pelo acesso à internet para o público em geral. A
tecnologia avançou rapidamente, resultando em significativos avanços em diversas áreas. A
popularização da internet permitiu que as pessoas se conectassem globalmente,
compartilhando informações e conhecimentos de forma sem precedentes. A disseminação de
dispositivos móveis e smartphones impulsionou a mobilidade e a conectividade constante.
Além disso, houve avanços significativos em áreas como inteligência artificial, big data,
computação em nuvem e Internet das Coisas (IoT), transformando a maneira como vivemos,
trabalhamos e nos comunicamos. A atualidade é marcada por uma crescente integração da
tecnologia em todos os aspectos da vida moderna, proporcionando oportunidades e desafios
únicos em nossa sociedade globalizada e digital.
A evolução da internet ao longo dos anos tem sido notável e transformadora. Desde a era da
internet discada, passando pela expansão da banda larga e a criação das redes móveis 3G, 4G e
5G, a conectividade se tornou mais rápida, estável e abrangente. Atualmente, a internet é
essencial no cotidiano, tanto para empresas quanto para residências, sendo uma ferramenta
indispensável para comunicação, trabalho, educação, entretenimento e muito mais.
4
A internet agora permeia diversos objetos e lugares por meio da Internet das Coisas (IoT), que
conecta dispositivos inteligentes à rede, permitindo a troca de dados e automação de processos.
A IoT abriu caminho para inúmeras aplicações inovadoras, como casas inteligentes, cidades
inteligentes, dispositivos vestíveis, sistemas de monitoramento e muito mais.
Paradigma Imperativo:
Paradigma Declarativo:
● Funcional: Nesse paradigma, o foco está em descrever o que o programa deve fazer, em
vez de como fazer. Os programas são construídos a partir de funções matemáticas
puras, que não têm efeitos colaterais e não alteram o estado do programa. Isso permite
uma programação mais concisa e fácil de entender.
5
● Programação Lógica: Nesse paradigma, os programas são baseados na lógica formal e
na resolução de problemas por meio de inferências lógicas. As relações lógicas são
especificadas e o sistema de inferência deduz soluções para os problemas com base
nessas relações.
No exemplo citado, a linguagem Java optou por priorizar a confiabilidade ao exigir que todas as
referências aos elementos de um vetor sejam verificadas para garantir que os índices estejam
dentro de suas faixas válidas. Isso aumenta o custo de execução dos programas, principalmente
quando há um grande número de referências a elementos de vetores. No entanto, essa
verificação adicional melhora a confiabilidade do código, evitando erros de acesso a elementos
fora dos limites do vetor, o que poderia causar comportamento indefinido ou falhas no
programa.
Essas trocas são inevitáveis e podem ser necessárias para atender aos requisitos do projeto e às
expectativas dos usuários. Cada decisão envolve uma análise cuidadosa dos requisitos e das
implicações para encontrar a melhor solução possível, considerando todos os fatores relevantes.
6
Aprender linguagens de programação de diferentes categorias é benéfico por várias razões:
Além disso, critérios como legibilidade, facilidade de escrita, confiabilidade e custo são cruciais
na avaliação das linguagens. Uma linguagem de programação deve ser legível e fácil de entender
para facilitar a manutenção do código. A facilidade de escrita é importante para acelerar o
desenvolvimento de software. A confiabilidade é fundamental para evitar erros e garantir a
estabilidade dos programas. Por fim, o custo, que inclui recursos de hardware e tempo de
desenvolvimento, é um fator crítico na escolha de uma linguagem para um projeto específico.
Semana 2
O Jupyter Notebook é uma aplicação web que permite criar e compartilhar documentos
interativos contendo códigos, visualizações e texto. Ele é um componente do Projeto Jupyter,
uma iniciativa que visa facilitar a computação interativa e a criação de conteúdo científico.
Notebooks Jupyter promovem a exploração de dados e experimentação de algoritmos,
tornando o processo de desenvolvimento mais iterativo e colaborativo.
7
Google Colab como Ambiente de Desenvolvimento e suas Vantagens
Criando Variáveis
No Google Colab, você pode criar variáveis simplesmente digitando o nome da variável seguido
por um sinal de igual e o valor que você deseja atribuir a ela.
Exibindo Variáveis
Para exibir o valor de uma variável no Colab, basta digitar o nome da variável em uma célula e
executá-la.
Após digitar o nome da variável e pressionar Shift + Enter, você verá o valor da variável idade
exibido abaixo da célula.
Manipulando Variáveis
Você pode realizar operações matemáticas e manipular variáveis da mesma forma que faria no
Python. Para nomear funções e variáveis de forma clara, é adotado o padrão Snake case, em
que as palavras são separadas por sublinhados. Isso melhora a legibilidade do código e facilita a
compreensão das partes envolvidas.
8
E exibir o resultado:
9
Criando um Dicionário
Os dicionários são estruturas de dados fundamentais em Python que permitem armazenar
pares chave-valor. Cada chave é única e mapeada a um valor correspondente. Neste exemplo,
vamos explorar como criar, acessar e manipular dicionários no Google Colab.
Cada par chave-valor é definido entre chaves {} e separado por dois pontos “:”.
Novos pares chave-valor podem ser acrescentados ao dicionário utilizando o seguinte método.
10
de dados e funções para trabalhar com dados de maneira eficiente e flexível. O nome "Pandas"
é derivado da expressão "Panel Data" (dados em painel), que se refere a dados
multidimensionais, comuns em análise estatística e econômica.
11
Semana 3
Na literatura voltada para a gestão de projetos, destaca-se o PMBOK, cuja sigla significa "Project
Management Body of Knowledge" (Corpo de Conhecimento em Gerenciamento de Projetos). O
PMBOK é um guia de referência para as melhores práticas em gerenciamento de projetos.
Embora não seja um método de gerenciamento de projetos em si, ele reúne um conjunto
consolidado de conhecimentos que descreve processos, práticas, conceitos e terminologias
amplamente aceitos no campo do gerenciamento de projetos. Essas diretrizes são publicadas e
mantidas pelo Project Management Institute (PMI), uma organização profissional dedicada ao
avanço e desenvolvimento da disciplina de gerenciamento de projetos.
12
De maneira similar ao PMBOK, porém com foco no gerenciamento de projetos relacionados à
engenharia de software, temos o SWEBOK (Software Engineering Body of Knowledge), um
compêndio de conhecimentos, práticas, processos e conceitos amplamente reconhecidos e
aceitos na disciplina de engenharia de software. O objetivo do SWEBOK é estabelecer as bases
para o campo da engenharia de software, definindo os princípios fundamentais que os
profissionais devem compreender e aplicar em seu trabalho. Isso contribui para o
aprimoramento da qualidade e eficácia das práticas de engenharia de software, promovendo
um padrão elevado de excelência na indústria. Tanto o PMBOK quanto o SWEBOK server como
balizadores para o conteúdo abordados nas aulas dessa semana.
Projetos de Desenvolvimento:
13
desses processos é essencial para criar produtos de software de alta qualidade e satisfazer o
cliente.
Vannevar Bush foi uma das figuras pioneiras no campo da computação e da informática. Ele é
amplamente reconhecido por seu trabalho no desenvolvimento do conceito de hipertexto, que
é a ideia de que informações podem ser interconectadas e navegadas de maneira não linear. Em
seu famoso artigo "As We May Think", publicado em 1945, Bush apresentou a memex, uma
máquina teórica que permitiria aos usuários acessar e vincular informações de maneira
semelhante ao que hoje conhecemos como hiperlinks na web.
Ted Nelson, outro pioneiro na computação, é conhecido por cunhar o termo "hipertexto". Ele
defendeu a visão de um sistema chamado Xanadu, que pretendia ser uma rede global de
documentos interconectados, onde os links seriam bidirecionais, permitindo que os autores
mantivessem o controle sobre seus próprios conteúdos, independentemente de onde fossem
vinculados.
Douglas Engelbart é famoso por sua demonstração "Mother of All Demos" em 1968, onde ele
introduziu uma série de conceitos revolucionários, incluindo o mouse, a interface gráfica de
14
usuário e a edição de texto interativa. Essas inovações formaram a base para a forma como
interagimos com os computadores hoje em dia.
Tim Berners-Lee é o criador da World Wide Web (WWW) e uma figura crucial na história da
computação. Ele propôs o sistema Mesh, que serviu como a base para a World Wide Web que
conhecemos hoje. Berners-Lee também desempenhou um papel fundamental na formalização
da linguagem HTML (HyperText Markup Language), que é a espinha dorsal da web moderna.
W3C
O World Wide Web Consortium (W3C) é uma organização internacional que foi fundada por Tim
Berners-Lee em 1994. O W3C é responsável por estabelecer padrões abertos para a web,
garantindo a interoperabilidade e acessibilidade dos recursos web em diferentes plataformas e
navegadores.
As Rich Internet Applications são aplicativos web avançados que oferecem uma experiência de
usuário mais rica e interativa do que os aplicativos web tradicionais. Eles geralmente usam
tecnologias como AJAX, Flash ou HTML5 para oferecer funcionalidades sofisticadas, como
animações, gráficos e interatividade em tempo real.
Padrões Web
Os padrões web, como HTML (linguagem de marcação), CSS (folhas de estilo em cascata),
JavaScript (linguagem de programação do lado do cliente) e tecnologias relacionadas como Ajax
(Asynchronous JavaScript and XML), XML (Extensible Markup Language) e JSON (JavaScript
Object Notation), são a espinha dorsal do desenvolvimento web. Eles permitem que os
desenvolvedores criem sites e aplicativos web compatíveis e funcionais em diferentes
navegadores e dispositivos.
Bibliotecas e Frameworks
Vantagens:
15
Desvantagens:
Vantagens:
Desvantagens:
Vantagens:
Desvantagens:
16
● Estilo Genérico: Pode resultar em sites com aparência semelhante, a menos que
personalizado, o que pode não ser ideal para projetos que requerem designs exclusivos.
● Tamanho do Arquivo: O Bootstrap pode ser pesado em termos de tamanho de arquivo,
afetando o tempo de carregamento da página.
● Personalização Limitada: Personalizar o Bootstrap para atender às necessidades
específicas do projeto pode ser desafiador, às vezes resultando em CSS adicional.
Vantagens:
Desvantagens:
Framework Phyton
17
O Flask é um framework escrito em Python conhecido por sua simplicidade e flexibilidade no
desenvolvimento de aplicativos web. Ao contrário de alguns outros frameworks mais
complexos, o Flask segue uma abordagem minimalista, dando aos desenvolvedores a liberdade
de escolher as bibliotecas e ferramentas que desejam usar em seus projetos.
A simplicidade do Flask o torna uma ótima escolha para iniciantes, pois é fácil de aprender e
permite que você comece a construir aplicativos web rapidamente. No entanto, essa
simplicidade não significa falta de recursos. O Flask é altamente extensível e permite que você
adicione funcionalidades conforme necessário, o que o torna adequado para uma variedade de
projetos, desde pequenas aplicações até sistemas web mais complexos.
Monark é um framework de código aberto que se destaca por sua capacidade de facilitar o
desenvolvimento de aplicativos web dinâmicos. Assim como o Flask, o Monark é escrito em
Python, tornando-o acessível para a vasta comunidade de desenvolvedores Python.
O Monark fornece uma estrutura sólida para criar aplicativos web interativos e dinâmicos. Ele
simplifica tarefas comuns, como a manipulação de requisições HTTP, a interação com bancos de
dados e a criação de interfaces de usuário responsivas. Isso permite que os desenvolvedores
foquem mais na lógica de negócios de seus aplicativos e menos na infraestrutura técnica.
O Django Rest Framework é uma extensão poderosa que simplifica a criação de APIs RESTful.
Essa estrutura facilita o tratamento de verbos HTTP (como GET, POST, PUT e DELETE) e códigos
de status, tornando a criação de APIs eficiente e intuitiva. Além disso, o Django Rest Framework
oferece suporte para manipulação de dados em formatos populares, como JSON e XML, o que
é essencial para a integração de dados com outros sistemas e serviços.
● Model: Responsável pelo gerenciamento dos dados e interações com o banco de dados.
● View: Lida com a lógica de apresentação e processamento de solicitações do usuário.
● Template: Responsável pela renderização das páginas HTML e pela apresentação dos
dados ao usuário.
18
APIs e Web Services
APIs (Interfaces de Programação de Aplicativos):
As APIs são essenciais para a interação entre diferentes partes de um único aplicativo ou
dispositivo. Elas definem como os diferentes componentes ou módulos de um software se
comunicam entre si. Por exemplo, um aplicativo de edição de fotos pode ter APIs que permitem
que a parte de edição interaja com a parte de salvamento.
Os Web Services, por outro lado, são projetados para permitir a comunicação entre sistemas
distintos em uma rede, muitas vezes através da internet. Eles funcionam como "pontes" que
conectam sistemas heterogêneos, independentemente de suas tecnologias, plataformas e
linguagens de programação. Em resumo, os Web Services promovem a interconexão de
sistemas em escala global.
Principais diferenças:
A principal diferença entre APIs e Web Services reside na sua acessibilidade e escopo de
utilização. As APIs são voltadas para a comunicação interna de um único dispositivo ou
aplicativo, enquanto os Web Services são destinados a conectar sistemas distribuídos em uma
rede, incluindo a internet. Os Web Services também são capazes de transferir dados entre
sistemas, tornando-os ideais para integrações entre aplicativos e sistemas independentes.
Padrões da Web:
O HTTP é o protocolo fundamental para a transferência de dados na internet. Ele define como
as mensagens devem ser formatadas e transmitidas entre clientes (geralmente navegadores) e
servidores web. Os Web Services frequentemente utilizam o HTTP como protocolo de
comunicação para permitir a transferência de dados pela rede.
A comunicação entre sistemas é um aspecto crítico para o funcionamento de Web Services. Ela
ocorre da seguinte maneira:
19
● O aplicativo cliente envia uma solicitação de operação para o Web Service.
● O Web Service processa a solicitação, realiza as operações necessárias e prepara os
dados para envio.
● Os dados processados são enviados de volta para o aplicativo cliente, que os interpreta
e utiliza conforme necessário.
Protocolos de Comunicação:
Dois dos protocolos de comunicação mais comuns utilizados em Web Services são SOAP (Simple
Object Access Protocol) e REST (Representational State Transfer). O SOAP é conhecido por sua
estrutura rigorosa e capacidade de suportar mensagens complexas, enquanto o REST é
valorizado por sua simplicidade e alto desempenho.
O WSDL é uma linguagem que descreve a localização do Web Service e as operações que ele
oferece. Ele é frequentemente usado para documentar e definir os aspectos técnicos de um
Web Service, tornando a integração mais fácil para os desenvolvedores.
Coisa: Refere-se a objetos físicos do dia a dia, que podem variar de eletrodomésticos a
dispositivos urbanos, como semáforos e câmeras de vigilância.
Conectividade: Para que a IoT funcione, é essencial que os dispositivos estejam conectados à
internet. Isso pode ser alcançado por meio de tecnologias como Bluetooth, 3G, 4G e 5G.
20
Arquitetura genérica: A fim de padronizar o funcionamento dos dispositivos IoT, uma
arquitetura genérica é adotada. Isso permite que diferentes dispositivos se comuniquem de
maneira eficiente e consistente.
A arquitetura de IoT geralmente envolve a coleta de dados por sensores embutidos nos
objetos físicos. Esses dados são então enviados para um back-end, onde são armazenados e
processados. Essa arquitetura genérica pode ser aplicada a uma ampla gama de áreas de
aplicação, incluindo cidades inteligentes, monitoramento ambiental, agricultura de precisão,
cuidados de saúde e aplicações cotidianas, como dispositivos domésticos inteligentes.
No cenário brasileiro, a IoT tem se expandido com a implementação de políticas, como a lei
que zera impostos sobre produtos IoT. Além disso, a chegada da rede 5G de baixa latência
promete impulsionar ainda mais o desenvolvimento e a adoção de dispositivos IoT no país. No
entanto, o ritmo rápido da evolução tecnológica representa um desafio para acompanhar as
mudanças e atualizações necessárias para aproveitar ao máximo o potencial da IoT no Brasil.
MQTT e REST
Importância dos Protocolos:
Revolução na IoT: A Internet das Coisas (IoT) tem transformado a maneira como interagimos
com dispositivos cotidianos, desde termostatos inteligentes até carros conectados. Protocolos
desempenham um papel vital ao permitir que esses dispositivos se comuniquem e
compartilhem informações, tornando nossas vidas mais convenientes e eficientes.
O MQTT é um protocolo notável, conhecido por sua eficiência e leveza. Ele é especialmente
adequado para comunicações máquina a máquina (M2M) e é caracterizado pelos seguintes
pontos:
Leveza: O MQTT é projetado para consumir recursos mínimos, tornando-o ideal para
dispositivos com restrições de energia e recursos.
21
Publicação e Assinatura: Seu modelo de publicação e assinatura simplifica a comunicação,
permitindo que dispositivos enviem mensagens e outros dispositivos as recebam, conforme
necessário.
Confiabilidade e Rapidez: É uma escolha confiável e rápida para conectar dispositivos IoT à
internet, facilitando a troca de informações e análise de dados em tempo real.
MQTT: Oferece conexões bilaterais, baixo consumo de energia, conexão persistente e taxa de
transferência rápida, suportando até 50 mil conexões simultâneas.
Além do MQTT e do REST, existem inúmeros outros protocolos de comunicação, muitos dos
quais baseados no modelo TCP/IP. Alguns exemplos incluem 6LoWPAN e CoAP, que se
adequam a diversas aplicações específicas.
Emuladores e Simuladores:
Semana 7
Ciência de Dados
A Ciência de Dados é uma disciplina que se tornou essencial em um mundo movido por
informações e tecnologia. Ela é definida como o estudo disciplinado de dados e informações em
22
diferentes tipos de negócios. Para entender completamente a Ciência de Dados, é importante
considerar as disciplinas envolvidas, que abrangem Ciências da Computação, Estatística,
Matemática e conhecimentos de negócios.
No entanto, é crucial distinguir entre Ciência de Dados, Data Analytics e Big Data. Embora todas
lidem com dados, cada uma tem abordagens específicas para lidar com dados brutos. A Ciência
de Dados envolve análises complexas e métodos avançados, exigindo habilidades em estatística,
programação e um profundo conhecimento de negócios. Data Analytics concentra-se em
examinar dados brutos para extrair conclusões e informações valiosas. Por outro lado, Big Data
lida com volumes massivos de dados que não podem ser processados usando métodos
convencionais, exigindo ferramentas e abordagens especializadas.
As aplicações da Ciência de Dados são vastas e impactam muitos setores. Nos bancos, a Ciência
de Dados é fundamental para a gestão de recursos e a detecção de fraudes. Nas finanças, ela
desempenha um papel crucial na análise de riscos e na análise preditiva. Na manufatura,
contribui para aumentar a eficiência e reduzir custos. No setor de transporte, a Ciência de Dados
está tornando as estradas mais seguras e impulsionando o desenvolvimento de veículos
autônomos. Na área de saúde, ajuda na análise de imagens médicas e diagnósticos avançados.
No comércio eletrônico, é usada para analisar o comportamento dos clientes e definir preços
competitivos.
A carreira em Ciência de Dados oferece várias vantagens, incluindo alta demanda no mercado
de trabalho, salários elevados, versatilidade e a capacidade de melhorar a qualidade dos
produtos e serviços. No entanto, também possui desafios, como a falta de uma definição clara
devido à sua natureza interdisciplinar, a necessidade de conhecimento diversificado, a
manipulação de dados muitas vezes arbitrários e preocupações éticas relacionadas à
privacidade dos dados dos clientes.
# Lendo as bibliotecas
from oauthlib.oauth2 import BackendApplicationClient
from requests_oauthlib import OAuth2Session
23
import numpy as np
import pandas as pd
import arrow
from pandas import json_normalize
import json
import glob
import matplotlib.pyplot as plt
def list_devices(oauth):
global base_api
devices =
oauth.get("https://api.demo.konkerlabs.net/v1/{}/devices/?size=5000
".format(application)).json()['result']
return devices
24
stats_df
25