CherryPy

CherryPy
DesenvolvedorCherryPy
Lançamento inicialOutubro de 2008
Lançamento estável
3.8.0 / 26 de junho de 2015; há 10 anos
Repositório
TipoWEB Framework
LicençaBSD
Websitehttp://www.cherrypy.org/

CherryPy é um framework para desenvolvimento web orientado a objetos que utiliza a linguagem de programação Python. Ele é projetado para desenvolvimento ágil de aplicações web através do empacotamento do protocolo HTTP, porém permanecendo em um baixo nível e não oferecendo muito mais do que é definido no RFC 2616.

O CherryPy pode ser um servidor web propriamente dito ou ser executado através de qualquer ambiente WSGI compatível (incluindo o Apache 2). Ele não manipula tarefas como de template para gerar a apresentação, acesso backend ou protocolos de autenticação. O framework é extensível com filtros, interfaces simples compostas de sete funções. Estas são chamadas em pontos definidos no processamento de requisição/resposta.

Interface Pythônica

Uma das metas do fundador do projeto, Remi Delon, foi tornar o CherryPy o mais pythônico possível. Isto permite ao desenvolvedor usar o framework com qualquer módulo Python regular e esquecer (do ponto de vista técnico) que a aplicação é para a web.

Por exemplo, o conhecido programa Alô Mundo com o CherryPy 3 pareceria com isto:

import cherrypy

class AloMundo(object):
    def index(self):
        return "Alô Mundo!"
    index.exposed = True

cherrypy.quickstart(AloMundo())

Características

O CherryPy implementa:

  • um servidor web com suporte à WSGI com thread (computação) e compatível com HTTP/1.1. Normalmente, o CherryPy por si mesmo leva apenas 1-2 ms por página.
  • Suporte para qualquer outro servidor web ou adaptador habilitado com WSGI, incluindo Apache, IIS, lighttpd, ngInx, mod_python, FastCGI, SCGI e mod_wsgi.
  • Um adaptador mod_python nativo.
  • Vários servidores HTTP (por exemplo, em várias portas) em um.
  • Um sistema de plugin. Plugins CherryPy encaixam em eventos dentro do processo do servidor - na inicialização do servidor, desligamento do servidor, fechamento do servidor, etc. - para executar código que precisa estar rodando quando o servidor inicia ou desliga.
  • Ferramentas embutidas para caching, codificação, sessões, autorização, conteúdo estático e outros. Ferramentas CherryPy encaixam em eventos dentro do processo de requisição. Sempre que o servidor recebe um pedido CherryPy, existe um conjunto específico de etapas que ele atravessa para lidar com esse pedido. Manipuladores de páginas são apenas um passo no processo. As ferramentas também fornecem uma sintaxe e API de configuração para transformá-los dentro e fora de um conjunto específico de manipuladores.
Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.