- Date: Jan 9, 2017
- Location: Maan Coffee (Gongti)
- Organizer: Evgeny Demchenko
It was the second time we've used Lean Coffee format for our Python meetup and it worked to everyone's satisfaction. We've used 8 minutes base time box and at the end of it decide to extend for 4 more minutes or move on to the next subject via a "Roman vote". Because of high member turnout we've split in two groups and managed to cover ~ 20 topics in about 1.5 hours which is pretty efficient.
"Lean Coffee is a structured, but agenda-less meeting. Participants gather, build an agenda, and begin talking. Conversations are directed and productive because the agenda for the meeting was democratically generated."
Each person can write a topic (or multiple topics) on an index card (example: "What's the best way to filter lists in python?"), then we "dot-vote" on all topics (5 votes limit per person), prioritize and have a time-boxed discussion on each topic in order of priority.
We do this for 1.5 hours and try to get through as many topics as we can and then sitch to a regular informal chat like we usually do. :)
Hint: Grumpy Google’s latest language to bridge Python with Go, technically speaking a source code transpiler and runtime.
- So far only for 2.7, no ambition yet for 3.6 (since Google mostly uses 2.7)
- Could be interpreted as a move to transition away from Python
- Might not need much effort to also port for Python 3
- Individual development plan based on current skills and interest in problems to solve
- Self-study of tutorials
- Pairing with an experienced developer
- Have them focus on part of the stack at first (e.g., HTML/CSS or database)
Just go with standard setup on Linux, Mac or Win and then use either containerization (e.g. Docker or LXD) or, on a higher level, using pyenv which can automate the handling of virtualenv.
Relative imports are not good for refactoring and not suggested by the Python documentation. It’s advised to use explicit imports.
Python is strong in that field with several libraries available. Many are historically grown with focus on function. Yet there is a new strong player called TensorFlow. Some group members had tested it and found it outperforming the existing players in performance and architectural scalability.
An established cart is Django Oscar. This option and also other carts that are on other frameworks than Django can easily get propped up for payments in China (Tenpay/WeChat Pay, AliPay) via gateway Ping++, a Shanghai-based startup.
- See release notes
- Most notably asincio, the herewith standardized new module as a synthesis of asynchronous I/O, event loop, coroutines and tasks. asincio provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.
- An early adopter of asincio and other improvements since 3.5 is for example the new Flask-like web server Sanic, which goes faster than Wheezy and much faster then Flask or Tornado.
- Formatted string literals (something like
f"He said his name is {name}."
) - Optional type annotations
- In general Python is staying strong where a language is needed that is easy to get in. That’s for example why Python is well established in science field or DevOps.
- Ansible and Salt automation / configuration management increasingly popular (over Ruby-based Chef and Puppet).
- Rather losing at CMS and e-commerce web applications (e.g. to Node.js backend & React frontend)
- It's the primary Pandas data structure
- Two-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns). Arithmetic operations align on both row and column labels. Can be thought of as a dict-like container for Series objects.
- Integration tests are hard!
- It's better to have as little of them as possible
- For distributed systems it can be a good idea to focus on isolation and "contract tests"
- For a reasonably sized dataset PostgreSQL would be enough
- Can additionally snapshot time-series data into something like IndexDB
- Right now data science skills are in high demand
- Most companies (even mid-size) needs those people (or even teams)
- Secondary data can be used for analysis and data-driven business decisions as well as machine learning algorithms
- Roles can be "data scientist" or "data engineer"
- Python 3 is production-ready
- For green field projects there's no reason to use python 2
- Open Source coverage is great already