Python 3.5.4rc1 and 3.4.7rc1 released

Release candidates for two versions of Python programming language released
07 August 2017   1157
Python

Is a multi-paradigm programming language with easy-to-use syntax

Great news for Python developers. Two release candidates for versions 3.5.4 and 3.4.7 has been released. Let's see what's inside for each version.

Python 3.5.4rc1

Python 3.5.4 will be the last "bugfixes" release of 3.5. After 3.5.4 final is released, 3.5 will enter "security fixes only" mode, and as such the only improvements made in the 3.5 branch will be security fixes.

Features and changes:

  • improved Python zip application support
  • additional unpacking generalizations
  • "%-formatting" for bytes and bytearray objects
  • a new operator (@) for matrix multiplication
  • os.scandir(), a fast new directory traversal function
  • adding support for automatic retries of interrupted system calls
  • change StopIteration handling inside generators
  • the typing module, a new standard for type annotations
  • math.isclose(), a function for testing approximate equality
  • making the Windows Python launcher aware of virtual environments
  • eliminating .pyo files
  •  a new and improved mechanism for loading extension modules
  • coroutines with async and await syntax

Python 3.4.7rc1

Python 3.4 has now entered "security fixes only" mode, and as such the only improvements between Python 3.4.6 and Python 3.4.7 are security fixes. Also, Python 3.4.7 has only been released in source code form; no more official binary installers will be produced.

Features and changes:

Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Among the new major new features and changes in the 3.4 release series are:

  • "pathlib" module providing object-oriented filesystem paths
  • a standardized "enum" module
  • a build enhancement that will help generate introspection information for builtins
  • improved semantics for object finalization
  • adding single-dispatch generic functions to the standard library
  • a new C API for implementing custom memory allocators
  • changing file descriptors to not be inherited by default in subprocesses
  • a new "statistics" module
  • standardizing module metadata for Python's module import system
  • a bundled installer for the pip package manager
  • a new "tracemalloc" module for tracing Python memory allocations
  • a new hash algorithm for Python strings and binary data
  • a new and improved protocol for pickled objects
  • a new "asyncio" module, a new framework for asynchronous I/O

You can learn more about 3.4.7rc1 and 3.5.4rc1.

 

Facebook to Release PyTorch 1.0

This release added support for large cloud platforms, a C ++ interface, a set of JIT compilers
10 December 2018   129

Facebook has released a stable version of the library for machine learning PyTorch 1.0. This iteration added support for large cloud platforms, a C ++ interface, a set of JIT compilers, and various improvements.

The stable version received a set of JIT compilers that eliminate the dependence of the code on the Python interpreter. The model code is transformed into Torch Script - a superstructure over Python. Keeping the opportunity to work with the model in the Python environment, the user can download it to other projects not related to this language. So, the PyTorch developers state that the code processed in this way can be used in the C ++ API.

The torch.distributed package and the torch.nn.parallel.DistributedDataParallel module are completely redesigned. torch.distributed now has better performance and works asynchronously with the Gloo, NCCL and MPI libraries.

The developers added a C ++ wrapper to PyTorch 1.0. It contains analogs of Python interface components, such astorch.nn,torch.optim, torch.data. According to the creators, the new interface should provide high performance for C ++ applications. True, the C ++ API is still experimental, but it can be used in projects now.

To improve the efficiency of working with PyTorch 1.0, a Torch Hub repository has been created, which stores pre-trained models of neural networks. You can publish your own development using the hubconf.py file, after which the model will be available for download by any user via the torch.hub.load API.

Support for C extensions and the module torch.utils.trainer were removed from the library.

Facebook released the preliminary version of PyTorch 1.0 at the beginning of October 2018, and in two months the developers brought the framework to a stable state.