Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

Unavailable#66 Wait, NoSQL with ACID and transactions?
Currently unavailable

#66 Wait, NoSQL with ACID and transactions?

FromPython Bytes


Currently unavailable

#66 Wait, NoSQL with ACID and transactions?

FromPython Bytes

ratings:
Length:
22 minutes
Released:
Feb 23, 2018
Format:
Podcast episode

Description

Sponsored by Rollbar: https://pythonbytes.fm/rollbar

Brian #1: Object-Oriented Programming (OOP) in Python 3


Real Python
Nice modern introduction to classes, inheritance, and OOP.
Classes, objects, attributes, instances, and inheritance.
One gotcha not mentioned

The __init__() method of a base class is not called automatically by derived classes. If you override it, you need to call super().__init__().

Also, check out attrs for much of our OOP needs


Michael #2: ScriptedForms


Quickly create live-update GUIs for Python packages using Markdown and a few custom HTML elements.
Just write in markdown + variables / UI types
Based on Jupyter


Brian #3: MongoDB to add multi-document transactions and ACID


Mind blown. Didn’t see this coming
“MongoDB 4.0 will add support for multi-document transactions, making it the only database to combine the speed, flexibility, and power of the document model with ACID data integrity guarantees. Through snapshot isolation, transactions provide a globally consistent view of data, and enforce all-or-nothing execution to maintain data integrity.”
Due out this summer.


Michael #4: Python packaging pitfalls


Just a short list of packaging blunders

Forgetting to clean the build dir
Forgetting to specify package data
Fine grained MANIFEST.in
Using package_data, or worse: fine grained package_data
Listing excludes/prunes before includes/grafts
Hardcoding packages list in setup.py
Hardcoding py_modules list in setup.py
Importing your package in setup.py
Importing unavailable tools in setup.py
Messing with the environment
Your tests do not test the installed code



Brian #5: Blogging principles


Julia Evans @b0rk
Be honest about what you know
Try not to write anything too long.

(My note: don’t shy away from long tutorials. Just don’t only do long stuff)

Be positive.
Write for the past you.
Stick with your own experience.
It’s ok if not everyone likes it

Don’t try to keep one upping yourself.



Michael #6: pipenv is officially official


Pipenv — the officially recommended Python packaging tool from Python.org, free (as in freedom).

Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the Python world.
Windows is a first–class citizen, in our world.

Benefits?

It automatically creates and manages a virtualenv for your projects
adds/removes packages from your Pipfile as you install/uninstall packages
generates the ever–important Pipfile.lock, which is used to produce deterministic builds.



Follow up and other news

Brian


Productive pytest with PyCharm webinar was recorded Thursday 22nd of Feb.
Will be available here: https://www.jetbrains.com/community/webinars/


Michael:


Embed Python in Unreal Engine 4 https://github.com/20tab/UnrealEnginePython
Pandas documentation sprint https://python-sprints.github.io/pandas
Released:
Feb 23, 2018
Format:
Podcast episode