PEAK-Rules is a highly-extensible framework for creating and using
generic functions, from the very simple to the very complex. Out
of the box, it supports multiple-dispatch on positional arguments
using tuples of types, full predicate dispatch using strings
containing Python expressions, and CLOS-like method combining. (But
the framework allows you to mix and match dispatch engines and
custom method combinations, if you need or want to.)
ok fgs@
The peak.util.extremes module provides a production-quality
implementation of the Min and Max objects from PEP 326. While PEP
326 was rejected for inclusion in the language or standard library,
the objects described in it are useful in a variety of applications.
In PEAK, they have been used to implement generic functions (in
RuleDispatch and PEAK-Rules), as well as to handle scheduling and
time operations in the Trellis. Because this has led to each project
copying the same code, we've now split the module out so it can be
used independently.
input, ok fgs@
Installing SymbolType gives you access to the peak.util.symbols
module, previously available only by installing the full PEAK
toolkit. peak.util.symbols provides a Symbol type and two built-in
symbols that are used by PEAK: NOT_FOUND and NOT_GIVEN.
input, ok fgs@
peak.util.assembler is a simple bytecode assembler module that
handles most low-level bytecode generation details like jump offsets,
stack size tracking, line number table generation, constant and
variable name index tracking, etc. That way, you can focus your
attention on the desired semantics of your bytecode instead of on
these mechanical issues.
input, ok fgs@
Separating concerns into different objects makes it easier
to write reusable and separately-testable components. The AddOns
package (``peak.util.addons``) lets you manage concerns using
``AddOn`` classes.
input, ok fgs@
addColumn; which broke py stuff
noticed with fgs@ while working on the py stuff
much thanks to bernd@; for doing a bulk build with it
ok fgs@, bernd@, simon@
webkit & libsoup updates it now supports cookies and works fine with gmail.
While here, remove the https notice in MESSAGE, as https pages works
fine now.
Split it into -main and -gnome, the latter providing gnome-specific
libsoup library. While here, prettify Makefile and set HOMEPAGE.
Tested in a bulk build by and ok jasper@
configuration management. Currently provides GNOME and KDE plugins,
gecko and webkit plugins may be enabled at some point.
Joint work with and ok jasper@
with tweaks by me.
Pipe Viewer (pv) is a terminal-based tool for monitoring the progress
of data through a pipeline. It can be inserted into any normal
pipeline between two processes to give a visual indication of how
quickly data is passing through, how long it has taken, how near
to completion it is and estimate of how long it will be until
completion.
Impacket is a collection of Python classes focused on providing access
to network packets. Impacket allows Python developers to craft and
decode network packets in simple and consistent manner. It includes
support for low-level protocols such as IP, UDP and TCP, as well as
higher-level protocols such as NMB and SMB. Impacket is highly
effective when used in conjunction with a packet capture utility or
package such as Pcapy. Packets can be constructed from scratch, as
well as parsed from raw data. Furthermore, the object oriented API
makes it simple to work with deep protocol hierarchies.
Pcapy is a Python extension module that enables software written in Python
to access the routines from the pcap packet capture library.
Pcapy is most useful when used together with a packet handling package such
as Impacket, a collection of Python classes for contructing and dissecting
network packets.