Skip to content

Latest commit

 

History

History
504 lines (321 loc) · 24 KB

README.md

File metadata and controls

504 lines (321 loc) · 24 KB

Recursos compartidos vía la comunidad de Python Venezuela


Recursos para aprender y estudiar Python

Libros

  • Dive into Python 3 - Es el libro ideal para quien quiera aprender Python pero ya sabe programar. Comienza presentando un programa completo escrito en Python el cual analiza parte a parte en la medida en la que explica los elementos de Python. El finalizar, el lector podrá entender claramente todo el programa.

Análisis científico con Python

Paquetes básicos

  • Numpy - Es el paquete fundamental en python para el cómputo numérico. Permite definir arreglos y matrices numéricas multidimensionales y realizar operaciones sobre estos.

  • Scipy - La biblioteca SciPy es una colección de algoritmos numéricos y cajas de herramientas para dominios específicos que incluyen procesamiento de señales, optimización, estadística y mucho mas.

  • Pandas - Biblioteca de alto rendimiento y simple de usar para realizar análisis y modelado de datos (en inglés).

  • SymPy - es una biblioteca para matemática simbólica. Tiene el objetivo de convertirse en un sistema completo de álgebra computacional implementado totalmente en Python.

Gráficos

  • Matplotlib - es un paquete de gráficos científicos que se ha convertido en el estándar de facto en Python, provee capacidad de graficación 2D y 3D en diversos formatos, entornos de interfaces gráficas, y servidores de aplicación web. Existe un modo especial de IPython que se integra con Matplotlib.

  • GraphLab Create - Biblioteca programada en c++ de alto rendimiento para construcción de gráficos de con data de gran escala (en inglés).

Extensiones

  • Scikits - Los scikits son paquetes extra de Scipy que proveen funcionalidad mas específica. scikit-image para procesamiento de imágenes y scikit-learn para aprendizaje automático y minería de datos son dos de los mas destacados.

Recursos

  • Scipy lecture notes - Conjunto de materiales sobre las herramientas del ecosistema científico de Python.

  • Software Carpentry -es una organización de voluntarios sin fines de lucro cuyos miembros enseñan destrezas informáticas básicas a investigadores. En la sección lecciones se encuentra excelente material de buenas prácticas de desarrollo y Python, y otras herramientas como bases de datos y sistemas de control de versiones.


Frameworks basados en Python

Frameworks para desarrollo web

  • Django - Framework web de alto nivel, desarrollo rápido con diseño limpio y pragmático

  • Flask – Flask es un micro framework que sirve para construir aplicaciones web.

    • Tutoriales

    • Complementos para Flask

      • Flask-RESTful - Framework para desarrollar API basado en REST (en inglés).

      • Flask-SQLAlchemy - Librería ORM para desarrollar en Flask (en inglés).

      • Flask-Admin - Librería la cual resuelve el aburrido problema de construir una interfaz de administrador sobre un modelo de datos existente al desarrollar en Flask (en inglés).

      • Flask-Security - Librería la cual le permite agregar rápidamente mecanismos de seguridad comunes a su aplicación Flask (en inglés).

  • Pyramid - Pyramid es un framework web general. Sus principios son la simplicidad, minimalismo, documentación, velocidad, confiabilidad y apertura.

    • Tutoriales

    • Complementos para Pyramid

      • Extending Pyramid - Más de 470 paquetes Pyramid disponibles para extender sus funcionalidades a través de complementos y entornos de desarrollo de Pyramid. (en inglés).

      • pyramid_sacrud - Librería la cual construye una interfaz de administrador sobre un modelo de datos existente al desarrollar en Pyramid y trabaja con varios backends (en inglés).

      • pyramid-restful-framework - Framework para desarrollar API basado en REST (en inglés).

  • Zope - Zope es un servidor de aplicaciones web gratuito y de código abierto escrito en el lenguaje de programación orientado a objetos "Python". Desde su lanzamiento en 1998, Zope continúa creciendo en muchas aplicaciones, marcos, bibliotecas y herramientas distintas.

    • Tutoriales

    • Complementos para Zope

      • Extending Zope - Más de 1660 paquetes Zope en sus diversas versiones (Zope2, Zope3 y Zope4) disponibles para extender sus funcionalidades a través de complementos y entornos de desarrollo de Zope. (en inglés).

      • Download Zope Products - La página ANTIGUA de Productos Zope en las versiones Zope2 y Zope3 disponibles en ese entonces, para extender sus funcionalidades a través de complementos y entornos de desarrollo de Zope. (en inglés).

      • zope.sqlalchemy - Librería ORM para desarrollar en Zope usando librería SQLAlchemy (en inglés).

      • lazr.restful - Framework para desarrollar API basado en REST (en inglés).

      • plone.rest - le permite usar verbos HTTP como GET, POST, PUT, DELETE, etc en Plone sobre Zope para desarrollar API basado en REST (en inglés).

  • Ramses - Biblioteca que genera una API RESTful usando RAML.

  • Nefertari - Framework para API RESTful que usa ElasticSearch para la lectura y MongoDB o PostgreSQL para escritura.

  • web.py - Es un micro framework tan simple como potente desarrollado originalmente por Aaron Swartz. web.py trata de ser un framework lo menos intrusivo posible, es "un framework anti framework".


CMS basados en Python

Frameworks para desarrollo de CMS


Hardware libre con Python

Bibliotecas para el desarrollo con Arduino

  • Arduino y Python - Herramientas para establecer comunicación vía puerto serial con Arduino a través de Python (en inglés).

  • Arduino y Python Videos - 17 videotutoriales para manejar Arduino con Python (en inglés).

Bibliotecas para el desarrollo con Raspberry Pi

  • Raspberry Pi Teach - Recursos para aprender a programar Raspberry Py con Python (en inglés).

Herramientas para desarrollo y depuración de código

  • IPython - Poderoso shell interactivo; cuenta con interfaz gráfica basada en Qt e interfaz basada en navegador notebook con soporte para código, texto enriquecido, expresiones matemáticas, generador de gráficos entre otros.

  • pdb - Depurador de Python acrónimo ingles pdb: Python Debugger. Soporta punto de interrupción condicionales y seguimiento paso a paso del código.

  • Lettuce - BDD Desarrollo dirigido por comportamientos con Python.


Herramientas para gestión de proyectos

  • Trello - Herramienta de pizarras y tarjetas para organizar el trabajo.

  • Pivotal Traker - Herramienta que simplifica el trabajo de colaboración enfocando prioridades del proyecto y equipo de trabajo.

  • Taiga.io - Plataforma libre y gratuita para gestión de proyectos con mecanismos ágiles.

  • Jira - Herramienta para seguimiento de equipos de trabajo, flible y extensible.

  • waffle.io - Crea una solución de gestión de proyectos a partir de repositorios GitHub.


Recursos para el desarrollo de backends

Recursos para desarrollar componentes y servidores de backend

  • celery - Biblioteca para el manejo de tareas asincrónicas mediante mensajes distribuidos en tiempo real.

  • requests – Una hermosa biblioteca para manejar peticiones HTTP.

  • rq – Biblioteca para implementar colas de tareas usando Redis

  • Zato - Middleware basado en Python y servidor de aplicaciones para ESB (Enterprise Service Bus), SOA, REST, APIs, e integraciones con la nube.


Recursos para el manejo de bases de datos

  • ZODB - Base de Datos Orientada a Objetos nativa para Python.

Conectores

  • psycopg2 - Psycopg es el adaptador de PostgreSQL más popular.

  • pymongo - Conector para MongoDB desde Python.

  • MySQL Connector - Conector para MySQL desde Python.

Herramientas y Mapeadores Objeto-Relacionales

  • SQLAlchemy - SQLAlchemy es un ORM para python que incluye soporte para SQLite, MySQL, PostgreSQL, Oracle, MS SQL, entre otros que facilita la programación orientada a objetos con los motores base de datos relacionales (en inglés)

  • Alembic - Herramienta ligera de migración de bases de datos para SQLAlchemy.

Otras bibliotecas útiles

  • Records – Records es una biblioteca simple pero poderosa para hacer consultas SQL (puras) a bases de datos Postgres.

Recursos para el desarrollo de front-ends

Los siguientes son recursos no tienen ninguna relación con Python pero son sumamente útiles para el desarrollo de interfaces web.

  • Bootstrap – Es un framework HTML, CSS y JS para crear aplicaciones web responsivas

  • Foundation – Es otro framework HTML, CSS y JS para el desarrollo de aplicaciones web responsivas

  • PureCSS – Es un conjunto de módulos CSS muy pequeño que se usa para desarrollar aplicaciones web responsivas. A diferencia de Bootstrap y Foundation, PureCSS no contiene ningún módulo Javascript.


Recursos para poner a pruebas sistemas

  • aioload - Pruebas de carga asíncronas mínimas y rápidas con aiohttp + pandas para dibujar los gráficos.

Recursos para el despliegue de aplicaciones

  • fabric – Es una biblioteca Python basado en línea de comandos para ejecutar aplicaciones o tareas administrativas locales o remotas través de SSH

Servicios para el control de versiones

  • GitHub – Es uno de los servicios web más populares que ofrece hosting gratuito para repositorios en Git, seguimiento de errores, solicitudes de cambios y wikis. Ofrece repositorios privados pero de pago.

  • GitLab – Es otro servicio web que ofrece hosting gratuito para repositorios en Git, seguimiento de errores, solicitudes de cambios y wikis. A diferencia de GitHub, GitLab ofrece repositorios privados de forma gratuita (pero limitados)

  • Bitbucket – Es un servicio web que ofrece hosting gratuito para no sólo para repositorios en Git sino también en Mercurial, ofrece seguimiento de errores, solicitudes de cambios y wikis. También ofrece repositorios privados de forma gratuita (pero limitados)


Recursos para crear interfaces gráficas

  • pyqt – Biblioteca para crear interfaces gráficas de escritorio usando Qt 4.x o Qt 5.x

  • PySide – Biblioteca para crear interfaces gráficas de escritorio usando Qt.

  • python-gtk3 – Biblioteca para crear interfaces gráficas de escritorio usando Gtk+ 3


Otros recursos útiles

  • click – Click es una biblioteca para manejar la línea de comandos desde Python.

  • SaltStack – Herramienta para gestión de infraestructuras y despliegue de aplicaciones.

  • pillow - El fork amistoso de PIL, es la biblioteca de procesamiento de imágenes mas utilizada en proyectos Python.


Blog posts

Licencia

Creative Commons License

Este trabajo tiene licencia Creative Commons Attribution 4.0 International License.