
O que é?
Pylons é um framework web extremamente, ultra, mega flexível. Ele serve como uma grande cola que une vários outros módulos para gerar uma solução web. Você pode escolher quais frameworks usar com o Pylons:
- Modelos e BD: SQLAlchemy, SQLObject, CounchDB, <qualquer outro framework aqui> ou mesmo nenhum.
- Templates (views): Mako, Genshi, Jinja2, Cheetah, <qualquer outra linguagem aqui>.
- Helper e geração de HTML: WebHelper, Formencode, FormAlchemy, Tosca Widgets, etc…
- etc.. etc…
Por que usar?
Porque é um framework simples, não te obriga a fazer nada, apenas lhe dá a sugestão de como organizar e controlar o projeto. Pode ser feito qualquer mudança em sua estrutura de forma fácil, ao contrário da maioria das soluções e frameworks.
Pessoalmente acho ele mais fácil de aprender do que Django ou web2py, principalmente pelo fato de usar diversos frameworks que não estão ligados diretamente à ele, por exemplo o SQLAlchemy, onde você pode usar em qualquer outra ocasião, ou as linguagens de templates e até mesmo os helpers para geração de html, nenhum deles necessitam do Pylons pra rodar.
Instalando
Faça download do source no bitbucket:
http://bitbucket.org/bbangert/pylons/
OU via mercurial com:
hg clone http://bitbucket.org/bbangert/pylons/
Depois entre na pasta e execute:
python setup.py install
Criando um projeto
Abra o terminal/cmd, e execute o comando:
paster create -t pylons helloword
Nesse passo ele vai lhe perguntar qual linguagem de template e se vai usar o sqlalchemy ou não. Aperte <Enter> nos dois para usar o padrão.
Atenção: No windows é necessário colocar o c:\python26\Scripts\paster no path
Estutura do projeto
Depois do comando acima, o paster cria um estrutura de arquivos e diretórios para o projeto:
1 - helloworld
2 - helloworld
3 - config
4 environment.py
5 middleware.py
6 routing.py
7 - constrollers
8 - lib
9 app_globals.py
10 base.py
11 helpers.py
12 - model
13 - public
14 - templates
15 - tests
16 development.ini
4. environment.py: Arquivo de configuração do ambiente, essas configurações são globais, então se algo precisa ser declarada apenas uma vez, será feito aqui.
5. middleware.py: Arquivo de configuração para o servidor wsgi.
6. routing.py: Configuração da URL e das rotas, você pode definir urls personalizadas, por exemplo: meusite.com/2010 vai para o controller blog com o parâmetro 2010.
7. controller: Pasta onde ficarão os controllers
8. lib: Pasta dos helpers, nessa pasta fica o conteúdo compartilhado entre os controllers
10. base.py: Contém o objeto BaseController, o qual é pai de todos os outros controllers
11. helpers.py: Esse é um arquivo especial, as views poderão acessar esse arquivo diretamente sem que o controller tenha que passar explicitamente. Os componentes compartilhados pelas views ficam aqui.
12. model: Pasta dos modelos
13. public: Pasta dos arquivos públicos, o www do apache
14. templates: Essa é a pasta onde ficarão as views.
15. tests: Pasta dos testes unitários
16. development.ini: Arquivo de configuração do projeto, aqui é definido as informações do banco de dados.
Rodando a aplicação
Entre na pasta do projeto e execute o comando:
paster serve —-reload development.ini
com isso o servidor estará rodando e nós podemos acessar o projeto, abra um browser e entre no 127.0.0.1:5000:

Essa é uma introdução bem por cima sobre o Pylons, a intenção é só passar um super overview sobre o framework, com o tempo pretendo postar tutoriais e dicas sobre ele. Paciência….
=)
Como posso saber mais sobre o Pylons?
Em português:
Em Inglês:
Ainda não temos um site brasileiro e o material em português é escasso, tenho planos para traduzir a referencia do site e o Pylons book, mas por enquanto meu tempo é curto demais.
Espero que mais pessoas se juntem à nossa comunidade!
-22.220789
-49.948632