{ "info": { "author": "Edward Easton", "author_email": "eeaston@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Framework :: Paste", "Framework :: Setuptools Plugin", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Testing", "Topic :: System :: Software Distribution" ], "description": "PkgLib: Company-centric Python packaging and testing library\r\n============================================================\r\n\r\nKindly open-sourced by AHL, this library has the goal of providing a \r\none-stop-shop for Python development houses to get up and running using Python \r\nwith the minimum of fuss in a Linux development environment.\r\n\r\nThis library has three main components: \r\n\r\n- ``pkglib``: a set of packaging tools which extend on a number of the major \r\n packaging toolsets in Python - distribute, pip and zc.buildout.\r\n \r\n- ``pkglib.testing``: a suite of testing utilities to assist with handling \r\n services, databases, web drivers and coverage amongst other things, as well \r\n as a number of useful ``py.test`` plugins.\r\n \r\n- ``pkglib.project_template``: a PasteScript template for generating packages \r\n that integrate with ``pkglib``\r\n\r\n\r\nDocumentation\r\n=============\r\n\r\nThere are the slides from my EuroPython 2013 talk up at \r\nhttp://github.com/eeaston/pkglib-docs, and the API docs are published at \r\nhttps://readthedocs.org/projects/pkglib.\r\n \r\nHeadline Features\r\n=================\r\n\r\nPkgLib\r\n------\r\n\r\n- Package metadata all sourced from text-file ``setup.cfg``, making it easier \r\n to parse package configuration by other releated tools.\r\n \r\n- Advanced dependency management:\r\n\r\n + Allows configuration of in-house company packages that are treated \r\n differently than third-party libraries.\r\n + Backtracking dependency resolver to solve the difficult 'diamond problem' \r\n of version resolution in complex dependency graphs.\r\n + Understands 'dev' and 'release' version streams, allowing the user to \r\n operate in either mode. \r\n + Tools to visualise dependency graphs from your current virtualenv.\r\n\r\n- Improved PyPI interaction, prompts for user credentials and raises correct \r\n Unix return codes on error.\r\n \r\n- Installer search path support to allow eggs to be linked into virtualenvs \r\n from shared disk, an important feature when working on shared filesystems in \r\n large teams. \r\n \r\n- Keeps things neat and tidy - cleans out unused packages from your virtualenv's \r\n site-packages directory. \r\n \r\n- Py.Test integration with ``python setup.py test``:\r\n\r\n + Configured for sensible defaults for code coverage and quality analysis\r\n + Detects when running under Jenkins and Hudson, swapping to file-based \r\n reporting and altering tempfile creation.\r\n \r\n- Command-line tool for managing software 'platforms', an abstraction upon \r\n single packages when large numbers of interdependant packages are released \r\n together.\r\n\r\n- Checkout and setup packages from in-house repositories by name rather than \r\n url.\r\n \r\n- Numerous powerful ``setup.py`` targets:\r\n\r\n + Combine standalone package docs with automatic API documentation using \r\n Sphinx.\r\n + Run tests using gcov to allow gathering code coverage of C/C++ extensions.\r\n + Synchronise checkouts and libraries with VCS and PyPI\r\n + Create Jenkins/Hudson builds.\r\n + Generate revision-linked development eggs for build systems.\r\n + Generate test-only eggs to capture test code and runtime options.\r\n + Deploy package to versioned virtualenvs.\r\n\r\n- 'Batteries Included' project template\r\n\r\n\r\nPkgLib.Testing\r\n--------------\r\n\r\n- Utilities with associated Py.Test fixture plugins for:\r\n\r\n + Profiling code execution, including C/C++ extensions\r\n + Managing temp dirs\r\n + Creating virutalenvs\r\n + Creating ``pkglib`` enabled packages\r\n + Running up servers instances in a port-safe manner, with save, restore and \r\n teardown.\r\n + Supported servers include jenkins, redis, mongodb, Pyramid and (TODO) a \r\n minimal PyPI implementation.\r\n + Selenium Webdriver, integrated with the Pyramid server runner plugin.\r\n- Page Objects pattern implementation for better structured Selenium tests.\r\n- Mocking implementations for databases and other common types.\r\n\r\n\r\nRoadmap\r\n=======\r\n\r\n* Full support for git and mercurial.\r\n* OSX support\r\n* Python 2.4 -> 3.x support for core distlib functionality.\r\n* Upgrade to latest versions of distribute, and bring the project in-line with \r\n recent developements in the Python packaging space like ``distlib``.\r\n* Add support for wheel binary distribution format.\r\n\r\n \r\nContributors\r\n============\r\n\r\n- Edward Easton (eeaston@gmail.com)\r\n- David Moss (drkjam@gmail.com)\r\n- Terry Santegoeds\r\n- Ed Catmur (ed@catmur.co.uk)\r\n- Ben Walsh\r\n- Tim Couper (drtimcouper@gmail.com)\r\n- Inti Ocean (me@inti.co)\r\n- Andrew Burrows\r\n- James Blackburn\r\n- Stepan Kolesnik (wigbam@yahoo.co.uk)\r\n- Oisin Mulvihill (oisin.mulvihill@gmail.com)", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ahlmss/pkglib", "keywords": "packaging pypi distutils distribute pip", "license": "", "maintainer": "", "maintainer_email": "", "name": "pkglib", "package_url": "https://pypi.org/project/pkglib/", "platform": "", "project_url": "https://pypi.org/project/pkglib/", "project_urls": { "Homepage": "https://github.com/ahlmss/pkglib" }, "release_url": "https://pypi.org/project/pkglib/0.9/", "requires_dist": null, "requires_python": null, "summary": "Company-centric packaging and testing library", "version": "0.9" }, "last_serial": 1301700, "releases": { "0.1": [], "0.9": [] }, "urls": [] }