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 setc.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 typef_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! :)