The accessors pragma lets you create simple accessors at compile-time.
This saves you from writing them by hand, which tends to result in cut-n-paste
errors and a mess of duplicated code. It can also help you reduce the amount
of unwanted direct-variable access that may creep into your code base when
you're feeling lazy. accessors was designed with laziness in mind.
Method-chaining accessors are generated by default. This may be changed in
future versions! If you want backwards compatibility use accessors::chained
and wait until the dust settles.
See accessors::classic for accessors that always return the current value if
you don't like method chaining.
Xporter provides EXPORT functionality similar to Exporter with some different
rules to simplify common cases.
The primary difference, in Xporter is that the default EXPORT list remains the
default EXPORT list unless the user specifically asks for it to not be included,
whereas in Exporter, asking for any additional exports from the EXPORT_OK list,
clears the default EXPORT list.
Xporter makes it easy to reset or clear the default so that choice is left to
the user.
To reset the default EXPORT list to empty, a bare minus ('-') or logical-not
sign ('!') is placed as the first parameter in the client's import list.
The pip ("Perl Installation Program") console application is used
to install Perl distributions in a wide variety of formats, both
from CPAN and from external third-party locations, while supporting
module dependencies that go across the boundary from third-party
to CPAN.
Using pip you can install CPAN modules, arbitrary tarballs from
both the local file-system or across the internet from arbitrary
URIs.
You can use pip to ensure that specific versions of CPAN modules
are installed instead of the most current version.
This package is a modified version of Doug Lea's malloc-2.8.3
implementation adapted for multiple threads, while trying to
avoid lock contention as much as possible.
As part of the GNU C library, the source files may be available under
the GNU Library General Public License (see the comments in the
files). But as part of this stand-alone package, the code is also
available under the (probably less restrictive) conditions described
in the file 'COPYRIGHT'. In any case, there is no warranty whatsoever
for this package.
This release was partly funded by Pixar Animation Studios.
Ponscripter is an interpreter for visual-novel-type games, derived from
the NScripter design but modified significantly to improve support for
Western languages (at the cost of diminished support for Japanese).
Ponscripter is a fork of ONScripter-En that drops any attempt to remain
in synch with the upstream source code, and instead concentrates on
providing the best possible support for Western languages. It is no
longer fully NScripter-compatible, but remains an easy target to port
NScripter games to when localising them.
This fork takes advantage of SDL2 and improves Steam integration.
This package provides semi-portable access to hardware provided atomic memory
operations. These might allow you to write code:
- That does more interesting things in signal handlers
- Makes more effective use of multiprocessors by allowing you to write
clever lock-free code. Note that such code is very difficult to get
right, and will unavoidably be less portable than lock-based code. It
is also not always faster than lock-based code. But it may occasionally
be a large performance win
- To experiment with new and much better thread programming paradigms, etc.
For details and licensing restrictions, please see the documentation.
The GitDB project implements interfaces to allow read and write access to
git repositories. In its core lies the db package, which contains
all database types necessary to read a complete git repository. These are
the LooseObjectDB, the PackedDB and the ReferenceDB which are combined
into the GitDB to combine every aspect of the git database.
For this to work, GitDB implements pack reading, as well as loose object
reading and writing. Data is always encapsulated in streams, which allows
huge files to be handled as well as small ones, usually only chunks of
the stream are kept in memory for processing, never the whole stream at
once.
Grab is a python web scraping framework. Grab provides tons of helpful methods
to scrape web sites and to process the scraped content:
* Automatic cookies (session) support
* HTTP and SOCKS proxy with and without authorization
* Keep-Alive support
* IDN support
* Tools to work with web forms
* Easy multipart file uploading
* Flexible customization of HTTP requests
* Automatic charset detection
* Powerful API of extracting info from HTML documents with XPATH queries
* Asynchronous API to make thousands of simultaneous queries. This part of
library called Spider and it is too big to even list its features in this
README.
* Python 3 ready
'uncompyle2' converts Python byte-code back into equivalent Python
source code. It accepts byte-code from Python version 2.5 to 2.7.
Additionally, it will only run on Python 2.7.
The generated source is very readable: docstrings, lists, tuples and
hashes get pretty-printed.
Features
. decompiles Python byte-code into equivalent Python source
. decompiles byte-code from Python version 2.5, 2.6, 2.7
. pretty-prints docstrings, hashes, lists and tuples
. reads directly from .pyc/.pyo files, bulk-decompile whole
directories
. output may be written to file, a directory or to stdout
. option for including byte-code disassembly into generated source
The Voidspace Pythonutils package is a simple way of installing the Voidspace
collection of modules. These are currently:
ConfigObj 4.4.0 - Easy config file reading/writing
validate 0.2.3 - Validation and type conversion system
StandOut 3.0.0 - Simple logging and output control object
pathutils 0.2.5 - For working with paths and files
cgiutils 0.3.5 - CGI helpers
urlpath 0.1.0 - Functions for handling URLs
odict 0.2.1 - Ordered Dictionary Class
Several of the Voidspace Projects depend on these modules. They are also useful
in their own right of course. They are primarily general utility modules that
simplify common programming tasks in Python.