python

Recursos de programación de python
En esta charla daremos un repaso a las posibilidades de Requests, comparándolo con otros lenguajes o librerías cuando venga al caso. Haremos cosas tan habituales como las siguientes: - Realizar peticiones sencillas. - Realizar peticiones con autenticación - Enviar cabeceras personalizadas. - Enviar ficheros. - Manejar los formatos más comunes, como json o stream binarios. - Gestionar cookies y sesiones. - Gestionar conexiones SSL. - Manejar fácilmente códigos de error, redirecciones, timeouts, etc. En definitiva, veremos cómo hacer lo que uno esperaría poder hacer con una librería HTTP. Presentación disponible en http://2016.es.pycon.org/media/keynotes/requests.zip http://2016.es.pycon.org/
La simulación y optimización de procesos han experimentado un crecimiento considerable durante los últimos años. Con el avance, abaratamiento de arquitecturas y mejora de software para procesamiento en paralelo, muchas industrias apuestan por algoritmos estocásticos para mejorar la producción, reducir los costes o disminuir el impacto medioambiental. Debido a la complejidad de la multitud de procesos industriales, es habitual hacer uso de simuladores donde existe un flujo de datos con los que se opera en módulos o bloques de forma secuencial. Sin embargo, con respecto a la optimización, los simuladores no han alcanzado un grado de desarrollo o robustez deseada —no existe aún un botón mágico en los simuladores que “optimice”, por ejemplo, el número de equipos y/o las condiciones de operación. En esta charla, sin embargo, mostraremos con código Python como algoritmos del tipo PSO (Particle Swarm Optimization) pueden ser acoplados fácilmente con simuladores de procesos para resolver problemas de optimización. Recientemente en Python han aparecido librerías especializadas en algoritmos libres de derivadas (OpenMDAO-NASA, PyGMO-ESA o PySwarm, entre otras). Éstas, junto al uso de simuladores (propietarios o libres) pueden ser muy interesantes en un gran número de aplicaciones como herramientas de optimización de caja negra. Por ejemplo, en el ámbito de la ingeniería de procesos químicos, los simuladores secuenciales modulares (como Aspen Hysys, Aspen Plus, Pro/II, ChemCAD…) son ampliamente utilizados para el diseño refinerías, plantas químicas y/o tratamiento de aguas. Estos paquetes de software incluyen bibliotecas termodinámicas y modelos numéricos que conducen a predicciones precisas de los procesos implementados. Por ello y a modo de aplicación real, combinaremos finalmente estos simuladores con Python, lo que nos permitirá obtener un ahorro económico significativo en el diseño final de una planta de procesos químicos. Esta charla será impartida por investigadores de ingeniería química de la Universidad de Alicante miembros de CAChemE y su estructura será la siguiente: - Introducción a la problemática en la optimización matemática (5 min). Se realizará una introducción visual a conceptos de optimización determinista, así como a las ventajas e inconvenientes que presentan los algoritmos estocásticos. - Implementación del algoritmo PSO (15 min). Se verán ejemplos sencillos de optimización con Python y se explicará de manera breve cómo acelerar su tiempo de ejecución. - Serie de ejemplos de problemas de optimización en ingeniería (10 min), con especial hincapié en ejemplos reales en la industria e ingeniería química. Material de la charla disponible en https://github.com/CAChemE/stochastic-optimization Presentación disponible en https://github.com/CAChemE/stochastic-optimization/raw/master/Slides %20-%20PyconES%202016%20-%20Simulation-Based%20Optimization%20Using%20PSO.pdf http://2016.es.pycon.org/
Amig@ Sysadmin, ¿tus bash se marchitan?... , ¿vives perdido en un mundo de PIPEs sin sentido?..., ¿te peleas con greps y awks demoniacos?..., ¿tus scripts pueden hacer sangrar los ojos?… tranquil@ , no estas sol@… Python es la medicina que necesita tu código. Material de la charla disponible en https://github.com/klashxx/PyConES http://2016.es.pycon.org/
Hay vida más allá del "python manage.py runserver". Siempre que hay charlas de Django uno termina pensando «muy bien, ¿ y ahora qué? ¿Cómo despliego esto?». Esta charla va precisamente de eso, de intentar poner el foco en las mejores maneras de desplegar Django en base al tipo de proyecto, tipo de cliente y tipo de tecnologías disponibles. Para ello revisaremos todo, desde lo más sencillo a lo más complicado. Daremos un breve repaso por las diferentes tecnologías que podemos usar para desplegar: bash, paramiko, fabric, ansible, salt, chef, rpm/deb, docker, PAAS (Platform as a Service), etc., sin dejar a un lado cosas como sistemas operativos, servidores web, wsgi, integración continua, servicios en la nube. Presentación disponible en http://2016.es.pycon.org/media/keynotes/roberto_majadas_desplegando_django.pdf http://2016.es.pycon.org/
osBrain is a general-purpose multi-agent system module written in Python. Agents run independently as system processes and communicate with each other using message passing. osBrain uses ØMQ for efficient and flexible message passing between agents. It also uses Pyro4 to ease the configuration and deployment of complex systems. Multi-agents systems can be applied for transportation, logistics, defense and military applications, networking, load balancing, self-healing networks... Slides available at https://peque.github.io/PyConES-Spain-2016-osbrain/ http://2016.es.pycon.org/
Necesitas construir una API, ¿pero conoces qué herramientas deberías usar? Cada día aparecen nuevas herramientas pensadas para crear, testear y desplegar APIs. En esta charla se presentará de manera resumida un caso real: el proceso de construcción de una API usando Python desde su diseño hasta su puesta en producción. Veremos los problemas encontrados por nuestro equipo y obviamente sus soluciones. Presentación disponible en https://speakerdeck.com/amatellanes/como-construir-un-api-del-que-tus-padres-se-sientan-orgullosos http://2016.es.pycon.org/
Nowadays Python is the perfect environment for developing a real-time automated trading tool. In this talk we will discuss the development of: a general-purpose multiagent-system module using Pyro and ZeroMQ; a platform, based on it, for developing automated trading strategies using Numpy, Numba, Theano, etc.; and a GUI for visualizing real-time market data using PyQtGraph and Qt. Slides available at https://peque.github.io/PyConES-Spain-2016-trading/ http://2016.es.pycon.org/
Optimization (also known as mathematical programming) can be simplified to a selection of the best element/s (minimum or maximum) for a given circumstance (objective function), which may include some conditions (subject to restrictions). One of the classic problems in field optimization is the (diet problem) [http://www.neos-guide.org/content/diet-problem]. This problem came up during the Second World War when the Army wanted to minimize the cost of feeding their soldiers in the field (objective function) while maintaining a balanced diet. For this occasion, we will take as an example a set of foods from a well-know fast food restaurant and try to minimize the cost of the menu while being as healthy as possible. To solve this problem, there are plenty of commercial algebraic modeling languages —such as GAMS and AMPL—, which are used mainly in academia and professional environments. But as Python lovers, we can use several libraries for solving such optimization problems, —e.g. [CVXOpt] (http://cvxopt.org/) [CVXPy] (http: //www.cvxpy.org/en/latest/ ) [PULP] (https://pythonhosted.org/PuLP/) [OpenOpt] (http://openopt.org/Welcome), or [Pyomo] (http: //www.pyomo.org/). In this talk we will use Pyomo because: - We can use it as an Algebraic Modeling Language, being similar to AMPL and GAMS. -Solve these problems by means of a variety of solvers such as GLPK, Gurobi, CPLEX, CBC and PICO. -It is a free, open source library (BSD license), being developed by Sandia National Laboratories, USA. -Supports Python 3 and is easy to install. -Moreover, it automatically connects with NEOS server (web platform that gives free access to commercial solvers). The talk will be divided in three parts: 1.- Introduction to Mathematical Programming/Optimization (10 min): visual introduction to optimization concepts including restrictions and non linearties (linear Programming, Nonlinear Programming, ILP, MIP, MINLP). 2.- Introduction to the diet problem, Pyomo sintax and a quick note for the installation (15 min): showing how to improve your diet and save money when ordering food in fast food restaurants. 3.- Optimization problems in engineering (5 min): showing more advanced optimization examples in the area of process engineering Don't miss this talk if are one of those "undecided pythonistas" that want to learn how to solve optimization problems with determination ;) http://2016.es.pycon.org/
La optimización de procesos industriales ha experimentado un crecimiento considerable durante los últimos años. Las industrias modernas apuestan por ella para mejorar la producción, reducir los costes, disminuir el impacto ambiental e incrementar la seguridad. En este sentido, es sensata la introducción y formación de los nuevos ingenieros en esta rama de la ciencia. Resulta curioso pensar que en el ámbito de las ciencias de la computación, la optimización suele hacer referencia a la reducción en el tiempo de ejecución del programa. Pero la optimización matemática (también conocida como investigación de operaciones o programación matemática) no tiene nada que ver con este problema y, en muchos casos, la formación que se recibe en las universidades no pasa de explicar el algoritmo SIMPLEX para la resolución de problemas lineales con variables continuas. Un problema de optimización consiste, a grandes rasgos, en maximizar o minimizar una función real eligiendo sistemáticamente valores de entrada (tomados de un conjunto permitido) y calculando el valor de la función. Este problema se vuelve interesante cuando aparecen restricciones (lineales y no lineales) y variables enteras (para modelar la toma de decisiones discretas). Multitud de problemas de optimización en las empresas pueden llegar a expresarse a partir de un pequeño conjunto de problemas de optimización sencillos, como el problema de la mochila o el problema del viajante de comercio. Estos problemas se incrustan, a veces de manera indirecta, en problemas relacionados con la organización de la logística de la empresa. Por este motivo, el estudio y buen conocimiento de esta serie de problemas es básico para comprender y abordar problemas de una magnitud superior, además de ser un buen entrenamiento para introducirse en la sintaxis del modelado algebraico. Dos de los lenguajes de modelado comerciales más utilizados para resolver este tipo de problemas matemáticos son GAMS y AMPL. En Python existen varias bibliotecas que permiten resolver el mismo tipo de problemas como son CVXOpt, CVXPy, PulP, OpenOpt, o Pyomo. Este último, Pyomo.org, resulta interesante ya que: Permite la modelización matemática en Python tipo AMPL/GAMS Se comunica directamente los principales solvers como GLPK, Gurobi, CPLEX, CBC y PICO Es open source (licencia BSD) y está desarrollado por Sandia National Laboratories, USA. Pyomo (antiguamente conocido como Coopr) es 100% gratuito, maduro y bien documentado Soporta Python 3 y su instalación es sencilla Se comunica con NEOS server (plataforma web que da acceso a solvers comerciales de forma gratuita) * Se adapta al modelado de problemas de todo tipo al estar desarrollado en Python Por lo tanto, Pyomo proporciona una capacidad que se asocia comúnmente con lenguajes de modelado algebraico comerciales como AMPL, AIMMS y GAMS, pero los objetos de modelado de Pyomo están incrustados dentro de Python, un lenguaje de programación de alto nivel con todas las funciones con un rico conjunto bibliotecas científicas. Respecto a sus capacidades como lenguaje de modelado algebraico, Pyomo es compatible con una amplia gama de tipos de problemas de optimización, incluyendo entre otros: Programación lineal Programación cuadrática Programación no lineal Programación lineal entera mixta Programación cuadrática mixta entero Programación lineal entera mixta Programación estocástica entera mixta Programación disyuntiva generalizada * Ecuaciones algebraicas diferenciales La charla queda estructurada de la siguiente manera: Introducción a la optimización matemática (10 min). Se realizará una introducción a los conceptos de optimización con restricciones. Breves notas de instalación e introducción a la sintaxis de Pyomo (5 min): donde se explicará de manera breve como instalar Pyomo y como se trabaja con él. * Ejemplos (15 min): Resolución del problema de la mochila y el problema del viajante de comercio con Pyomo. ¿Quiénes somos? CAChemE es una asociación sin ánimo de lucro formada por ingenieros químicos (profesionales, docentes y estudiantes) que pretende estimular las posibilidades de software en la ingeniería de procesos químicos. Nuestro objetivo es promover las ventajas de las nuevas herramientas de software libre disponibles y fomentar su uso tanto en la industria como en la universidad. La sede central de CAChemE se encuentra en el Instituto Universitario de Ingeniería de Procesos Químicos de la Universidad de Alicante. Material de la charla disponible en https://github.com/planelles20/PyConES-PythonEmpresa/blob/master/PyConES16_Python.ipynb http://2016.es.pycon.org/