Pular para o conteúdo

Cantor: novas funcionalidades no KDE 4.14

KDE 4.14 foi lançado em agosto de 2014, mas até o momento não tive tempo para escrever sobre as novas funcionalidades do Cantor disponíveis naquele release.

Portanto, vamos corrigir isso agora!

Novo backend: Lua

A família de backends do Cantor tem um novo membro: Lua, usando a implementação luajit.

Este backend já dispõe de várias funcionalidades: destaque de sintaxe, auto-complementação de código, carrega figuras no terminal, editor de scripts, e mais

Cantor + Lua em ação

O backend para Lua foi desenvolvido pelo brasileiro Lucas Negri, e isso é um motivo para eu ficar muito feliz. Bem-vindo a bordo Lucas!

Você pode ler mais sobre esse backend em um texto no blog do Lucas.

Uso de utf8 em códigos LaTeX

Quando você exporta seu terminal para LaTeX, a codificação utf8 agora é utilizada por padrão. Essa melhoria foi desenvolvida por Lucas.

Suporte à extensão pacotes nos backends para Sage e Octave

Agora estes backends tem um assistente para importar pacotes/módulos/bibliotecas.

Suporte para scripts que executam automaticamente

python2_autorun

Scripts para execução automática no backend para Python 2

Agora os backends para Python 2, Scilab, Octave, Sage, Maxima, Qalculate, e KAlgebra tem suporte para execução automática de scripts. Você pode configrar uma série de scripts ou comandos que serão executados no momento em que o Cantor carregar o terminal – ou seja, durante a inicialização.

Adicionado CTRL+Space como alternativa padrão à complementação de código no terminal

O comando padrão para complementação de código no terminal do Cantor é o botão TAB, mas agoras temos uma alternativa a isso: CTRL + Space. Isso manterá a consistência entre o editor de scripts (onde o comando padrão para essa funcionalidade é CTRL + Space) e o terminal.

Suporte inicial para os assistentes de algebra linear e criação de gráficos no Python 2

Desenvolvi um suporte inicial para dois plugins legais no backend para Python 2: algebra linear e criação de gráficos.

Primeiro, vamos ver o plugin de algebra linear. Na barra de menu, vá em Algebra Linear > Criar Matriz. Uma janela para criação de matrizes será aberta. Você deve então colocar os valores nas células.

python3_linearalgebraAssistente de criação de matriz

Após clicar no botão ‘Ok’, o comando para criação de matrizes da biblioteca numpy será carregado no terminal, automaticamente.

python2_linearalgebra_resultNova matriz criada

Por agora este plugin tem implementado apenas o suporte para criação de matrizes.

Veremos agora o plugin para criação de gráficos, que serve tanto para gráficos 2D quanto 3D. Façamos x = numpy.arange(0.0, 2.0, 0.01) e, na barra de menu, vamos em Gráfico > Gráfico 2D. A janela abaixo será aberta.

python2_graphicAssistente para criação de gráficos 2D

Você pode configurar uma expressão para o eixo Y (neste caso estou usando a função seno numpy.sin) e uma váriável ou função para o eixo X (neste caso, 2 * x * numpy.pi). Você poderia apenas colocar x no nome da variável para criar um gráfico dos valores de x.

Após pressionar ‘Ok’, o comando usando pylab será carregado no terminal para criar o gráfico.

python2_graphic_resultO assistente para gráficos 3D segue um padrão similar para criar as figuras.

Como você pode ver, utilizar esses assistentes requer alguns módulos do python carregados na área de trabalho, e eles devem ter os mesmos nomes utilizados nos plugins. Existem diversas formas de carregar módulos no ambiente python (import foo; import foo as [anyname]; from foo import *; etc), então fazer isso de forma genérica é praticamente impossível (na verdade eu queria ouvir algumas sugestões sobre isso da comunidade).

Minha escolha foi carregar numpy, scipy, matplotlib e pylab quando o backend para Python 2 é carregado pelo Cantor. Bem, eu pretendo mudar isso porque esses módulos passam a ser obrigatórios para o backend funcionar corretamente, e também porque pylab não é mais recomendado nas versões recentes do matplotlib. Então, eu espero alterar esse plugin o quanto antes.

De qualquer forma, gostaria de escutar as opiniões da comunidade de usuários de python no ambiente científico sobre essas funcionalidades.

Futuro

No momento estamos trabalhando no port do Cantor para Qt5/KF5. Você pode acompanhar esse trabalho no branch ‘frameworks‘ do repositório do Cantor.

Doações

Se você usa ou aprecia meu trabalho no Cantor, ou em algum outro projeto de software livre, por favor considere fazer uma doação para mim: assim eu poderei continuar me dedicando à contribuições e melhorias nesses projetos.

Você poderia considerar uma doação para o KDE também, e ajudar com a manutenção dessa grande comunidade de software livre e os projetos desenvolvidos por ela.

3 comentários em “Cantor: novas funcionalidades no KDE 4.14”

  1. Caro Amigo,

    o bug que impede o carregamento de numpy no backend do python2 , contido na última versão Debian, continua presente no Ubuntu 14.04.
    Recordo-me de ter lido há algum tempo atrás num post relacionado consigo uma
    solução, ou proposta para isso, mas não o consigo encontrar agora.
    Se tiver oportunidade agradecia-lhe que me indicasse como resolver este aborrecido
    e duradouro bug.
    Resta-me felicitá-lo pelo seu excelente esforço e enviar-lhe os meus melhores cumprimentos.

    Fernando Pacheco
    Docente do Instituto Superior de Engenharia do Porto/ Portugal (aposentado)

    1. Olá Fernando, tudo bem? Obrigado por usar o Cantor + Python.
      Acho que você está falando desse bug https://bugs.kde.org/show_bug.cgi?id=330032 que acabei de subir a correção em http://quickgit.kde.org/?p=cantor.git&a=commit&h=0ecc94c70e841099620a0dff1f2e9afc7a958f15.

      Caso você use o Cantor compilado por conta própria, pode utilizar as modificações do código do arquivo python2backend.cpp que resolverá http://quickgit.kde.org/?p=cantor.git&a=blobdiff&h=c103e16757eaca39b457263f9c21aa3e72265427&hp=2b724f1f35c1daf41aaee01d1e9a17201dddbad6&hb=0ecc94c70e841099620a0dff1f2e9afc7a958f15&f=src%2Fbackends%2Fpython2%2Fpython2backend.cpp

      Caso não, aguarde o pessoal do Debian/Kubuntu empacotar a próxima versão do Cantor que estará corrigido.

      Obrigado mais uma vez e se eu for ao Porto algum dia (talvez para participar do ISAP, próximo ano) avisarei pelo blog. =)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *