Personal Website

My Web: MindEchoes.com

Saturday, July 14, 2012

Kanzen Liberado!

Ayer libere el modulo de Code Completion para Python que usamos en NINJA-IDE como una libreria independiente para que cualquier pueda usarla en otra aplicacion. La libreria esta bajo licencia GPLv3 y es muy simple de usar:

Usando Kanzen: 

from kanzen import code_completion
cc = code_completion.CodeCompletion()

# Get the source code to be analyzed
# str or unicode
source_code = your_editor.get_source_code()  
# The path is used to identify each module 
# after analysis inside Kanzen
path = '/path/to/the/file.py'
# If you provide a path, but an empty string 
# for source_code, Kanzen will try to read the
# file from disk and get the source code.
# Execute "analyze_file" to collect metadata 
# and resolve types
cc.analyze_file(path, source_code)

# To get the list of possible completions, 
# you need to call: "get_completion" providing
# the source code of the file, and the position 
# of where the cursor is.
result = cc.get_completion(source_code, offset)

get_completion devolvera una estructura como la siguiente:

(No siempre contendra los siguientes elementos, puede ser que a veces "modules" no este si el objeto del que estamos obteniendo informacion no posee modulos, etc)

{
    'modules': ["list of strings", ...],
    'classes': ["list of strings", ...],
    'functions': ["list of strings", ...],
    'attributes': ["list of strings", ...],
}

Importante:
Se puede mejorar los resultados del Autocompletado agregando la carpeta del proyecto a Kanzen, por ejemplo, haciendo algo como:
 
from kanzen import completion_daemon
completion_daemon.add_project_folder('/path/to/project/')

# This will create a map of the project structure 
# and will allow Kanzen to understand
# the imports that are related to your project 
# and look for those modules.
# Also if your project is related to another project 
# which code is in your computer, the same principle apply.

No olvides: Cuando estas usando Kanzen, Kanzen va a activar un daemon para resolver en background casos especiales de autocompletado y tener esa informacion disponible cuando sea necesario. Habiendo dicho eso, es necesario recordar apagar el daemon antes de cerrar el programa.

from kanzen import completion_daemon
completion_daemon.shutdown_daemon()

Repositorio del Proyecto: Kanzen

Monday, July 2, 2012

Y llegamos a NINJA-IDE 2.0

Hemos liberado la version 2.0 de NINJA-IDE, despues de un año y medio  trabajando en esta version, la verdad que estamos muy contentos del Release que conseguimos!!
Esta nueva version incluye muchas features que realmente cumplen con la idea que nos propusimos de hacer la vida del desarrollador Python mas facil, productiva.

http://ninja-ide.org/

La cantidad de features y mejoras incluidas en esta version la verdad que SON MUCHAS, y pronto estaremos liberando tutoriales y videos para que se le pueda sacar el maximo provecho!

Muchas gracias a toda la gente que estuvo involucrada en NINJA-IDE para llegar a este Release!

Ejemplo de Code Completion en NINJA-IDE:




Video para el Aniversario del Año de NINJA-IDE:

 

Video Evolucion de NINJA-IDE 2.0: