Archivo de la categoría: Python

Python VirtualEnv

VirtualEnv es una herramienta usada hoy dia por casi todo el que programa python y si aun no la estas usando buena hora para comenzar, esta herramienta te permite tener entornos python tanto con diferentes versiones del lenguaje como diferentes versiones de librerias/frameworks.

Sabemos que al instalar un paquete easy_install/pip globalmente podemos retener choques entre ellas y demás problemas, bueno con virtualenv podemos tener tantos entornos virtuales como deseemos.

Instalacion

pip install virtualenv

Crear un entorno virtual

virtualenv nombreEntorno

Activar el entorno ya creado

source nombreEntorno/bin/activate

Una vez activado tendremos algo como esto en nuestra consola.

(nombreEntorno)machineName:dir

Una vez activado ya es cuestion de instalar lo que necesitemos.

pip install requests
pip install flask

Si se quiere replicar lo instalado en un entorno hay que exportar las dependencias y luego instalarlas en el entorno destino.


#mostrara todos los paquetes instalados
pip freeze

#guardara los paquetes en un archivo llamado requeriments
pip freeze >> requeriments

#instalara todos los paquetes que contenga el archivo a procesar
pip install -r fileName

Para salir de el entorno solo es ejecutar este comando y esta fuera del entorno

deactivate 

Ya para terminar si se quiere instalar una version distinta a la default en nuestro sistema de python es tan simple como

virtualenv envName -p <<apuntar a un bin de python>>

Para mas informacion

Referencia

Android Push Notification ( Parte 2 – Productor ) ( Python )

Hola que tal, esta es una segunda parte de tutorial sobre notificaciones push con android.

Android Push Notification (Parte 1 – Cliente)

En esta entrega estaremos continuando y creando el productor ( Quien genere las notificaciones para GCM ).

Los requerimientos para este tutorial son simple, solo necesitas isntalar la libreria Requests de python para poder realizar los request a GCM.

pip install requests

ahora bien para probar pueden utilizar este simple ejemplo ejecutando este archivo y estarán enviando notificaciones a los «registration-id» que le suplan.

import requests
import json

#Estos son los parametros extra para enviar y recibirlos por extras en el intent del receiver
extra = {"param1":"valor parametro 1","param2":"valor parametro 2"}
dataRaw = {
			"data":extra,
    		"registration_ids":[
    			#Los registration ids a cuales les enviara la notificacion
				'registration-id',

            ]
        }
key = "your server key generated"

headers = {
	"Content-Type":"application/json",
	"Authorization":"key={}".format(key)
}

result = requests.post("https://android.googleapis.com/gcm/send",headers=headers,data=json.dumps(dataRaw))

print result.text
print result

Si todo sale bien tendran un resultado como este

{"multicast_id":4616697826678564758,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1402514025648966%2fee3519f9fd7ecd"}]}
<Response [200]>

Screenshot (03-10PM, Jun 11, 2014)

 

Si quieren mas referencia a la libreria request he aqui un tutorial de como usarla.
Request Python Referencia

Flask Big logo

Construir Una Api rest con Flask ( Python )

Hoy día es una tarea ordinaria el tener que crear una api-rest para ser consumida por alguna terminal ya sea web o móvil, teniendo tantas herramientas para poder crearlas la parte difícil es decidir que usar para realizarlas «Right tool for the right job«. Por lo que en este tutorial estaremos creando una api-rest con flask.

Sigue leyendo

Requests Una Libreria de Python para Python

Cuantos de nosotros no hemos estado trabajando con httplib2 y tenido que escribir código no Python (No pythonic way) mientras programamos algún proyecto el cual requiera cierta comunicación externa y nuestro código no queda como queremos, para ayudarnos ahi llega  Request.

Bueno para no cansarles mas el cuento he aqui algunos ejemplos de esta maravillosa libreria:

Simple GET request

 import json
 import requests
 resultado = requests.get('url.api') #awesome verdad?

Basic Auth request

## Y asi es un simple GET request con basic auth
    r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
    r.status_code
    200
    r.headers['content-type']
    'application/json; charset=utf8'
    r.encoding
##

Post request con un json payload:

##
    import json
    import requests
    rawPayload = {'nombre' : 'nombre'}
    resultado = requests.post('url.api',data=json.dumps(rawPayload))
##

Post request para enviar un archivo:

##
    import requests
    file = open('tu_archivo.file','r')
    result = requests.post('url.api',file={ 'file':file })
##

Referencias:

Presentacion

Documentacion oficial