Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book

#170: Visualize this: Visualizing Python's visualization ecosystem

Published Tue, Feb 25, 2020, recorded Wed, Feb 19, 2020

Sponsored by DigitalOcean: - $100 credit for new users to build something awesome.

Michael #1: Python visualization graph

  • via Prayson Daniel
  • The website is an open platform for helping users decide on the best open-source (OSS) Python data visualization tools for their purposes, with links, overviews, comparisons, and examples.
  • Overviews of the OSS visualization packages
  • High-level tools for getting started
  • A live table for comparing maturity, popularity, and support.
  • Dashboarding tools
  • SciVis tools for rendering data embedded in three-dimensional space.
  • Tutorials
  • Topic examples of using Python viz tools to analyze or describe specific datasets

Brian #2: Awesome Zen of Python

Michael #3: Jupytext

  • via Matt Harrison
  • Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts
  • Wished Jupyter notebooks were plain text documents?
  • Wished you could edit them in your favorite IDE?
  • And get clear and meaningful diffs when doing version control?
  • Then... Jupytext may well be the tool you're looking for!
  • Jupytext can save Jupyter notebooks as
    • Markdown and R Markdown documents
    • Scripts in many languages.
  • The languages that are currently supported by Jupytext are: Julia, Python, R, Bash, Scheme, Clojure, Matlab, Octave, C++, q/kdb+, IDL, TypeScript, Javascript, Scala, Rust/Evxcr, PowerShell, C#, F#, and Robot Framework.

Brian #4: Tour of Python Itertools

  • Martin Heinz
  • Very cool quick look at some of the cool-ness to be found in itertools and more_itertools.
  • itertools
    • compress - one iterator to another eliminating elements that fail a bool expression
    • accumulate - like functools.reduce but returns all intermediate values
    • cycle - so cool, create a never ending repeating iterable
    • tee - multiple references to one iterable
  • more_itertools
    • divide - divides iterable into sub-iterables
    • partition - split into two based on a predicate bool expression
    • side_effect - attach a side effect function to an iterable that gets called with each element
    • collapse - like flatten
    • split_at - multiple iterables splitting at divider items, specified with predicate
    • bucket - multiple iterables based on multi-return-value expression
    • map_reduce - specify 3 functions: key function (for categorizing), value function (for transforming) and finally reduce function (for reducing).
    • sort_together
    • seekable
    • filter_except
    • unique_to_each

Michael #5:

  • JustPy is an object-oriented, component based, high-level Python Web Framework that requires no front-end programming.
  • JustPy has no front-end/back-end distinction. All programming is done on the back-end allowing a simpler, more productive, and more Pythonic web development experience.
  • JustPy removes the front-end/back-end distinction by intercepting the relevant events on the front-end and sending them to the back-end to be processed.
  • Elements on the web page are instances of component classes. A component in JustPy is a Python class that allows you to instantiate reusable custom elements whose functionality and design is encapsulated away from the rest of your code.
  • Custom components can be created using other components as building blocks. Out of the box, JustPy comes with support for HTML and SVG components as well as more complex components such as charts and grids.
  • Supports most of the components and the functionality of the Quasar library
  • Based on solid libraries: Starlette, uvicorn, and Vue.js.

Brian #6: Modularity for Maintenance

  • Glyph
  • A list of many automation tools you can use to help with the maintenance of open source projects.
    • CI, tox, linting, type checking, dependencies, security, coverage, formatting, releasing
    • with lots of options and links
  • A request for some kind of tool to help automate all the automation when starting new projects. Maybe a cookie-cutter thing….
  • That would be cool. But frankly, the list is super helpful also.





First law of software quality: e = mc^2errors = (more code)^2.

Want to go deeper? Check our projects