Тёмный

James Powell: Building Web-based Analysis & Simulation Platforms | PyData London 2017 

Подписаться
Просмотров 35 тыс.
% 664

Titles - Building Web-based Analysis & Simulation Platforms with React/Redux, Flask, Celery, Bokeh, and Numpy
Description
What use is analytical code if it can't be integrated into a business workflow to solve real problems? This tutorial is about integrating analytical work into a real production system that can be used by business users. It focuses on building a web-based platform for managing long-running analytical code and presenting results in a convenient format, using a cutting-edge combination of tools. Source code: bit.ly/dutc-tutorial
Abstract
The purpose of this stack is to be able to rapidly create web-based environments for users to interact with the results of analytical and simulation processes (without needing to retrain one's self as a web programmer!)
This tutorial is composed of the following pieces:
building a simple simulation using Numpy. For the purposes of this tutorial, we model a very simple Monte Carlo simulation with a number of user-controllable, tweakable algorithm inputs and model parameters. The simulation is chosen to be simple enough to present and code quickly. The purpose of this tutorial is not to build Monte Carlo simulations but to package them into lightweight production systems.
Celery for launching and managing the above simulation jobs. This tutorial will not cover all aspects of Celery. It will merely show how the tool can be used as a job management system.
Flask is a very thin JSON API layer. The tutorial will make use of Flask plugins for quickly building JSON APIs. This is the thinnest and least interesting component of the tutorial and won't be covered in great depth.
React + Redux for a slick, simple single-page app. Attendees are expected to be least familiar with Javascript and the React ecosystem. The tutorial will spend a fair amount of time on this component and will cover setting up the build environment using Babel (for JSX transpilation) and Gulp as a build system.
Bokeh for presenting graphical results from the simulation. This component may be cut based on time considerations.
If time permits, it might also be possible to discuss the use of React Native to quickly build mobile apps using the same infrastructure.
www.pydata.org
PyData is an educational program of NumFOCUS, a 501(c)3 non-profit organization in the United States. PyData provides a forum for the international community of users and developers of data analysis tools to share ideas and learn from each other. The global PyData network promotes discussion of best practices, new approaches, and emerging technologies for data management, processing, analytics, and visualization. PyData communities approach data science using many languages, including (but not limited to) Python, Julia, and R.
We aim to be an accessible, community-driven conference, with novice to advanced level presentations. PyData tutorials and talks bring attendees the latest project features along with cutting-edge use cases.
__
www.pydata.org
PyData is an educational program of NumFOCUS, a 501(c)3 non-profit organization in the United States. PyData provides a forum for the international community of users and developers of data analysis tools to share ideas and learn from each other. The global PyData network promotes discussion of best practices, new approaches, and emerging technologies for data management, processing, analytics, and visualization. PyData communities approach data science using many languages, including (but not limited to) Python, Julia, and R.
PyData conferences aim to be accessible and community-driven, with novice to advanced level presentations. PyData tutorials and talks bring attendees the latest project features along with cutting-edge use cases.
00:00 Welcome!
0:07 Introduction
2:29 Getting the source code from Dropbox
12:00 Algorithm for calculating Pi Digits
17:40 Generalising the problem and serving from HTTP
21:30 Packaging to the backend code
30:38 Testing first version
32:40 Exposing the algorithm to a flask server
38:48 Testing the server with httpie
42:14 Concurrent requests
44:02 How celery and Redis solve that problem
46:00 Installing the last required packages
49:15 Running Redis
49:35 Writing the worker code
53:35 Running the celery worker
57:09 Exposing tasks management in the backend code
1:00:30 Pause, letting people catchup
1:08:40 About doing talks at PyData
1:10:40 Opinions on JavaScript and React build chain
1:13:45 Explaining what is in the Dropbox frontend folder and tooling choice
1:21:30 Writing React code
1:26:42 Running the frontend, implementing the main component
1:39:33 Finishing the HTML form
1:40:25 Wiring the frontend to the backend
1:47:43 Results from the frontend application
S/o to github.com/mycaule for the video timestamps!
Want to help add timestamps to our RU-vid videos to help with discoverability? Find out more here: github.com/numfocus/RU-vidVideoTimestamps

Наука

Опубликовано:

 

6 май 2017

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 2   
@juanpabloarroyozamorano9466
@juanpabloarroyozamorano9466 2 года назад
very sad screen sharing disappears for 20 minutes in javascript part. thanks for sharing anyway.
@ozlemelih
@ozlemelih 2 года назад
Fart @1:28:09