We've just released Wing 6.0.7, a minor release that further improves
and documents remote development, adds default file encoding to remote
host configuration, supports syntax highlighting for .json files, and
makes about 30 other minor improvements. For details, see
Wing 6 is the latest major release in Wingware's family of Python IDEs,
including Wing Pro, Wing Personal, and Wing 101. Wing 6 adds many new
features, introduces a new annual license option for Wing Pro, and makes
Wing Personal free.
New Features in Wing 6
* Improved Multiple Selections: Quickly add selections and edit them
all at once
* Easy Remote Development: Work seamlessly on remote Linux, OS X, and
Raspberry Pi systems
* Debugging in the Python Shell: Reach breakpoints and exceptions in
(and from) the Python Shell
* Recursive Debugging: Debug code invoked in the context of stack
frames that are already being debugged
* PEP 484 and PEP 526 Type Hinting: Inform Wing's static analysis
engine of types it cannot infer
* Support for Python 3.6 and Stackless 3.4: Use async and other new
* Optimized debugger: Run faster, particularly in multi-process and
* Support for OS X full screen mode: Zoom to a virtual screen, with
auto-hiding menu bar
* Added a new One Dark color palette: Enjoy the best dark display
* Updated French and German localizations: Thanks to Jean Sanchez,
Laurent Fasnacht, and Christoph Heitkam
For a more detailed overview of new features see the release notice at
Annual License Option
Wing 6 adds the option of purchasing a lower-cost expiring annual
license for Wing Pro. An annual license includes access to all
available Wing Pro versions while it is valid, and then ceases to
function until it is renewed. Pricing for annual licenses is US$
179/user for Commercial Use and US$ 69/user for Non-Commercial Use.
Perpetual licenses for Wing Pro will continue to be available at the
The cost of extending Support+Upgrades subscriptions on Non-Commercial
Use perpetual licenses for Wing Pro has also been dropped from US$ 89 to
US$ 39 per user.
For details, see https://wingware.com/store/
Wing Personal is Free
Wing Personal is now free and no longer requires a license to run. It
now also includes the Source Browser, PyLint, and OS Commands tools, and
supports the scripting API and Perspectives.
However, Wing Personal does not include Wing Pro's advanced editing,
debugging, testing and code management features, such as remote
development, refactoring, find uses, version control, unit testing,
interactive debug probe, multi-process and child process debugging, move
program counter, conditional breakpoints, debug watch,
framework-specific support (for Jupyter, Django, and others), find
symbol in project, and other features.
Release notice: https://wingware.com/news/2017-09-05
Downloads and Free Trial: https://wingware.com/downloads
Questions? Don't hesitate to email us at support(a)wingware.com.
Wingware | Python IDE
The Intelligent Development Environment for Python Programmers
This module implements cplx class (complex numbers) regardless to the built-in class.
The main goal of this module is to propose some improvement to complex numbers in python and deal with them from a mathematical approach.
Also cplx class doesn't support the built-in class intentionally, as the idea was to give an alternative to it.
With the hope I managed to succeed, here is the module :
This module implements cplx class (complex numbers) regardless to the built-in class.
The main goal of this module is to propose some improvement to complex numbers in python and deal with them with a mathematical approach.
I chose not to support the built-in class in this module, as the idea was to make an alternative to it.
With the hope I managed to succeed, here is Complex module :
The package salabim is based on the process description methodology in
which processes can be activated, held and passivated.The package supports
queues, resources and a very powerful concept of states, which behave a
little bit like events.
Statistical data collection on queues, resources and states is
automatically enabled. The collected data can be shown with matplotlib or
exported to R.
Animation, which runs parallel to the simulation is one of the most
important features of salabim.
See www.salabim.org for links to the github page with many examples, the
manual and contact information.
salabim is also available on PyPI.
I'm glad to announce the release of psutil 5.3.0:
A blogpost describing the main changes is available here:
psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD and
NetBSD, both 32-bit and 64-bit architectures, with Python versions from 2.6
to 3.5 (users of Python 2.4 and 2.5 may use 2.1.3 version). PyPy is also
known to work.
- #802: disk_io_counters() and net_io_counters() numbers no longer wrap
(restart from 0). Introduced a new "nowrap" argument.
- #928: psutil.net_connections() and psutil.Process.connections() "laddr"
"raddr" are now named tuples.
- #1015: swap_memory() now relies on /proc/meminfo instead of sysinfo()
so that it can be used in conjunction with PROCFS_PATH in order to
memory info about Linux containers such as Docker and Heroku.
- #1022: psutil.users() provides a new "pid" field.
- #1025: process_iter() accepts two new parameters in order to invoke
Process.as_dict(): "attrs" and "ad_value". With this you can iterate over
processes in one shot without needing to catch NoSuchProcess and do
- #1040: implemented full unicode support.
- #1051: disk_usage() on Python 3 is now able to accept bytes.
- #1058: test suite now enables all warnings by default.
- #1060: source distribution is dynamically generated so that it only
- #1079: [FreeBSD] net_connections()'s fd number is now being set for real
(instead of -1). (patch by Gleb Smirnoff)
- #1091: [SunOS] implemented Process.environ(). (patch by Oleksii Shevchuk)
- #989: [Windows] boot_time() may return a negative value.
- #1007: [Windows] boot_time() can have a 1 sec fluctuation between calls;
value of the first call is now cached so that boot_time() always returns
same value if fluctuation is <= 1 second.
- #1013: [FreeBSD] psutil.net_connections() may return incorrect PID.
by Gleb Smirnoff)
- #1014: [Linux] Process class can mask legitimate ENOENT exceptions as
- #1016: disk_io_counters() raises RuntimeError on a system with no disks.
- #1017: net_io_counters() raises RuntimeError on a system with no network
- #1021: [Linux] open_files() may erroneously raise NoSuchProcess instead of
skipping a file which gets deleted while open files are retrieved.
- #1029: [OSX, FreeBSD] Process.connections('unix') on Python 3 doesn't
properly handle unicode paths and may raise UnicodeDecodeError.
- #1033: [OSX, FreeBSD] memory leak for net_connections() and
Process.connections() when retrieving UNIX sockets (kind='unix').
- #1040: fixed many unicode related issues such as UnicodeDecodeError on
Python 3 + UNIX and invalid encoded data on Windows.
- #1042: [FreeBSD] psutil won't compile on FreeBSD 12.
- #1044: [OSX] different Process methods incorrectly raise AccessDenied for
- #1046: [Windows] disk_partitions() on Windows overrides user's
- #1047: [Windows] Process username(): memory leak in case exception is
- #1048: [Windows] users()'s host field report an invalid IP address.
- #1050: [Windows] Process.memory_maps memory() leaks memory.
- #1055: cpu_count() is no longer cached; this is useful on systems such as
Linux where CPUs can be disabled at runtime. This also reflects on
Process.cpu_percent() which no longer uses the cache.
- #1058: fixed Python warnings.
- #1062: disk_io_counters() and net_io_counters() raise TypeError if no
or NICs are installed on the system.
- #1063: [NetBSD] net_connections() may list incorrect sockets.
- #1064: [NetBSD] swap_memory() may segfault in case of error.
- #1065: [OpenBSD] Process.cmdline() may raise SystemError.
- #1067: [NetBSD] Process.cmdline() leaks memory if process has terminated.
- #1069: [FreeBSD] Process.cpu_num() may return 255 for certain kernel
- #1071: [Linux] cpu_freq() may raise IOError on old RedHat distros.
- #1074: [FreeBSD] sensors_battery() raises OSError in case of no battery.
- #1075: [Windows] net_if_addrs(): inet_ntop() return value is not checked.
- #1077: [SunOS] net_if_addrs() shows garbage addresses on SunOS 5.10.
(patch by Oleksii Shevchuk)
- #1077: [SunOS] net_connections() does not work on SunOS 5.10. (patch by
- #1079: [FreeBSD] net_connections() didn't list locally connected sockets.
(patch by Gleb Smirnoff)
- #1085: cpu_count() return value is now checked and forced to None if <= 1.
- #1087: Process.cpu_percent() guard against cpu_count() returning None and
assumes 1 instead.
- #1093: [SunOS] memory_maps() shows wrong 64 bit addresses.
- #1094: [Windows] psutil.pid_exists() may lie. Also, all process APIs
on OpenProcess Windows API now check whether the PID is actually running.
- #1098: [Windows] Process.wait() may erroneously return sooner, when the
is still alive.
- #1099: [Windows] Process.terminate() may raise AccessDenied even if the
process already died.
- #1101: [Linux] sensors_temperatures() may raise ENODEV.
- #1039: returned types consolidation:
- Windows / Process.cpu_times(): fields #3 and #4 were int instead of
- Linux / FreeBSD: connections('unix'): raddr is now set to "" instead of
- OpenBSD: connections('unix'): laddr and raddr are now set to "" instead
- #1040: all strings are encoded by using OS fs encoding.
- #1040: the following Windows APIs on Python 2 now return a string instead
- Home page: https://github.com/giampaolo/psutil
- Download: https://pypi.python.org/pypi/psutil
- Documentation: http://pythonhosted.org/psutil
- What's new: https://github.com/giampaolo/psutil/blob/master/HISTORY.rst
Giampaolo - http://grodola.blogspot.com