Subscribe: Planet Python
http://www.planetpython.org/rss20.xml
Added By: Feedage Forager Feedage Grade B rated
Language: English
Tags:
book  byte  bytes  code  data  django  pycharm  python  rust  stdout  sys stdout  sys  talk  time  write bytes  write 
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/



 



Mike Driscoll: PyDev of the Week: Adrian Rosebrock

Mon, 20 Nov 2017 13:30:37 +0000

This week we welcome Adrian Rosebrock (@PyImageSearch) as our PyDev of the Week. Adrian is the author of several books on Python and OpenCV. He is also the author of PyImageSearch.com, a very popular Python blog that focuses on computer vision. Let’s take some time to get to know him a bit better! Can you tell us about yourself and PyImageSearch? Hi Mike, thank you for the opportunity to be interviewed on PyDev of the Week. My name is Adrian Rosebrock. I have Ph.D in computer science with a focus in computer vision and machine learning from the University of Maryland, Baltimore County (UMBC). I blog over at PyImageSearch.com about Python, computer vision, and deep learning. Over the past few years running PyImageSearch I have written a handful of books/courses, including: Practical Python and OpenCV, a gentle introduction to the world of computer vision and OpenCV using Python. PyImageSearch Gurus, an in-depth dive into computer vision, similar to what you may find in a college-level course, only *much* more hands-on and practical. Deep Learning for Computer Vision with Python, my brand new 800+ page book. This book is my *magnum opus* and is for readers who want to master neural networks and deep learning. What are your hobbies? Fitness is a big part of my life so when I’m not working or coding I spend a lot of my time at the gym. I’ve always been interested in sports and physical activity. Growing up I played soccer, baseball, basketball, and a handful of other sports. By my junior year of college I started getting into weight lifting. A buddy in my operating systems class offered to take me to the weight room and teach me a few lifts. Since then I’ve been focusing less on team sports and more on lifting. I do a combination of olympic lifting, CrossFit, and personal training. I like the constant variation and challenging my body. Otherwise, I’m a big RPG fan, especially the old school RPGs on the SNES. I’ve played through the Final Fantasy series way too many times to count. When did you start using Python? The first time I used Python was about 13 years ago, so about 15 years ago, sometime around the Python 2.1/Python 2.2 release. I was just getting into programming, and to be honest, I didn’t like Python at first. I didn’t fully understand the point of Read-Eval-Print Loop (REPL) and I was still trying to get used to the command line environment and Unix-environments. At that time Python was a little too complicated for my (extremely) novice programming skills. I continued to play with Python as I learned to code in other languages, but it wasn’t until sophomore year of college that I really got back into Python. Since then, Python has been my programming language of choice. What other programming languages do you know and which is your favorite? There is a difference between knowing the syntax of a language versus knowing the libraries and ecosystem associated with a language. While in graduate school I did a lot of work in big data, mainly with Hadoop clusters — this required me to do a lot of coding in Java. Java was also used for most of the 200 and 300 level classes at UMBC (especially data structures, although now UMBC uses Python). My first job out of college also required me to use Java on Hadoop clusters and Accumulo databases. Because of this, I became *very* familiar with Java libraries and building scalable data workflows and predictive models. I also know PHP far too well then I care to admit. I picked up the language as it had C-like syntax but with a scripting language flavor. This also opened the door for my early career in web development. While in my undergraduate years I worked for RateMyTeachers.com, starting off as a junior developer, working my way up to senior developer, and eventually becoming the CTO. Along the way I rewrote the site from scratch in PHP and the CodeIgniter framework (this is well before Laravel or any other mature, decent PHP framework that could easily scale existed). This helped me learn a lot about scalability[...]



Nigel Babu: Remote Triggering a Jenkins Job

Mon, 20 Nov 2017 13:00:12 +0000

All I wanted to do was trigger a job on another Jenkins instance. Here’s all the things I tried.

  • Tried out a plugin. This plugin does not work
  • Forked the plugin and applied some of the patches that have been contributed.
  • I wrote Python code to do it.
  • I wanted to get a “Build Cause” working and since that didn’t work on the first few tries, I added it as a parameter.
(image)

It turns out that what I thought was working wasn’t actually working. I wasn’t passing parameters to my remote job. It was using the defaults. The fix for this problem is the most hilarious that I’ve seen. Turns out if you use the crumbs API and Jenkins auth, you don’t need the token. This was a bit of a lovely discovery after all this pain.

Now I need to figure out how to follow the Jenkins job, i.e. get the console output on remote Jenkins in real time. I found a python script that does exactly that. I tested it and it works.




Hynek Schlawack: Python Hashes and Equality

Mon, 20 Nov 2017 06:45:00 +0000

Most Python programmers don’t spend a lot of time thinking about how equality and hashing works. It usually just works. However there’s quite a bit of gotchas and edge cases that can lead to subtle and frustrating bugs once one starts to customize their behavior – especially if the rules on how they interact aren’t understood.




Toshio Kuratomi: My first python3 script

Sun, 19 Nov 2017 14:32:12 +0000

I’ve been hacking on other people’s python3 code for a while doing porting and bugfixes but so far my own code has been tied to python2 because of dependencies. Yesterday I ported my first personal script from python2 to python3. This was just a simple, one file script that hacks together a way to track how long my kids are using the computer and log them off after they’ve hit a quota. The kind of thing that many a home sysadmin has probably hacked together to automate just a little bit of their routine. For that use, it seemed very straightforward to make the switch. There were only four changes in the language that I encountered when making the transition:

  • octal values. I use octal for setting file permissions. The syntax for octal values has changed from "0755" to "0o755"
  • exception catching. No longer can you do: except Exception, exc. The new syntax is: except Exception as exc.
  • print function. In python2, print is a keyword so you do this: print 'hello world'. In python3, it’s a function so you write it this way: print('hello world')
  • The strict separation of bytes and string types. Required me to specify that one subprocess function should return string instead of bytes to me

When I’ve worked on porting libraries that needed to maintain some form of compat between python2 (older versions… no nice shiny python-2.7 for you!) and python3 these concerns were harder to address as there needed to be two versions of the code (usually, maintained via automatic build-time invocation of 2to3). With this application/script, throwing out python2 compatibility was possible so switching over was just a matter of getting an error when the code executed and switching the syntax over.

This script also didn’t use any modules that had either not ported, been dropped, or been restructured in the switch from python2 to python3. Unlike my day job where urllib’s restructuring would affect many of the things that we’ve written and lack of ported third-party libraries would prevent even more things from being ported, this script (and many other of my simple-home-use scripts) didn’t require any changes due to library changes.

Verdict? Within these constraints, porting to python3 was as painless as porting between some python2.x releases has been. I don’t see any reason I won’t use python3 for new programming tasks like this. I’ll probably port other existing scripts as I need to enhance them.


(image) (image)



Import Python: #151: Augmented reality, Profiling CPython, ptracer by Pinterest and more

Sun, 19 Nov 2017 14:30:19 +0000

Worthy Read Continuous Delivery for Mobile Development This post chronicles a mobile app development team’s journey to continuous delivery, the challenges along the way, how they overcame them and their thoughts beyond continuous delivery. Check it out. advert Augmented reality with Python and OpenCV (part 1) | Bites of code You may (or may not) have heard of or seen the augmented reality Invizimals video game or the Topps 3D baseball cards. The main idea is to render in the screen of a tablet, PC or smartphone a 3D model of a specific figure on top of a card according to the position and orientation of the card.  opencv Senior Python Programmers, what tricks do you want to impart to us young guns? : Python Must read thread. core-python Profiling CPython at Instagram Instagram employs Python in one of the world’s largest settings, using it to implement the “business logic” needed to serve 800 million monthly active users. We use the reference implementation of Python, known as CPython, as the runtime used to execute our code. As we’ve grown, the number of machines required toserve our users has become a significant contributor to our growing infrastructure needs. These machines are CPU bound, and as a result, we keep a close eye on the efficiency of the code we write and deploy, and have focused on building tools to detect and diagnose performance regressions. This continues to serve us well, but the projected growth of our web tier led us to investigate sources of inefficiency in the runtime itself. [...]



David MacIver: Shaping the World

Sun, 19 Nov 2017 10:07:35 +0000

I gave a keynote at PyCon UK recently – it was mostly about the book “Seeing Like A State” and what software developers can learn from it about our effect on the world. I’ve been meaning edit it up into a blog post, and totally failing to get around to it, so in lieu of that, here’s my almost entirely unedited script – it’s not that close to the version I actually got up on stage and said, because I saw 800 people looking at me and panicked and all the words went out of my head (apparently this was not at all obvious to people), but the general themes of the two are the same and neither is strictly better than the other – if you prefer text like a sensible person, read this post. If you prefer video, the talk is supposedly pretty good based on the number of people who have said nice things to me about it (I haven’t been able to bear to watch it yet). The original slides are available here (warning: Don’t load on mobile data. They’re kinda huge). I’ve inserted a couple of the slide images into the post where the words don’t make sense without the accompanying image, but otherwise decided not to clutter the text with images (read: I was too lazy). Hi, I’m David MacIver. I’m here to talk to you today about the ways which we, as software developers, shape the world, whether we want to or not. This is a talk about consequences. Most, maybe all, of you are good people. The Python community is great, but I’d be saying that anywhere. Most people are basically good, even though it doesn’t look that way sometimes. But unless you know about what effect your actions have, all the good intentions in the world won’t help you, and good people can still make the world a worse place. I’m going to show you some of the ways that I think we’re currently doing that. The tool I’m going to use to do this is cultural anthropology: The study of differences and similarities between different cultures and societies. I’m not a cultural anthropologist. I’ve never even taken a class on it, I’ve just read a couple of books. But I wish I’d read those books earlier, and I’d like to share with you some of the important lessons for software development that I’ve drawn from them. In particular I’d like to talk to you about the work of James C. Scott, and his book “Seeing like a state”. Seeing like a state is about the failure modes of totalitarian regimes, and other attempts to order human societies, which are surprisingly similar to some of the failure modes of software projects. I do recommend reading the book. If you’re like me and not that used to social science writing, it’s a bit of a heavy read, but it’s worth doing. But for now, I’ll highlight what I think are the important points. Binary Tree by Derrick Coetzee Before I talk about totalitarian states, I’d like to talk about trees. If you’re a computer scientist, or have had an unfortunate developer job interview recently, a tree is probably something like this. It has branches and leaves, and not much else. If you’re anyone else, a tree is rather different. It’s a large living organism. It has leaves and branches, sure, but it also has a lot of other context and content. It provides shade, maybe fruit, it has a complex root system. It’s the center of its own little ecosystem, providing shelter and food for birds, insects, and other animals. Compared to the computer scientist’s view of a tree it’s almost infinitely complicated. But there’s another simplifying view of a tree we could have taken, which is that of the professional forester. A tree isn’t a complex living organism, it’s just potential wood. The context is no longer relevant, all we really care about the numbers – it costs this much to produce this amount of this grade of wood and, ultimately, this amount of money when you sell the wood. This is a very prof[...]






Toshio Kuratomi: Python testing: Asserting raw byte output with pytest

Sat, 18 Nov 2017 19:56:16 +0000

The Code to Test When writing code that can run on both Python2 and Python3, I’ve sometimes found that I need to send and receive bytes to stdout. Here’s some typical code I might write to do that: # byte_writer.py import sys import six def write_bytes(some_bytes): # some_bytes must be a byte string if six.PY3: stdout = sys.stdout.buffer else: stdout = sys.stdout stdout.write(some_bytes) if __name__ == '__main__': write_bytes(b'\xff') In this example, my code needs to write a raw byte to stdout. To do this, it uses sys.stdout.buffer on Python3 to circumvent the automatic encoding/decoding that occurs on Python3’s sys.stdout. So far so good. Python2 expects bytes to be written to sys.stdout by default so we can write the byte string directly to sys.stdout in that case. The First Attempt: Pytest newb, but willing to learn! Recently I wanted to write a unittest for some code like that. I had never done this in pytest before so my first try looked a lot like my experience with nose or unittest2: override sys.stdout with an io.BytesIO object and then assert that the right values showed up in sys.stdout: # test_byte_writer.py import io import sys import mock import pytest import six from byte_writer import write_bytes @pytest.fixture def stdout(): real_stdout = sys.stdout fake_stdout = io.BytesIO() if six.PY3: sys.stdout = mock.MagicMock() sys.stdout.buffer = fake_stdout else: sys.stdout = fake_stdout yield fake_stdout sys.stdout = real_stdout def test_write_bytes(stdout): write_bytes() assert stdout.getvalue() == b'a' This gave me an error: [pts/38@roan /var/tmp/py3_coverage]$ pytest (07:46:36) _________________________ test_write_byte __________________________ stdout = def test_write_byte(stdout): write_bytes(b'a') > assert stdout.getvalue() == b'a' E AssertionError: assert b'' == b'a' E Right contains more items, first extra item: 97 E Use -v to get the full diff test_byte_writer.py:27: AssertionError ----------------------- Captured stdout call ----------------------- a ===================== 1 failed in 0.03 seconds ===================== I could plainly see from pytest’s “Captured stdout” output that my test value had been printed to stdout. So it appeared that my stdout fixture just wasn’t capturing what was printed there. What could be the problem? Hmmm…. Captured stdout… If pytest is capturing stdout, then perhaps my fixture is getting overridden by pytest’s internal facility. Let’s google and see if there’s a solution. The Second Attempt: Hey, that’s really neat! Wow, not only did I find that there is a way to capture stdout with pytest, I found that you don’t have to write your own fixture to do so. You can just hook into pytest’s builtin capfd fixture to do so. Cool, that should be much simpler: # test_byte_writer.py import io import sys from byte_writer import write_bytes def test_write_byte(capfd): write_bytes(b'a') out, err = capfd.readouterr() assert out == b'a' Okay, that works fine on Python2 but on Python3 it gives: [pts/38@roan /var/tmp/py3_coverage]$ pytest (07:46:41) _________________________ test_write_byte __________________________ capfd = def test_write_byte(capfd): write_bytes(b'a') out, err = capfd.readouterr() > assert out == b'a' E AssertionError: assert 'a' == b'a' test_byte_writer.py:10: AssertionError ===================== 1 failed in 0.02 seconds ===================== The assert looks innocuous enough. So if I was an insufficiently paranoid person I might be tempted to think that this was just stdout using python native string types (bytes on Python2 and text on Python3) so the s[...]



Davy Wybiral: Build a Feed Reader in Python (Parts 2 & 3)

Sat, 18 Nov 2017 13:49:22 +0000

Part 02

Installing and configuring MySQL, flask, and SQLAlchemy.



Part 03

Modeling our feed reader data using SQLAlchemy.




Weekly Python Chat: pip: installing Python libraries

Fri, 17 Nov 2017 20:30:00 +0000

This week we're talking about pip: the Python package manager. We'll talk about installing packages with pip and discovering packages that suit your needs.




NumFOCUS: Theano and the Future of PyMC

Fri, 17 Nov 2017 17:25:04 +0000

This is a guest post by Christopher Fonnesbeck of PyMC3. — PyMC, now in its third iteration as PyMC3, is a project whose goal is to provide a performant, flexible, and friendly Python interface to Bayesian inference.  The project relies heavily on Theano, a deep learning framework, which has just announced that development will not be […]



Davy Wybiral: Build a Feed Reader in Python (Part 1)

Fri, 17 Nov 2017 16:12:06 +0000

Adding the feedparser module to the project and using it to extract information about feed sources and articles.




Mike Driscoll: wxPython: Moving items in ObjectListView

Thu, 16 Nov 2017 18:15:13 +0000

I was recently asked about how to implement drag-and-drop of items in a wx.ListCtrl or in ObjectListView. Unfortunately neither control has this built-in although I did find an article on the wxPython wiki that demonstrated one way to do drag-and-drop of the items in a ListCtrl. However I did think that implementing some buttons to move items around in an ObjectListView widget should be fairly easy to implement. So that’s what this article will be focusing on. Changing Item Order If you don’t have wxPython and ObjectListView installed, then you will want to use pip to install them: pip install wxPython objectlistview Once that is done, open up your favorite text editor or IDE and enter the following code: import wx from ObjectListView import ObjectListView, ColumnDefn     class Book(object): """ Model of the Book object Contains the following attributes: 'ISBN', 'Author', 'Manufacturer', 'Title' """   def __init__(self, title, author, isbn, mfg): self.isbn = isbn self.author = author self.mfg = mfg self.title = title   def __repr__(self): return "".format(title=self.title)     class MainPanel(wx.Panel):   def __init__(self, parent): wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY) self.current_selection = None self.products = [Book("wxPython in Action", "Robin Dunn", "1932394621", "Manning"), Book("Hello World", "Warren and Carter Sande", "1933988495", "Manning"), Book("Core Python Programming", "Wesley Chun", "0132269937", "Prentice Hall"), Book("Python Programming for the Absolute Beginner", "Michael Dawson", "1598631128", "Course Technology"), Book("Learning Python", "Mark Lutz", "0596513984", "O'Reilly") ]   self.dataOlv = ObjectListView(self, wx.ID_ANY, style=wx.LC_REPORT|wx.SUNKEN_BORDER) self.setBooks()   # Allow the cell values to be edited when double-clicked self.dataOlv.cellEditMode = ObjectListView.CELLEDIT_SINGLECLICK   # create up and down buttons up_btn = wx.Button(self, wx.ID_ANY, "Up") up_btn.Bind(wx.EVT_BUTTON, self.move_up)   down_btn = wx.Button(self, wx.ID_ANY, "Down") down_btn.Bind(wx.EVT_BUTTON, self.move_down)   # Create some sizers mainSizer = wx.BoxSizer(wx.VERTICAL)   mainSizer.Add(self.dataOlv, 1, wx.ALL|wx.EXPAND, 5) mainSizer.Add(up_btn, 0, wx.ALL|wx.CENTER, 5) mainSizer.Add(down_btn, 0, wx.ALL|wx.CENTER, 5) self.SetSizer(mainSizer)   def move_up(self, event): """ Move an item up the list """ self.current_selection = self.dataOlv.GetSelectedObject() data = self.dataOlv.GetObjects() if self.current_selection: index = data.index(self.current_sele[...]



Django Weblog: DSF calls for applicants for a Django Fellow

Thu, 16 Nov 2017 14:18:07 +0000

After three years of full-time work as the Django Fellow, I'd like to scale back my involvement to part-time. That means it's time to hire another Fellow who would like to work on Django 20-40 hours per week. The position is ongoing - the successful applicant will have the position until they choose to step down.

The position of Fellow is primarily focused on housekeeping and community support - you'll be expected to do the work that would benefit from constant, guaranteed attention rather than volunteer-only efforts. In particular, your duties will include:

  • monitoring the security@djangoproject.com email alias and ensuring security issues are acknowledged and responded to promptly
  • fixing release blockers and helping to ensure timely releases
  • fixing severe bugs and helping to backport fixes to these and security issues
  • reviewing and merging pull requests
  • triaging tickets on Trac
  • answering user questions on IRC and the django-developers mailing list
  • helping new Django contributors land patches and learn our philosophy

Being a committer isn't a prerequisite for this position; we'll consider applications from anyone with a proven history of working with either the Django community or another similar open-source community.

Your geographical location isn't important either - we have several methods of remote communication and coordination that we can use depending on the timezone difference to the supervising members of Django.

You'll be expected to post a weekly report of your work to the django-developers mailing list.

If you don't perform the duties to a satisfactory level, we may end your contract. We may also terminate the contract if we're unable to raise sufficient funds to support the Fellowship on an ongoing basis (unlikely, given the current fundraising levels).

Compensation isn't competitive with full-time salaries in big cities like San Francisco or London. The Fellow will be selected to make best use of available funds.

If you're interested in applying for the position, please email us with details of your experience with Django and open-source contribution and community support in general, the amount of time each week you'd like to dedicate to the position (a minimum of 20 hours a week), your hourly rate, and when you'd like to start working. The start date is flexible and will be on or after January 1, 2018.

Applications will be open until 1200 UTC, December 18, 2017, with the expectation that the successful candidate will be announced around December 22.

Successful applicants will not be an employee of the Django Project or the Django Software Foundation. Fellows will be contractors and expected to ensure that they meet all of their resident country's criteria for self-employment or having a shell consulting company, invoicing the DSF on a monthly basis and ensuring they pay all relevant taxes.

If you or your company is interested in helping fund this program and future DSF activities, please consider becoming a corporate member to learn about corporate membership, or you can make a donation to the Django Software Foundation.




Red Hat Developers: Speed up your Python using Rust

Thu, 16 Nov 2017 11:00:22 +0000

What is Rust? Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Featuring zero-cost abstractions move semantics guaranteed memory safety threads without data races trait-based generics pattern matching type inference minimal runtime efficient C bindings Description is taken from rust-lang.org. Why does it matter for a Python developer? The better description of Rust I heard from Elias (a member of the Rust Brazil Telegram Group). Rust is a language that allows you to build high level abstractions, but without giving up low-level control – that is, control of how data is represented in memory, control of which threading model you want to use etc. Rust is a language that can usually detect, during compilation, the worst parallelism and memory management errors (such as accessing data on different threads without synchronization, or using data after they have been deallocated), but gives you a hatch escape in the case you really know what you’re doing. Rust is a language that, because it has no runtime, can be used to integrate with any runtime; you can write a native extension in Rust that is called by a program node, or by a python program, or by a program in ruby, lua etc. and, however, you can script a program in Rust using these languages. — “Elias Gabriel Amaral da Silva” There is a bunch of Rust packages out there to help you extending Python with Rust. I can mention Milksnake created by Armin Ronacher (the creator of Flask) and also PyO3 The Rust bindings for Python interpreter. See a complete reference list at the bottom of this article. Let’s see it in action For this post, I am going to use Rust Cpython, it’s the only one I have tested, it is compatible with stable version of Rust and found it straightforward to use. NOTE: PyO3 is a fork of rust-cpython, comes with many improvements, but works only with the nightly version of Rust, so I prefered to use the stable for this post, anyway the examples here must work also with PyO3. Pros: It is easy to write Rust functions and import from Python and as you will see by the benchmarks it worth in terms of performance. Cons: The distribution of your project/lib/framework will demand the Rust module to be compiled on the target system because of variation of environment and architecture, there will be a compiling stage which you don’t have when installing Pure Python libraries, you can make it easier using rust-setuptools or using the MilkSnake to embed binary data in Python Wheels. Python is sometimes slow Yes, Python is known for being “slow” in some cases and the good news is that this doesn’t really matter depending on your project goals and priorities. For most projects, this detail will not be very important. However, you may face the rare case where a single function or module is taking too much time and is detected as the bottleneck of your project performance, often happens with string parsing and image processing. Example Let’s say you have a Python function which does a string processing, take the following easy example of counting pairs of repeated chars, but have in mind that this example can be reproduced with other string processing functions or any other generally slow process in Python. # How many subsequent-repeated group of chars are in the given string? abCCdeFFghiJJklmnopqRRstuVVxyZZ... {millions of chars here} 1 2 3 4 5 6 Python is slow for doing large string processing, so you can use pytest-benchmark to compare a Pure Python (with Iterator Zipping) function versus a Regexp impleme[...]



Davy Wybiral: Write a Feed Reader in Python

Thu, 16 Nov 2017 10:23:53 +0000

I just started a new video tutorial series. This time it'll cover the entire process of writing an RSS feed reader in Python from start to finish using the feedparser module, flask, and SQLAlchemy. Expect to see about 3-4 new videos a week until this thing is finished!







Kushal Das: PyConf Hyderabad 2017

Thu, 16 Nov 2017 04:25:00 +0000

In the beginning of October, I attended a new PyCon in India, PyConf Hyderabad (no worries, they are working on the name for the next year). I was super excited about this conference, the main reason is being able to meet more Python developers from India. We are a large country, and we certainly need more local conferences :)

(image)

We reached the conference hotel a day before the event starts along with Py. The first day of the conference was workshop day, we reached the venue on time to say hi to everyone. Meet the team at the conference and many old friends. It was good to see that folks traveled from all across the country to volunteer for the conference. Of course, we had a certain number of dgplug folks there :)

(image)

In the conference day, Anwesha and /my setup in the PSF booth, and talked to the attendees. During the lighting talk session, Sayan and Anwesha introduced PyCon Pune, and they also opened up the registration during the lighting talk :). I attended Chandan Kumar’s talk about his journey into upstream projects. Have to admit that I feel proud to see all the work he has done.

(image)

Btw, I forgot to mention that lunch at PyConf Hyderabad was the best conference food ever. They had some amazing biryani :).

(image)

The last talk of the day was my keynote titled Free Software movement & current days. Anwesha and I wrote an article on the history of Free Software a few months back, and that the talk was based on that. This was also the first time I spoke about Freedom of the Press Foundation (attended my first conference as the FPF staff member).

The team behind the conference did some amazing groundwork to make this conference happening. It was a good opportunity to meet the community, and make new friends.




Wallaroo Labs: Non-native event-driven windowing in Wallaroo

Thu, 16 Nov 2017 00:00:00 +0000

Certain applications lend themselves to pure parallel computation better than others. In some cases we require to apply certain algorithms over a “window” in our data. This means that after we have completed a certain amount of processing (be it time, number of messages or some other arbitrary metric), we want to perform a special action for the data in that window. An example application of this could be producing stats for log files over a certain period of time.



Django Weblog: Django 2.0 release candidate 1 released

Wed, 15 Nov 2017 23:54:38 +0000

Django 2.0 release candidate 1 is the final opportunity for you to try out the assortment of new features before Django 2.0 is released.

The release candidate stage marks the string freeze and the call for translators to submit translations. Provided no major bugs are discovered that can't be solved in the next two weeks, Django 2.0 will be released on or around December 1. Any delays will be communicated on the django-developers mailing list thread.

Please use this opportunity to help find and fix bugs (which should be reported to the issue tracker). You can grab a copy of the package from our downloads page or on PyPI.

The PGP key ID used for this release is Tim Graham: 1E8ABDC773EDE252.




PyCharm: PyCharm 2017.3 EAP 10

Wed, 15 Nov 2017 17:47:44 +0000

This week’s early access program (EAP) version of PyCharm is now available from our website:

Get PyCharm 2017.3 EAP 10

The release is getting close, and we’re just polishing out the last small issues until it’s ready.

Improvements in This Version

  • kwargs autocompletion for Model.objects.create(). Django support is only available in PyCharm Professional Edition
  • An issue that would cause PyCharm to fill multiple log files per minute has been fixed
  • Docker Run configurations have been improving steadily throughout the EAP phase, in this version ports that are used in a binding but haven’t been exposed yet will be auto-exposed (Docker support is available only in PyCharm Professional Edition)
  • And more, have a look at the release notes for details

If these features sound interesting to you, try them yourself:

Get PyCharm 2017.3 EAP 10

If you are using a recent version of Ubuntu (16.04 and later) you can also install PyCharm EAP versions using snap:

sudo snap install [pycharm-professional | pycharm-community] --classic --edge

If you already used snap for the previous version, you can update using:

sudo snap refresh [pycharm-professional | pycharm-community] --classic --edge

As a reminder, PyCharm EAP versions:

  • Are free, including PyCharm Professional Edition EAP
  • Will work for 30 days from being built, you’ll need to update when the build expires

If you run into any issues with this version, or another version of PyCharm, please let us know on our YouTrack. If you have other suggestions or remarks, you can reach us on Twitter, or by commenting on the blog.

(image)



Codementor: Onicescu correlation coefficient-Python - Alexandru Daia

Wed, 15 Nov 2017 17:41:36 +0000

Implementing a new correlation method based on kinetic energies I research



Ian Ozsvald: PyDataBudapest and “Machine Learning Libraries You’d Wish You’d Known About”

Wed, 15 Nov 2017 15:50:43 +0000

I’m back at BudapestBI and this year it has its first PyDataBudapest track. Budapest is fun! I’ve had a second iteration talking on a slightly updated “Machine Learning Libraries You’d Wish You’d Known About” (updated from PyDataCardiff two weeks back). When I was here to give an opening keynote talk two years back the conference was a bit smaller, it has grown by +100 folk since then. There’s also a stronger emphasis on open source R and Python tools. As before, the quality of the members here is high – the conversations are great! During my talk I used my Explaining Regression Predictions Notebook to cover: Dask to speed up Pandas TPOT to automate sklearn model building Yellowbrick for sklearn model visualisation ELI5 with Permutation Importance and model explanations LIME for model explanations Nick’s photo of me on stage Some audience members asked about co-linearity detection and explanation. Whilst I don’t have a good answer for identifying these relationships, I’ve added a seaborn pairplot, a correlation plot and the Pandas Profiling tool to the Notebook which help to show these effects. Although it is complicated, I’m still pretty happy with this ELI5 plot that’s explaining feature contributions to a set of cheap-to-expensive houses from the Boston dataset: Boston ELI5 I’m planning to do some training on these sort of topics next year, join my training list if that might be of use. 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.[...]



EuroPython Society: EuroPython 2018: Location and Dates

Wed, 15 Nov 2017 15:43:39 +0000

After a two month RFP bidding process with 19 venues from all over Europe, we are pleased to announce our selection of the location and venue for EuroPython 2018:

… yes, this is just one week before the famous Edinburgh Festival Fringe, so you can extend your stay a little longer if you like.

Based on the feedback we collected in the last few years, we have switched to a more compact conference layout for 2018:

  • Monday, Tuesday: Workshops and Trainings
  • Wednesday, Thursday, Friday: Main conference with talks, keynotes, exhibition
  • Saturday, Sunday: Sprints

More information will be available as we progress with the organization.

PS: We are now entering contract negotiations, so the above dates are highly likely, but we cannot confirm 100% yet.

Enjoy,

EuroPython Society




Tryton News: Foundation board renewal 2017

Wed, 15 Nov 2017 09:00:00 +0000

The 2017 foundation board renewal process has finished. We are happy to anounce that the new board is composed by:

  • Axel Braun from Germany
  • Jonathan Levy from the United States of America
  • Korbinian Preisler from Germany
  • Nicolas Évrard from Belgium
  • Pedro Luciano Rossi from Argentina
  • Sebastián Marró from Argentina
  • Sergi Almacellas Abellana from Spain

Congratulations to Nicolas Évrard as he became the second president of the Tryton foundation board.

We nearly reached the website redesign goal of our budget for 2017. You can help to make it happen by making a donation.