O documento descreve a licença, desenvolvimento, módulos, frameworks e aplicações da linguagem de programação Python. Detalha os processos de desenvolvimento como PEPs e gerenciamento de erros, além de frameworks como Django e bibliotecas como Matplotlib. Apresenta também exemplos de uso de Python em grandes organizações e softwares.
3. Python possui uma licença livre aprovada
pela OSI (Iniciativa de código aberto) e
compatível com a GPL (Licença Pública
Geral), porém menos restritiva. Ela prevê,
entre outras coisas, que binários da
linguagem sejam distribuídos sem a
necessidade de fornecer o código-
fonte junto.
4. É possível fazer programas comerciais /
proprietários / fechados sem disponibilizar o
fonte em si, e cobrar sobre o programa.
5. O desenvolvimento de Python é conduzido
amplamente através do processo Python
Enhancement Proposal ("PEP"), em
português Proposta de Melhoria do Python.
Os PEP’s são documentos de projeto
padronizados que fornecem informações
gerais relacionadas ao Python.
6. Questões específicas são discutidas
no gerenciador de erros Roundup mantido
em python.org.
O desenvolvimento acontece no auto-
hospedado svn.python.org.
7. “Framework é um conjunto de classes que
colaboram para realizar uma responsabilidade
para um domínio de um subsistema da
aplicação.” — Fayad e Schmidt,
Ao longo do tempo têm sido desenvolvidos pela
comunidade de programadores
muitas bibliotecas de funções
especializadas (módulos) que permitem
expandir as capacidades base da linguagem.
Entre eles especializados destacam-se:
8. Descrição Campos de atuação
Django
Framework para
desenvolvimento ágil de
aplicações web;
desenvolvimento web
Pylons
Framework para
desenvolvimento de
aplicações web;
desenvolvimento web
TurboGears
Framework baseado em
várias outras tecnologias
existentes no mundo que
gira em torno da linguagem
Python;
desenvolvimento web
Matplotlib - Matplotlib /
Pylab
biblioteca para manipulação
de gráficos 2D;
processamento de imagem
9. Python Imaging Library
biblioteca para manipulação
de imagens digitais;
processamento de imagem
PyOpenGL - Python
OpenGL Binding
suporte multiplataforma ao
OpenGL;
computação gráfica
Pygame
Conjunto de módulos para
o desenvolvimento de jogos
eletrônicos, incluindo
gráficos SDL;
desenvolvimento de jogos
eletrônicos; computação
gráfica
Twisted
Framework para o
desenvolvimento de aplicações
de rede. Inclui módulos
paraservidor web, de
aplicação, SSH e diversos
outros protocolos;
desenvolvimento de software;
desenvolvimento web
PYRO - Python Remote Objects
Framework para o
desenvolvimento de sistemas
distribuídos;
computação distribuída
10. ZODB
Sistema
de persistência e banco de
dados orientado a objetos;
banco de dados
Plone
SGC - Sistema de
gerenciamento de conteúdo;
desenvolvimento web
CherryPy
Framework para aplicações
web;
desenvolvimento web
Web2py
Framework para aplicações
web;
desenvolvimento web
Visual Python Framework 3D de alto nível; computação gráfica
SQLObject
Mapeador objeto-relacional:
traduz estruturas relacionais
para objetos Python e manipula
o banco de dados de forma
transparente;
banco de dados
Numarray
Módulo para manipulação de
vetores e computação
científica.
computação científica
11. Exemplos de bibliotecas de GUI (interface
gráfica do utilizador) disponíveis para Python
incluem:
Descrição
Etk interface para a biblioteca EFL
PyGTK interface para a biblioteca GTK
PyQT interface para a biblioteca QT
Tkinter Módulo padrão para GUI no Python
wxPython interface para a biblioteca wxWidgets
Wax
Construído para simplificar o uso do
wxPython
12. Alguns dos maiores projetos que utilizam
Python são o servidor de aplicação Zope, o
compartilhador de arquivos Mnet, o
siteYouTube e o cliente original
do BitTorrent.
13. Grandes organizações que usam a
linguagem incluem:
Google (parte dos crawlers(rastreador web));
Yahoo! (grupos de usuários);
NASA;
Air Canada (alguns componentes);
Além dessas, a linguagem tem se
difundido no ramo da segurança da
informação.
14. Também tem sido embarcada como
linguagem de script em diversos softwares,
sendo alguns deles de edição 3D:
Maya;
Autodesk Softimage;
TrueSpace;
Blender;
15. Programas de edição de imagem, como o
GIMP, també, a usam para script.
Diversas distribuições do Linux
disponibilizaram a linguagem como
componente padrão em muitos SO’s. O Red
Hat Linux usa Python para instalação,
configuração e gerenciamento de pacotes.
16. Outro exemplo é o Plone, sistema de
gerenciamento de conteúdo desenvolvido
em Python e Zope.
A Industrial Light & Magic produz filmes da
série StarWars usando extensivamente
Python para a computação gráfica nos
processos de produção dos filmes.