Subscribe: Planet Python
http://www.planetpython.org/rss20.xml
Added By: Feedage Forager Feedage Grade A rated
Language: English
Tags:
bootstrap vue  bootstrap  code  create  data  environment  europython  metaclass  new  project  python  virtual  vue  web 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Planet Python

Planet Python



Planet Python - http://planetpython.org/



 



Codementor: How I scraped 500k codes written by coders from the internet?

Wed, 21 Feb 2018 13:58:33 +0000

Presented at Pycon India'17. Also selected for Pycon Italy18



EuroPython Society: EuroPython 2018: Getting ready

Wed, 21 Feb 2018 13:44:29 +0000

We are excited to announce the launch of the EuroPython 2018 website:

(image)

https://ep2018.europython.eu/

The EuroPython conference will take place in sunny Edinburgh, Scotland, this year, from July 23-29 2018.

It’s a great time of year to visit Edinburgh with 16 hours of daylight, and the festival season in full flow, so come and join us. This is just one week before the famous Edinburgh Fringe Festival and the Turing Festival, so you can extend your stay a little longer in Edinburgh, or head for the Highlands to enjoy the amazing mountains and lochs.

EuroPython 2018 - The European Python Conference

Here’s an overview of what you can expect in Edinburgh:

  • We will start with Workshops and Training Sessions on Monday and Tuesday.
  • The main 3 conference days follow, packed with keynotes, talks, exhibition, help desks, interactive sessions, panels and poster sessions.
  • The two weekend days after the conference, July 28 and 29, are reserved for sprints (hackathons).

Overall, we will again have 7 days worth of great Python content, arranged in over 120 sessions, waiting for you.

The venue is the Edinburgh International Conference Centre, in central Edinburgh, just on the edge of the historic Old Town.

In short:

  • Monday, Tuesday, July 23-24: Workshops and Training
  • Wednesday - Friday, July 25-27: Conference talks, keynotes, training
  • Saturday, Sunday, July 28-29: Sprints

Our Sponsors

All this would not be possible without the generous help of our launch sponsors. If your company would be interested in sponsoring the 17th EuroPython please contact sponsoring@europython.eu.

Sponsoring EuroPython guarantees you highly targeted visibility and the opportunity to present yourself and your company in a professional and innovative environment. You’ll have an unique opportunity to meet many Python-enthusiastic developers, users and professionals. As a sponsor of EuroPython 2018, you will directly help to promote the work of a great open-source community and help further its development.

EuroPython 2018 is the 17th EuroPython conference. The conference tours throughout Europe. It so far has had stops in Belgium, Sweden, Lithuania, United Kingdom, Italy, Germany and Basque Country/Spain, growing from initially 240 attendees to well over 1200.

In the coming days, we will announce the start of the Call for Proposals and Early Bird Ticket sales. Please watch our EuroPython blog for updates.

https://ep2018.europython.eu/

Enjoy,

EuroPython 2018 Team
https://ep2018.europython.eu/
https://www.europython-society.org/




Programiz: Python Variables, Constants and Literals

Wed, 21 Feb 2018 08:25:47 +0000

In this article, you will learn about Python variables, constants, literals and their use cases.



Codementor: Self-Initializing Classes

Wed, 21 Feb 2018 07:20:06 +0000

A basic tutorial about how to use metaclasses and decorators in Python.



Codementor: Let’s build a Python Twitter bot (Part 1)

Wed, 21 Feb 2018 05:16:33 +0000

Read this development setup tutorial for my three-part-series about building a Twitter bot using Python.



Codementor: Getting started with Machine Learning using Sklearn-python

Wed, 21 Feb 2018 04:47:18 +0000

This article covers the basics of getting started with Sklearn-python and covers several classification algorithms.



Codementor: Testing Celery Tasks

Tue, 20 Feb 2018 18:42:03 +0000

This post is intended to give a brief overview of how to write unit tests for celery tasks.



Stack Abuse: Python Metaclasses and Metaprogramming

Tue, 20 Feb 2018 14:40:00 +0000

Imagine if you could have computer programs that wrote your code for you. It is possible, but the machines will not write all your code for you! This technique, called metaprogramming, is popular with code framework developers. This is how you get code generation and smart features in many popular frameworks and libraries like Ruby On Rails or TensorFlow. Functional programming languages like Elixir, Clojure, and Ruby are noted for their metaprogramming capabilities. In this guide, we show you how you can tap into the power of metaprogramming in Python. The code examples are written for Python 3, but will work for Python 2 with some adjustments. What is a Metaclass in Python? Python is an object-oriented language that makes working with classes easy. Metaprogramming in Python relies on a special new type of class that is called the metaclass. This type of class, in short, holds the instructions about the behind-the-scenes code generation that you want to take place when another piece of code is being executed. Wikipedia sums up metaclasses pretty well: In object-oriented programming, a metaclass is a class whose instances are classes When we define a class, the objects of that class are created using the class as the blueprint. But what about the class itself? What is the blueprint of the class itself? This is where a metaclass comes in. A metaclass is the blueprint of the class itself, just like a class is the blueprint for instances of that class. A metaclass is a class that defines properties of other classes. With a metaclass, we can define properties that should be added to new classes that are defined in our code. For example, the following metaclass code sample adds a hello property to each class which uses this metaclass as its template. This means, new classes that are instances of this metaclass will have a hello property without needing to define one themselves. # hello_metaclass.py # A simple metaclass # This metaclass adds a 'hello' method to classes that use the metaclass # meaning, those classes get a 'hello' method with no extra effort # the metaclass takes care of the code generation for us class HelloMeta(type): # A hello method def hello(cls): print("greetings from %s, a HelloMeta type class" % (type(cls()))) # Call the metaclass def __call__(self, *args, **kwargs): # create the new class as normal cls = type.__call__(self, *args) # define a new hello method for each of these classes setattr(cls, "hello", self.hello) # return the class return cls # Try out the metaclass class TryHello(object, metaclass=HelloMeta): def greet(self): self.hello() # Create an instance of the metaclass. It should automatically have a hello method # even though one is not defined manually in the class # in other words, it is added for us by the metaclass greeter = TryHello() greeter.greet() The result of running this code is that the new TryHello class is able to printout a greeting that says: greetings from , a HelloMeta type class The method responsible for this printout is not declared in the declaration of the class. Rather, the metaclass, which is HelloMeta in this case, generates the code at run time that automatically affixes the method to the class. To see it in action, feel free to copy and paste the code in a Python console. Also, read the comments to better understand what we have done in each part of the code. We have a new object, named greeter, which is an instance of the TryHello class. However, we are able to call TryHello's self.hello method even though no such method was defined in the TryHello class declaration. Rather than get an error for calling a method that does not exist, TryHello gets such a method automatically affixed to it due to using the HelloMeta class[...]



Chris Moffitt: Intro to pdvega - Plotting for Pandas using Vega-Lite

Tue, 20 Feb 2018 13:05:00 +0000

Introduction Much has been made about the multitude of options for visualizing data in python. Jake VanderPlas covered this topic in his PyCon 2017 talk and the landscape has probably gotten even more confusing in the year since this talk was presented. Jake is also one of the creators of Altair (discussed in this post) and is back with another plotting library called pdvega. This library leverages some of the concepts introduced in Altair but seeks to tackle a smaller subset of visualization problems. This article will go through a couple examples of using pdvega and compare it to the basic capabilities present in pandas today. pdvega Likely sensing the inevitable questions about another plotting library, the pdvega documentation quickly gets to the point about its goals: pdvega is a library that allows you to quickly create interactive Vega-Lite plots from Pandas dataframes, using an API that is nearly identical to Pandas’ built-in visualization tools, and designed for easy use within the Jupyter notebook. The basic idea is that pdvega can improve on pandas plot output by adding more interactivity, improving the visual appeal and supporting the declarative Vega-Lite standard. The other nice aspect is that pdvega tries to leverage the existing pandas API so that it is relatively simple to get up and running and produce useful visualizations - especially in the Jupyter notebook environment. plotting For this example, I decided to use data from FiveThirtyEight’s Ultimate Halloween Candy Power Ranking post. FiveThirtyEight is gracious enough to make all of its data available here. If you are interested in finding fun data sets to analyze, I encourage you to check it out. All of the code is meant to be run in a notebook. An example one is available on github. Make sure the code is installed properly: pip install pdvega jupyter nbextension install --sys-prefix --py vega3 Get started by importing pandas and pdvega and reading the csv into a dataframe: import pandas as pd import pdvega df = pd.read_csv("https://github.com/fivethirtyeight/data/blob/master/candy-power-ranking/candy-data.csv?raw=True") Here’s what the data looks like: competitorname chocolate fruity caramel peanutyalmondy nougat crispedricewafer hard bar pluribus sugarpercent pricepercent winpercent 0 100 Grand 1 0 1 0 0 1 0 1 0 0.732 0.860 66.971725 1 3 Musketeers 1 0 0 0 1 0 0 1 0 0.604 0.511 67.602936 2 One dime 0 0 0 0 0 0 0 0 0 0.011 0.116 32.261086 3 One quarter 0 0 0 0 0 0 0 0 0 0.011 0.511 46.116505 4 Air Heads 0 1 0 0 0 0 0 0 0 0.906 0.511 52.341465 The data includes voter results on which one of 86 candy options was their favorite. The winpercent column includes how often that candy was the vote winner. The other columns include descriptive characteristics of that candy. The good folks at FiveThirtyEight did lots of analysis, but we’ll do some quick EDA to compare stock pandas plotting vs pdvega. First, let’s look at the distribution of winning percentages using a histogram. In pandas: df["winpercent"].plot.hist() Now in pdvega: df["winpercent"].vgplot.hist() There are a couple of key points here: The pdvega API is pretty much the same as pandas plotting. Instead of calling plot you can call vgplot . The actual output looks much cleaner in pdvega The png shown here does not replicated the interactivity you get in a notebook If we want to plot multiple distributions to look at the sugar and price percentiles, it’s fairly simple: df[["sugarpercent", "pricepercent"]].plot.hist(alpha=0.5) In pdvega, the syntax is a little cleaner because the alpha parameter is not needed. df[["sugarpercent", "pricepercent"]].vgplot.hist() pdvega supports most of the standard plot types you would expect. Here’s an example of a horizontal bar chart showing the top 15 winpercenta[...]



Mike C. Fletcher: Bit of PyOpenGL maintenance

Tue, 20 Feb 2018 06:32:15 +0000

So I just pushed a bunch of fixes into the PyOpenGL repository. They're mostly just minor bug-fixes people have reported. There are more bug-reports sitting in the email backlog, but I think I'm done for today.




Codementor: Python Dictionary and Dictionary Methods

Mon, 19 Feb 2018 22:26:22 +0000

Dictionaries are unordered data structures that map unique keys to values. The dictionary webstersDict used strings as keys in the dictionary, but dictionary keys can be any immutable data type (numbers, strings, tuples etc). Dictionary values can be just about anything (int, lists, functions, strings, etc).



Doug Hellmann: urllib.parse — Split URLs into Components — PyMOTW 3

Mon, 19 Feb 2018 14:00:45 +0000

The urllib.parse module provides functions for manipulating URLs and their component parts, to either break them down or build them up. Read more… This post is part of the Python Module of the Week series for Python 3. See PyMOTW.com for more articles from the series.(image)



Mike Driscoll: PyDev of the Week: Juan Luis Cano

Mon, 19 Feb 2018 13:30:15 +0000

This week we welcome Juan Luis Cano (@astrojuanlu) as our PyDev of the Week! He is the chair of the Python Spain non-profit and the author of the poliastro project. If you can read Spanish, then you might want to check out his website. Otherwise you can definitely take a look at his Github profile to see what he’s been working on or is interested in. Let’s take some time to learn more about Juan! Can you tell us a little about yourself (hobbies, education, etc): I’m an Aerospace engineer with a passion for space, programming and open source. I really enjoy solving Physics or Math problems using computers, and the more my job requires me reading scientific papers and derive mathematical equations, the happier I am. I am an open culture advocate and also chair of the Python Spain non-profit, which organizes the PyCon in our country (I have been involved one way or another since the first edition, in 2013). When I am not in front of the computer, I love to listen to all kinds of music (electronic, ’70s rock, opera, blues), go everywhere with my bicycle and travel. Why did you start using Python? One snowy winter morning in my first year of University, our Physics professor wanted us to derive whether it’s better to climb a frozen ramp using the reverse gear of the car or not. However, he gave us the wrong solution and I struggled the whole weekend to understand it, without knowing it was wrong. I wanted to interactively displace the center of gravity of the car and the slope of the ramp without doing the calculations every time and visualizing it in some way, so I bought a 6 month student license of Mathematica. It was totally awesome, but I could not afford buying a complete license and it worked so so on Linux, so I typed “free alternative to Mathematica” and Sagemath appeared. This was 2011, and the rest is history. What other programming languages do you know and which is your favorite? My first programming experience was with a game called Tzar. It’s kind of like Age of Empires, but allowed you to create your own campaigns, define events, write dialogs… I copied and pasted $myVar everywhere without knowing what I was doing, but the result was super exciting. After that, I learned ActionScript 3 and Flash to create my own games, HTML and CSS to create my own website, PHP to give it some logic… I have to admit that I somewhat miss the object oriented nature of AS3. Also, they taught us FORTRAN 90 (all caps) in University, but since I started with Python I never had to go back to FORTRAN again. As any engineer out there, I also had to do a thing or two in MATLAB, but I oppose its closed nature and pervasiveness. Overall, my favorite is Python, of course What projects are you working on now? I just finished a freelance project with Boeing and the European Comission to try to predict aircraft trajectories based on historical data using machine learning. In my spare time, I maintain an open source library called poliastro (more on that later) and I dedicate a lot of time to promotion, documentation, prepare talks about it for conferences… I’m also trying to gather data from the Spanish railway company, RENFE, which is a bit challenging because one has to do some ugly web scraping tricks on their website. I love challenges Which Python libraries are your favorite (core or 3rd party)? My favorite libraries are Astropy and SymPy, hands down. The latter constitutes what for me is one of the most successful Python libraries when we talk about new contributors, Google Summer of Code projects… And its LaTeX output mode in the Jupyter notebook is just marvelous. The former is a rare gem in which very talen[...]



Patrick Kennedy: Steps for Starting a New Flask Project using Python3

Mon, 19 Feb 2018 04:54:07 +0000

Introduction This blog post describes my current approach to starting a new Flask project. This blog post covers getting up and running with a simple “Hello World” application using the following tools: Python3 Virtual Environment pip Flask development server This blog post assumes the use of Python 3.4 or greater, as these versions have the ‘venv’ module built-in for creating virtual environments and pip comes automatically installed in the virtual environment that gets created. Structure The easiest way to create a Flask application is to put everything into a single file. This is my preferred approach for starting a new Flask project, as it proves out the environment that is being created. Start by creating a new directory and changing into that directory: $ mkdir flask_simple_application $ cd flask_simple_application/ At this point, you will likely see that you have at least two version of python available on your system: $ python --version Python 2.7.10 $ python3 --version Python 3.6.3 I strongly recommend using Python3 for all new projects, as it has tons of new features and the support for Python2 (legacy Python) is ending in 2020 (countdown clock). Virtual Environments For even the simplest projects, creating a virtual environment is a great idea. Virtual environments create an isolated environment for each project, which means that each project can have its own dependencies (ie. version of the Python interpreter, imported python packages, etc.). Virtual environments really became beneficial to me when I was working on two simultaneous projects: An existing project required using Python2, as a needed package only supported Python2 A new project where I wanted to use Python3 Having separate virtual environments for each project allowed me to easily configure which version of Python to use. Since this project is using Python3, there is a built-in module called venv that can be used for creating virtual environments. Note: the venv module was added in Python 3.3. Here’s the command for creating a new virtual environment, where the directory to create the virtual environment in is specified as ‘venv’. NOTE: make sure to use ‘python3’ instead of ‘python’ to guarantee that Python3 will be used in the virtual environment. $ python3 -m venv venv This command created a new directory called ‘venv’ which contains the following items to keep this project isolated from the other projects on your system: Python interpreter (Python 3.6.3 in this case) Scripts for activating and deactivating the virtual environment To start using the virtual environment that was created, it needs to be activated: $ source venv/bin/activate (venv) $ After activating the virtual environment, the virtual environment name gets displayed on your command prompt (the ‘(venv)’ at the left of the prompt). Since the virtual environment is active, running the python interpreter will use Python3! (venv) $ python --version Python 3.6.3 Installing Packages with pip After creating the virtual environment for your application, it is time to start installing the Python packages that you need using pip. If you are using Python 3.4 or greater, pip gets automatically installed in your virtual environment. Start by installing the Flask framework, which is the ‘flask’ package: pip install flask This command installs the Flask package plus all of its dependencies (ie. other packages needed by Flask). Here’s a sample of all the packages that were installed: $ pip freeze click==6.7 Flask==0.12.2 itsdangerous==0.24 Jinja2==2.10 MarkupSafe==1.0 Werkzeug==0.14.1 It’s a good idea to save[...]



Fabio Zadrozny: Python with PyDev on Visual Studio Code

Mon, 19 Feb 2018 03:10:38 +0000

PyDev can now be used for Python development on Visual Studio Code!

The first release already provides features such as code analysis, code completion, go to definition, symbols for the workspace and editor, code formatting, find references, quick fixes and more (see http://www.pydev.org/vscode/ for details).

All features have a strong focus on speed and have been shaped by the usage on PyDev over the last 14 years, so, I believe it's already pretty nice to use... there are still some big things to integrate (such as the PyDev debugger), but those should come on shortly.

The requisites are having java 8 (or higher) installed on the system (if it doesn't find it automatically the java home location may need to be specified in the settings -- http://www.pydev.org/vscode/ has more details) and Python 2.6 or newer.

By default it should pick the python executable available on the PATH, but it's possible to specify a different python executable through the settings on VSCode (see http://www.pydev.org/vscode/settings.html for details).

Below, I want to share some of the things that are unique in PyDev and are now available for VSCode users:
  • Niceties from PyDev when typing such as auto-adding self where needed (note that having the editor.formatOnType setting turned on is a requisite for that to work).
  • Really fast code-completion, code-analysis and code-formatting engines.
  • Code completion provides options to import modules, top level classes, methods and variables (python.pydev.preferredImportLocation can be used to determine the location of the import).
  • Quick fix which automatically allows adding an import for unresolved symbols.
  • In-file navigation to previous or next class or method through Ctrl+Shift+Up and Ctrl+Shift+Down.
Now, the extension itself is not currently open source as PyDev... my target is making the best Python development environment around and all earnings will go towards that (as a note, all improvements done to PyDev itself will still be open source, so, most earnings from PyDev on VSCode will go toward open source development).

Enjoy!
(image)



Amit Saha: Detecting RLO character in Python

Mon, 19 Feb 2018 01:30:00 +0000

At work, I learned about how Right-to-Left Override was being used to make actually malicious files to look harmless. For example, a .exe file was being made to appear as .doc files. We didn't want to allow uploading such files. This meant that I nedded to detect the presence of the RLO character in the filename.

Then, I came across this post, where I learned about unicode bidirectional class and Python's bidirectional() method.

The final solution for detection looked like this:

import unicodedata
..
filename = 'arbitrary_filename.doc'
if 'RLO' in [unicodedata.bidirectional(c) for c in unicode(filename)]:
    raise ValueError('Invalid character in one or more of the file names')
..



Programming Ideas With Jake: DocRaptor and its Python APIs

Sun, 18 Feb 2018 01:09:48 +0000

First off, I’d like to thank DocRaptor for sponsoring this article. I’m pretty well off, but this money will be able to help my siblings out, who aren’t so lucky. It also got me to discover their service, which I may find myself using in the future. What is DocRaptor? DocRaptor is an online service […]



Techiediaries - Django: Using Bootstrap 4 with Vue

Sun, 18 Feb 2018 00:00:00 +0000

In this article I'll show you how to integrate the latest version of Bootstrap with your Vue application. Bootstrap 4 has many new features such as the use of Flexbox, ES6 modules and a new card component (which you can use to easily craft card-based layouts such as the famous Masonry layout without JavaScript/jQuery plugins or complex algorithms) etc. You can use Bootstrap 4 to add mobile first styling to your Vue application without re-inventing the wheel and without having to acquire deep CSS knowledge particularly if you need to create complex and responsive layouts. Bootstrap 4 requires jQuery and Popper. jQuery is a DOM library that makes a direct manipulation of the DOM unlike Vue which uses the virtual DOM approach so you'll want to avoid using jQuery within your Vue application but this means you won't be able to use many Bootstrap 4 components that requires jQuery? Don't worry though the community has provided some packages that integrate Bootstrap 4 with Vue without resorting to jQuery. Let's see the most popular libraries So let's get started with the first library that you can use to integrate your Vue application with Bootstrap 4 Bootstrap-Vue Head over to your terminal and navigate inside your Vue project then run the following command to intall bootstrap-vue npm install bootstrap-vue bootstrap --save bootstrap-vue requires Bootstrap CSS files so you need to install bootstrap too. Next you'll need to enable the VueBootstrap plugin in your Vue app entry point. import Vue from 'vue' import BootstrapVue from "bootstrap-vue" import App from './App.vue' import "bootstrap/dist/css/bootstrap.min.css" import "bootstrap-vue/dist/bootstrap-vue.css" Vue.use(BootstrapVue) new Vue({ el: '#app', render: h => h(App) }) You can also use these two templates to scaffold your Vue project webpack-simple and webpack which integrate bootstrap-vue out of the box. For example this how you generate a new Vue project based bootstrap-vue/webpack-simple using the Vue CLI. vue init bootstrap-vue/webpack-simple my-project cd my-project npm install You can then use different Bootstrap 4 components Conclusion Using Bootstrap-Vue is the recommended way to integrate Bootstrap 4 with your Vue 2 application since it offers Vue components for Bootsrap components that requires jQuery.[...]






Doug Hellmann: beagle 0.1.0

Sat, 17 Feb 2018 00:20:59 +0000

beagle is a command line tool for querying a hound code search service, such as https://codesearch.openstack.org This is the first release of beagle.(image)



ABlog for Sphinx: ABlog v0.9 released

Sat, 17 Feb 2018 00:00:00 +0000

ABlog v0.9.0 is released with the main focus being to support the latest version of Sphinx. This also moves the main development from Abakan to SunPy.

This has merged in all current (at time of writing, 6) open PRs to the original repository.

These are:

fix(commands): Update command arguments so patterns works correctly from rayalan.

Fix couple of bugs with latest stable Sphinx from tadeboro.

don’t use fancy quotes in the conf.py template from tiwo.

Pass through additional Sphinx options and fix a typo from ahrbel.

fix #78 (ImportError: cannot import name make_admonition in Sphinx 1.6) from lsaffre.

Raise exception when title is missing from rgrinberg.




ABlog for Sphinx: ABlog API

Sat, 17 Feb 2018 00:00:00 +0000

ablog Package Functions setup(app) Setup ABlog extension. ablog.blog Module Classes Blog(app) Handle blog operations. Post(blog, docname, info) Handle post metadata. Collection(catalog, label[, name, href, …]) Posts sharing a label, i.e. Class Inheritance Diagram ablog.commands Module Functions ablog_build([builder, sourcedir, website, …]) ablog_clean([website, doctrees, deep]) ablog_serve([website, port, view, rebuild, …]) ablog_deploy(website[, message, …]) ablog_main() Ablog Main ablog.post Module Functions purge_posts(app, env, docname) Remove post and reference to it from the standard domain when its document is removed or changed. process_posts(app, doctree) Process posts and map posted document names to post details in the environment. process_postlist(app, doctree, docname) Replace PostList nodes with lists of posts. generate_archive_pages(app) Generate archive pages for all posts, categories, tags, authors, and drafts. generate_atom_feeds(app) Generate archive pages for all posts, categories, tags, authors, and drafts. register_posts(app) Register posts found in the Sphinx build environment. Classes PostNode([rawsource]) Represent post directive content and options in document tree. PostList([rawsource]) Represent postlist directive converted to a list of links. UpdateNode([rawsource]) Represent update directive. PostDirective(name, arguments, options, …) Handle post directives. UpdateDirective(name, arguments, options, …) PostListDirective(name, arguments, options, …) Handle postlist directives. Class Inheritance Diagram ablog.start Module Functions generate(d[, overwrite, silent]) Borrowed from Sphinx 1.3b3 ask_user(d) Borrowed from Sphinx 1.3b3 ablog_start(**kwargs) [...]



Techiediaries - Django: Building a PWA with Stencil

Sat, 17 Feb 2018 00:00:00 +0000

PWAs or Progressive Web Apps are an app-like web experiences that present many advantages to users such as: Reliability Engage-ability Rapidity/Performance Read more about what makes an app a PWA from Google developers blog You can also read my article about PWAs in SitePoint Without further information about PWAs let's learn how we can build a very fast PWA using a new tool created by the Ionic Team StencilJS Stencil is a web components compiler that can be used to build modern and fast front end web applications using web components. New to this concept of web components? this is an easy to understand definition Web components are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps. Custom components and widgets build on the Web Component standards, will work across modern browsers, and can be used with any JavaScript library or framework that works with HTML.Source So web components are a set of modern browsers to allows developers to create their own HTML tags (i.e they can extend the HTML language), re-use them without re-inventing the wheel each time and share them with other developers. Once you create a web component you can use it just lie you use any standard HTML tag. For example: It goes without saying that you can create web components without Stencil so why using Stencil? Stencil provides you with an easy TypeScript API to create your component and then generate a standard compliant web component (specifically a Custom Element) a set of modern APIs such as virtual DOM and JSX 6kb min+gzip runtime, server side rendering React Fiber inspired Async rendering Reactive data-binding Framework agnostic (web components can be used with any framework or with no framework if you choose) live reload and development server like most modern tools and helps you easily build PWAs based based on web standards and without a framework Watch this launch video for more information What You Will Learn? In this tutorial we'll get started using Stencil and learn the very first basics then next we'll build a simple real world PWA. You'll learn how to install Stencil how to create your first web component with Stencil and TypeScript how to build and generate your web component how to build a simple PWA from scratch using Stencil Requirements Like most modern JavaScript tooling these days, you'll need Node and NPM installed. If they are not yet installed (maybe your bought a new computer!) just head over to the official website for Node and grab the installer for your operating system. The installation process is generally simple. Starting a New Stencil Project Starting a Stencil project involves only cloning an official project starter from GitHub then install the dependencies So head over to your terminal (or command prompt) and run the following command (you need to have Git installed) git clone https://github.com/ionic-team/stencil-app-starter my-stencil-pwa This will create the my-stencil-pwa folder and clone the starter project files there. You'll need to navigate inside the root folder of your project and install dependencies: cd my-stencil-pwa npm install Next you can start a live-reload local server by running the npm start script npm start If you get an error related to Node ENOSPC (Error Not Enough Space) on Linux or Mac but still have the enough space on your drive just incre[...]



Ian Ozsvald: PyData Conference & AHL Hackathon

Fri, 16 Feb 2018 20:49:20 +0000

Our 5th annual PyDataLondon conference will run this April 27-29th, this year we grow from 330 to 500 attendees. As before this remains a volunteer-run conference (with support from the lovely core NumFOCUS team), just as the monthly meetup is a volunteer run event.

The Call for Proposals is open until the start of March (you have 2 weeks!) – first time speakers are keenly sought. Our mentorship programme is in full swing to help new speakers craft a good proposal, before it hits the (volunteer run) review committee. As usual we expect 2-3 submissions per speaking slot so the competition to speak at PyDataLondon will remain high. We also have a set of diversity grants to support those who might otherwise not attend the conference – don’t be afraid to apply to use a grant.

Tickets are on sale already, this year’s programme will go live towards the end of March. If you’d like a taste of what goes on at a PyDataLondon conference see my write-up from 2017 and see the 2017 schedule.

The week before the conference our generous meetup hosts AHL are holding a Python Data Science Hackathon. You should definitely apply if you’re anywhere near London (I have!). They have budget to fly in some core developers – if your project hasn’t yet applied and you’re interested in being involved with a large open-source science hackathon, please do visit their site and apply. Here you have a chance to make a strong contribution to the open source tools that we all use.

Finally – if you’re interested in learning about the jobs that are going in the UK Python Data Science world, take a look at my data science jobs list. 7-10 jobs get emailed out every 2 weeks to over 900 people and people are successfully getting new jobs via this list.


Ian applies Data Science as an AI/Data Scientist for companies in ModelInsight, sign-up for Data Science tutorials in London. Historically Ian ran Mor Consulting. He also founded the image and text annotation API Annotate.io, co-authored SocialTies, programs Python, authored The Screencasting Handbook, lives in London and is a consumer of fine coffees.



NumFOCUS: StanCon 2018

Fri, 16 Feb 2018 16:04:40 +0000

The post StanCon 2018 appeared first on NumFOCUS.