This library has the goal of providing a one-stop-shop for Python development houses to get up and running using Python with the minimum of fuss in a Linux development environment.
This repository has two packages:
pkglib
: a set of packaging tools which extend on a number of the major
packaging toolsets in Python - distribute, pip and zc.buildout.
pkglib-testing
: a suite of testing utilities to assist with handling
services, databases, web drivers and coverage amongst other things, as well
as a number of useful py.test
plugins.
See the README.rst files in the package directories.
There are the slides from my EuroPython 2013 talk up at http://github.com/eeaston/pkglib-docs, and the API docs are published at https://readthedocs.org/projects/pkglib.
Package metadata all sourced from text-file setup.cfg
, making it easier
to parse package configuration by other releated tools.
Advanced dependency management:
Improved PyPI interaction, prompts for user credentials and raises correct Unix return codes on error.
Installer search path support to allow eggs to be linked into virtualenvs from shared disk, an important feature when working on shared filesystems in large teams.
Keeps things neat and tidy - cleans out unused packages from your virtualenv's site-packages directory.
Py.Test integration with python setup.py test
:
Command-line tool for managing software 'platforms', an abstraction upon single packages when large numbers of interdependant packages are released together.
Checkout and setup packages from in-house repositories by name rather than url.
Numerous powerful setup.py
targets:
'Batteries Included' project template
Utilities with associated Py.Test fixture plugins for:
pkglib
enabled packagesFixed a pyinstall crash when dealing with certain dependency combinations (#30).
Pyinstall now respects the -i flag, allowing it to override the configuration provided (#36).
Fixed a pymkproject crash (#38).
Fixed another six dependency and updated tests to ensure we test without globally installed six.
Six is now included in the pkglib source, to avoid bootstrapping issues (#27).
Fixed an issue with dev version parsing that prevented plat listing all the available versions of packages (#29).
Fixed a crash in manage.py:get_log and depgraph due to incorrect variable names.
Fixed an issue where install failed if six wasn't installed (see #26).
Fixed some inconsistent package requirements in setup.cfg.
Simplified the monkey patching in six_moves.py.
Initial public release.
distlib
.