Esqueletos de proyectos Python

Autor(es):Leonardo J. Caballero G.
Correo(s):leonardocaballero@gmail.com
Lanzamiento:0.1
Fecha:16 de Feb del 2013

Introducción

Son una serie de colecciones de plantillas esqueletos que permiten iniciar rápidamente proyectos, existente diversos esqueletos orientados a tipos de desarrollos específicos.

¿Qué es PasteScript?

Es una herramienta de linea de comando basada en plugins que le permiten crear estructuras de paquetes de proyectos Python ademas sirve aplicaciones web, con configuraciones basadas en paste.deploy.

Instalación

Dentro de su entorno virtual activado debe instalar el paquete PasteScript, ejecutando el siguiente comando:

(python) pip install PasteScript

Nota

No olvidar que estos paquetes han sido instalados con el entorno virtual que previamente usted activo, eso quiere decir que los paquetes previamente instalados con Easy Install están instalados en el directorio ~/virtualenv/python/lib/python2.x/site-packages/ en ves del directorio de su versión de Python de sistema /usr/lib/python2.x/site-packages/

Al finalizar la instalación podrá opcionalmente consultar cuales plantillas tiene disponible para usa, ejecutando el siguiente comando:

(python)$ paster create --list-templates
  Available templates:
    basic_package:       A basic setuptools-enabled package
    paste_deploy:        A web application deployed through paste.deploy

Usted puede usar el comando paster para crear paquetes Python.

(python)$ paster create -t basic_package mipaquetepython

  Selected and implied templates:

    PasteScript#basic_package  A basic setuptools-enabled package

  Variables:
    egg:      mipaquetepython
    package:  mipaquetepython
    project:  mipaquetepython
  Enter version (Version (like 0.1)) ['']: 0.1
  Enter description (One-line description of the package) ['']: My Basic Package
  Enter long_description (Multi-line description (in reST)) ['']: My Basic Package to show how use PasteScript
  Enter keywords (Space-separated keywords/tags) ['']: PasteScript Basic Package Demo
  Enter author (Author name) ['']: Pedro Picapiedra
  Enter author_email (Author email) ['']: pedro@acme.com
  Enter url (URL of homepage) ['']: http://www.acme.com/equipo/pedro
  Enter license_name (License name) ['']: GPL
  Enter zip_safe (True/False: if the package can be distributed as a .zip file) [False]:
  Creating template basic_package
  Creating directory ./mipaquetepython
    Recursing into +package+
      Creating ./mipaquetepython/mipaquetepython/
      Copying __init__.py to
      ./mipaquetepython/mipaquetepython/__init__.py
    Copying setup.cfg to ./mipaquetepython/setup.cfg
    Copying setup.py_tmpl to ./mipaquetepython/setup.py
  Running /home/macagua/virtualenv/python/bin/python setup.py egg_info

Usted puede verificar el paquete previamente creado y observará como este paquete básico ha habilitado el setuptools

(python)$ tree mipaquetepython/
  mipaquetepython/
  |-- mipaquetepython
  |   `-- __init__.py
  |-- mipaquetepython.egg-info
  |   |-- PKG-INFO
  |   |-- SOURCES.txt
  |   |-- dependency_links.txt
  |   |-- entry_points.txt
  |   |-- not-zip-safe
  |   `-- top_level.txt
  |-- setup.cfg
  `-- setup.py

Para instalar este paquete ejecute el siguiente comando:

(python)$ cd mipaquetepython/mipaquetepython/
(python)$ vim app.py

Escriba un simple código que solicita un valor y luego lo muestra:

var = raw_input("Introduzca alguna frase: ")
print "Usted introdujo: ", var

Guarde los cambios en el archivo app.py

Luego importe su aplicacion app.py en el archivo __init__.py con el siguiente código fuente:

from mipaquetepython import app

Para comprabar su instalación ejecute el siguiente comando:

(python)$ python

Y realice una importación del paquete mipaquetepython ejecutando el siguiente comando:

>>> import mipaquetepython
Introduzca alguna frase: Esta cadena
Usted introdujo:  Esta cadena
>>> exit()

Descarga código fuente

Para descargar el código fuente de este ejemplo ejecute el siguiente comando:

$ svn co https://svn.plone.org/svn/collective/spanishdocs/tags/0.1rc/src/mini-tutoriales/mipaquetepython/ mipaquetepython

Esqueletos en diversos proyectos Python

A continuación se muestran algunos esqueletos útiles:

  • Esqueletos de proyectos Zope/Plone.
  • Esqueletos de proyectos Django:
    • django-project-templates, plantillas Paster para crear proyectos Django.
    • fez.djangoskel, es una colección de plantillas Paster para crear aplicaciones Django como paquetes eggs.
    • django-harness, es una aplicación destinada a simplificar las tareas típicas relacionadas con la creación de un sitio web hechos con Django, el mantenimiento de varias instalaciones (local, producción, etc) y cuidando su instalación global y su estructura de “esqueleto” actualizado del sitio de manera fácil.
    • lfc-skel, Plantillas Paster para django-lfc. lfc-skel provee una plantilla para crear una aplicación LFC.
  • Esqueletos de proyectos Pylons:
    • Pylons, un Framework Web Pylons, que al instalarse con EasyInstall instala dos plantillas de proyectos Pylons.
    • PylonsTemplates, Plantillas extras de paster para Pylons, incluyendo implementación de repoze.what. PylonsTemplates le ofrece plantillas adicionales paster para aplicaciones Pylons.
    • BlastOff, Una plantilla de aplicación Pylons que proporciona un esqueleto de entorno de trabajo configurado con SQLAlchemy, mako, repoze.who, ToscaWidgets, TurboMail, WebFlash y (opcionalmente) SchemaBot. La aplicación generada esta previamente configurada con autenticación, inicio de sesión y formularios de registro, y (opcionalmente) confirmación de correo electrónico. BlastOff ayudar a acelerar el desarrollo de aplicaciones en Pylons por que genera un proyecto con una serie de dependencias configuraciones previamente.
  • Esqueletos de proyectos CherryPy:
  • Esqueletos de proyectos Trac:
    • TracLegosScript, TracLegos es un software diseñado para ofrecer plantillas para proyectos Trac y asiste con la creación de proyecto trac.
    • trac_project, Plantilla de proyecto Trac de software de código abierto.

Recomendaciones

Si desea trabajar con algún proyecto de desarrollo basado en esqueletos o plantillas paster y Buildout simplemente seleccione cual esqueleto va a utilizar para su desarrollo y proceso a instalarlo con Easy Install o PIP (como se explico anteriormente) y siga sus respectivas instrucciones para lograr con éxito la tarea deseada.

Referencias




Editar este documento

El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.

  1. Valla a Esqueletos de proyectos Python en GitHub.
  2. Presione el botón Fork. Este creara su propia copia personal de la documentación.
  3. Edite los archivos usando el editor de texto de GitHub desde su navegador Web
  4. Rellene en la caja de texto Commit message al final de la pagina indicando por que usted realizo estos cambios. Presione el botón Propose file change próximo a ese cuando allá finalizado.
  5. Luego diríjase a la página Send a pull request (no será necesario rellenar ningún texto adicional). Sólo tiene que pulsar el botón Send pull request.
  6. Sus cambios ahora sera consultados para un revisor dentro de la pestaña Pull requests del proyecto en Github.

Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.