Tutorial para iniciantes no Ray, o novo framework de Python

A cada dia, a tecnologia avança para novas profundidades. Novos frameworks, bibliotecas, padrões de design surgem para acompanhar a taxa de inovação em outros setores. Plataformas sociais de codificação como Livecoding.tv, GitHub, StackOverFlow, etc, são ótimos termômetros para ver quais novas tecnologias estarão em voga.

Uma dessas novas tecnologias é o Ray, um framework para Python desenvolvido por Felipe Volpone, um programador brasileiro, e a impressão inicial parece promissora. Também deve ser observado que o Ray foi feito com inspiração no Django e no Flask, de modo a ser possível criar poderosas REST APIs. Neste artigo, vamos nos concentrar em explorar as diferentes características do framework Ray e também construir um blog simples usando o framework.

Antes de começar, vamos analisar as principais características do framework Ray:

  • Desenvolvimento de API com o Ray é fácil e divertido;
  • Vem com o servidor interno uWSGI para fins de hospedagem;
  • É compatível com Pewee, Google App Engine e SQLAlchemy;
  • Oferece Proteção API;
  • Ganchos de banco de dados e ações em APIs também são suportados;
  • Suporta autenticação.

Instalando o Ray

Para usar o Ray, você precisa instalar o software de pré-requisito e bibliotecas para torná-lo funcional. Para um bom funcionamento e instalação, é necessário instalar o seguinte:

  • Peewee ORM;
  • Ray Framework;
  • Ray Peewee.

Para fazer isso, você precisa executar os seguintes comandos pip no seu terminal Linux. (Ubuntu 16.04 é usado para o tutorial).

pip install peewee

pip install ray_framework

pip install ray_peewee

Nota: Certifique-se de executar comandos usando sudo ou uma conta root.

Criando o App.py para o modelo de postagem

A criação de um modelo irá assegurar que as postagens sejam exibidas corretamente e interajam com o banco de dados. Para fazer isso, precisamos criar um arquivo “app.py” com o modelo de postagem. Verifique o código abaixo sobre como abordá-lo:

app.py

# app.py

import peewee

from ray_peewee.all import PeeweeModel

from ray.wsgi.wsgi import application

from ray.endpoint import endpoint

database = peewee.SqliteDatabase('example.db')

class DBModel(PeeweeModel):

class Meta:

database = database

@endpoint('/post')

class Post(DBModel):

title = peewee.CharField()

description = peewee.TextField()

database.create_tables([Post])

Depois de feito, você precisa executar o aplicativo usando o seguinte comando:

ray up --wsgifile=app.py

# if you're using virtualenv

ray up --wsgifile=app.py --env <env_dir>

Não estamos usando um virtualevn, então você pode usar o primeiro comando para executar o servidor. Agora você pode acessar o servidor digitando localhost: 8080 na barra de endereços.

Como não temos nenhum recurso ou dados configurados, ele dará um erro 404.

Agora iremos em frente e criar um post usando o método CURL.

curl -X POST -H "Content-Type: application/json" -d '{

"title": "New blog!",

"description": "let’s do this"

}'"http://localhost:8080/api/post"

Você pode usar os seguintes métodos CURL para interagir com seu blog:

Listar todas as postagens no blog: curl -X GET “http://localhost:8080/api/post/”

Recuperar uma postagem: curl -X GET “http://localhost:8080/api/post/1”

Gravar pesquisa: curl -X GET “http://localhost:8080/api/post?name=john”

Atualizar postagem usando CURL: curl -X PUT -H “Content-Type: application/json” -d ‘{“title”: “let’s change the title.”}'”http://localhost:8080/api/post/1″

Excluir uma postagem: curl -X DELETE “http://localhost:8080/api/post/1”

Pronto! Você configurou com êxito o seu blog usando o framework Ray. Você pode ler mais sobre os recursos do Ray como Endpoints, ganchos, autenticações, etc., nestes artigos do Medium e do blog do Livecoding.tv.

Comente e deixe-nos saber o que achou deste tutorial. Além disso, compartilhe seus pensamentos sobre como você acha que o framework Ray pode afetar o desenvolvimento web em Python.

Dr. Michael J. Garbade

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.

View Comments

Recent Posts

Blockchain in Elections: A Leap Toward Transparent Democracy

In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…

3 weeks ago

Win Big with Our Amazon Fire Max 11 & AirPods Pro Giveaway!

We’re thrilled to announce an exciting opportunity for you to win not one but two…

2 months ago

Unleashing Potential: How Education Ecosystem Transforms Learning into Real-World Success

Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…

4 months ago

The Role of Artificial Intelligence in Modern Software Development

Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…

7 months ago

Highest Stable Coin Yields – (W16 – 2024)

Another week to bring you the top yield platforms for three of the most prominent…

8 months ago

LEDU Token OTC Trading

If you hold a large volume of LEDU tokens above 1 million units and wish…

9 months ago