PyPI monthly: IPython, pytest, cryptography and NumPy

Hey folks, JP from Gemnasium here for our monthly PyPI digest!

If you want to get this in your inbox monthly, you can subscribe with the little popup at the bottom left or just here. Also, if you’re interested, we have similar blog series/newsletters for Ruby, Javascript and PHP.

So, what’s new and worth your time this month?

IPython 6.1

In case you missed it, 6.0+ is only compatible with Python 3.3 and up.

So, in this release, there’s a few things that were added…here’s the exhaustive list:

  • Quotes in a filename are always escaped during tab-completion on non-Windows.
  • Variables now shadow magics in autocompletion.
  • Added the ability to add parameters to alias_magic.
  • To suppress log state messages, you can now either use %logstart -q, pass --LoggingMagics.quiet=True on the command line, or set c.LoggingMagics.quiet=True in your configuration file.
  • An additional flag --TerminalInteractiveShell.term_title_format is introduced to allow the user to control the format of the terminal title. It is specified as a python format string, and currently the only variable it will format is {cwd}.
  • ??/%pinfo2 will now show object docstrings if the source can’t be retrieved.
  • IPython.display has gained a %markdown cell magic.
  • %config options can now be tab completed.
  • %config with no arguments are now unique and sorted.
  • Completion on keyword arguments does not duplicate = sign if already present.
  • %run -m <module> now <module> passes extra arguments to <module>.
  • completer now understand “snake case auto complete”: if foo_bar_kittens is a valid completion, I can type f_b<tab> will complete to it.
  • tracebacks are better standardized and will compress /path/to/home to ~.

pytest 3.1

The pytest-warnings plugin that captures and show warnings at the of the tests is now part of core as of pytest 3.1

There’s a couple new ini options (looking at you, junit_suite_name and doctest_encoding), some changes to pytest.warns, pytest.raises and pytest.param. There were also a bunch more changes, that you can see in the changelog just here.

cryptography 1.9

First, there’s a few breaking changes: - They dropped support for macOS 10.7 and 10.8 - Support was also dropped for PyPy prior to 5.3 - Final breaking change: Elliptic Curve signature verification no longer returns True on success

They also deprecated Python 3.3 and will be released in the next release.

There were also a few additions and fixes, including an issue preventing compilation with LibreSSL 2.5.x.

If you use cryptography and want to upgrade, be sure to look at the changelog in full.

NumPy 1.13

The big things for this release are:

  • Operations like a + b + c will reuse temporaries on some platforms, resulting in less memory use and faster execution.
  • Inplace operations check if inputs overlap outputs and create temporaries to avoid problems. New __array_ufunc__ attribute provides improved ability for classes to override default ufunc behavior.
  • New np.block function for creating blocked arrays.

There’s new functions, some deprecations, additions, bug fixes…it’s a pretty big release. Check the details here.

Want to blog here and be exposed to thousands of developers?

Would you like to blog on Gemnasium’s blog and be exposed to thousands of people? We’re looking for some guest bloggers. Send me a quick mail at jp@gemnasium.com.

That’s all for this month, thanks for reading! :)