From christianzlong at gmail.com Mon Jul 11 22:17:46 2016 From: christianzlong at gmail.com (Christian Long) Date: Mon, 11 Jul 2016 21:17:46 -0500 Subject: [FoxPUG] July meeting notes Message-ID: Hi, Here are the notes from the July meeting. Nick talked about [ggplot](http://ggplot.yhathq.com/), which is a Python port of R's [gglpot2](http://ggplot2.org/). It's a way of creating charts and graphs inspired by the [Grammar of Graphics](https://www.amazon.com/Grammar-Graphics-Statistics-Computing/dp/0387245448/). ggplot works well with data stored in [pandas](http://pandas.pydata.org/) DataFrames. Nick also talked about a system for [procedurally generating spaceships](https://flowingdata.com/2016/06/24/procedurally-generated-spaceships/) using Blender. And, [Google blox](https://projectbloks.withgoogle.com/) snap-together electronics kits, to get people stared with electronics tinkering. Christian talked about the [Mypy](http://mypy.readthedocs.io/en/latest/index.html) project. It's an effort from some people at Dropbox to provide an optional static type checker for Python. What? Ridiculous! Python is dynamically typed. You can keep your static typing, this isn't Java. Seriously, it's not an effort to make every Python program declare all types. It's an optional way that you can add type annotations to your code. Mypy will use the type annotations you make in your code to do static analysis to check your types. You can think of it as a linter, such as [pylint](https://www.pylint.org/). The type annotations don't affect your code at runtime, but the annotations can help Mypy find problems ahead of time, just like a linter. In Python 2, the annotations are in the form of comments. For example: from typing import List def hello(): # type: () -> None print 'hello' Here we are specifying that the hello() function returns None. If Mypy sees you trying to access an attribute on the return value of the hello function, it will flag that in its analysis, which will save you from hitting an AttributeError at runtime. To do the same thing in Python 3, we can take advantage of the built-in type annotations that were added to Python by [pep 484](https://www.python.org/dev/peps/pep-0484/). These annotations were added as valid Python, for the benefit of Mypy and other systems that can benefit from type information. from typing import List def hello() -> None: print('hello') Just as before, we are specifying that the hello() function returns None. Another Python 2 example: from typing import List def greeting(name): # type: (str) -> str """Docstring comes after type comment.""" return 'Hello, {}'.format(name) Here we are declaring that greeting takes a string and returns a string. And here's the same thing in Python 3. from typing import List def greeting(name: str) -> str: return 'Hello, {}'.format(name) For more information, see the [Mypy](http://mypy.readthedocs.io/en/latest/index.html) project documentation. Also, listen to [this interesting episode](http://pythonpodcast.com/david-greg-mypy.html) of the Podcast.\_\_init\_\_ podcast, featuring David Fisher and Greg Price, the creators of Mypy. ### Other stuff Christian recommends the [Jepsen](http://jepsen.io/) series of blog posts. It's an interesting series of tests on distributed systems such as MongoDB and Riak. [Here's a good place to start](https://aphyr.com/posts/281-jepsen-on-the-perils-of-network-partitions) reading the series. ### Future meeting ideas We also listed some ideas for future meetings. In August, we are going to work on the foxpug website at foxpug.com (there's nothing there yet). Sometime in the fall we would like to do a crossover meeting with Mike Putnam's Coder Cooperative meetings in Appleton. Stay Tuned! Christian From mike at theputnams.net Tue Jul 12 23:10:47 2016 From: mike at theputnams.net (Mike Putnam) Date: Tue, 12 Jul 2016 22:10:47 -0500 Subject: [FoxPUG] AWS previewing Python serverless thingy Message-ID: https://aws.amazon.com/blogs/developer/preview-the-python-serverless-microframework-for-aws/ Based on Flask! -------------- next part -------------- An HTML attachment was scrubbed... URL: From christianzlong at gmail.com Wed Jul 13 10:45:07 2016 From: christianzlong at gmail.com (Christian Long) Date: Wed, 13 Jul 2016 09:45:07 -0500 Subject: [FoxPUG] AWS previewing Python serverless thingy In-Reply-To: References: Message-ID: Hi Mike, This looks really cool. I saw your tweet about it and was reading up on it last night. Thanks for the link! Christian On Tue, Jul 12, 2016 at 10:10 PM, Mike Putnam wrote: > https://aws.amazon.com/blogs/developer/preview-the-python-serverless-microframework-for-aws/ > > Based on Flask! > > > _______________________________________________ > FoxPUG mailing list > FoxPUG at python.org > https://mail.python.org/mailman/listinfo/foxpug > From mike at theputnams.net Wed Jul 13 19:27:44 2016 From: mike at theputnams.net (Mike Putnam) Date: Wed, 13 Jul 2016 18:27:44 -0500 Subject: [FoxPUG] Asciinema goes back to Python from Go Message-ID: http://blog.asciinema.org/post/and-now-for-something-completely-different/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From mike at theputnams.net Sat Jul 23 12:01:33 2016 From: mike at theputnams.net (Mike Putnam) Date: Sat, 23 Jul 2016 11:01:33 -0500 Subject: [FoxPUG] riko - Python (Yahoo) pipes In-Reply-To: References: Message-ID: This could be handy for web scraping/mashups. https://github.com/nerevu/riko/blob/master/README.rst -------------- next part -------------- An HTML attachment was scrubbed... URL: From christianzlong at gmail.com Sun Jul 31 22:20:50 2016 From: christianzlong at gmail.com (Christian Long) Date: Sun, 31 Jul 2016 21:20:50 -0500 Subject: [FoxPUG] August meeting Message-ID: Hi, Our August meeting is tomorrow, Monday August 1. We're planning to work on the foxpug.com / foxpug.org website. See you there. Christian -------------- next part -------------- An HTML attachment was scrubbed... URL: