{ "info": { "author": "Ronan Amicel", "author_email": "ronan.amicel@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Software Development", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Software Distribution", "Topic :: System :: Systems Administration" ], "description": "About\n=====\n\n``fabtools`` includes useful functions to help you write your `Fabric `_ files.\n\n``fabtools`` makes it easier to manage system users, packages, databases, etc.\n\n``fabtools`` includes a number of low-level actions, as well as a higher level interface called ``fabtools.require``.\n\nUsing ``fabtools.require`` allows you to use a more declarative style, similar to Chef or Puppet.\n\nInstalling\n==========\n\nTo install the latest release from `PyPI `_\n\n.. code-block:: console\n\n $ pip install fabtools\n\nTo install the latest development version from `GitHub `_\n\n.. code-block:: console\n\n $ pip install git+git://github.com/ronnix/fabtools.git\n\nExample\n=======\n\nHere is an example ``fabfile.py`` using ``fabtools``\n\n.. code-block:: python\n\n from fabric.api import *\n from fabtools import require\n import fabtools\n\n @task\n def setup():\n\n # Require some Debian/Ubuntu packages\n require.deb.packages([\n 'imagemagick',\n 'libxml2-dev',\n ])\n\n # Require a Python package\n with fabtools.python.virtualenv('/home/myuser/env'):\n require.python.package('pyramid')\n\n # Require an email server\n require.postfix.server('example.com')\n\n # Require a PostgreSQL server\n require.postgres.server()\n require.postgres.user('myuser', 's3cr3tp4ssw0rd')\n require.postgres.database('myappsdb', 'myuser')\n\n # Require a supervisor process for our app\n require.supervisor.process('myapp',\n command='/home/myuser/env/bin/gunicorn_paster /home/myuser/env/myapp/production.ini',\n directory='/home/myuser/env/myapp',\n user='myuser'\n )\n\n # Require an nginx server proxying to our app\n require.nginx.proxied_site('example.com',\n docroot='/home/myuser/env/myapp/myapp/public',\n proxy_url='http://127.0.0.1:8888'\n )\n\n # Setup a daily cron task\n fabtools.cron.add_daily('maintenance', 'myuser', 'my_script.py')\n\nSupported targets\n=================\n\n``fabtools`` currently supports the following target operating systems:\n\n- full support:\n\n - Debian family:\n\n - Debian 6 (*squeeze*), 7 (*wheezy*), 8 (*jessie*)\n - Ubuntu 10.04 (*lucid*), 12.04 (*precise*), 14.04 (*trusty*)\n\n- partial support:\n\n - RedHat family:\n\n - RHEL 5/6\n - CentOS 5/6\n - Scientific Linux 5/6\n - Fedora\n\n - Arch Linux, Manjaro Linux\n\n - Gentoo\n\n - SmartOS (Joyent)\n\nContributions to help improve existing support and extend it to other\nUnix/Linux distributions are welcome!\n\nChangelog\n=========\n\n0.20.0 (2016-10-12)\n-------------------\n\n* Fix Apache support on Ubuntu 14.04 and Debian 8.0\n* Change maxsplit argument value to 1 for vagrant\n* Fix nodejs fails to read json\n* Fix typo in PostgreSQL require documentation\n* Fix typo in files and nginx documentation\n* Clean the code and be pep8 compliant\n* In PostgreSQL put the username in double quotes\n* Use Python 3 compatible print statement when checking setuptools\n* In network add MAC address information\n* Add support for conda package manager\n* Add the support of host options for MySQL\n* Fix different sfdisk version\n\n\nVersion 0.19.0 (2014-07-05)\n---------------------------\n\n* Python improvements:\n * use new official download URLs for ``setuptools`` and ``pip`` (Arnaud Vazard)\n * fix ``virtualenv`` when the ``local`` flag is passed (Troy J. Farrell)\n* Node.js improvements:\n * fix ``package_version`` when no package is installed (Alexandre Patry)\n * add a ``checkinstall`` flasg to build and install a distribution package\n when installing from source (Fabien Meghazi)\n* Arch Linux improvements:\n * add support for the ManjaroLinux variant (Ga\u00ebtan Lamothe)\n * fixsupport for ``setuptools`` (Robin Lambertz)\n * fix support for ``supervisor`` (Robin Lambertz)\n * recognize all known distribution IDs and normalize them to ``Arch``\n* Debian/Ubuntu improvements:\n * add support for the Elementary OS variant (Arnaud Vazard)\n\n\nVersion 0.18.0 (2014-05-02)\n---------------------------\n\nThis release requires Fabric >= 1.7.0 and drops support for Python 2.5.\n\n* Add ``drop_user`` and ``drop_database`` in ``postgres`` module\n* Add LinuxMint to the Debian family list (Frank Rousseau)\n* Add support for git remotes (Bryan Folliot)\n* Add support for Tomcat (Jan Kowalski)\n* Add support for Gentoo / portage (Travis Shirk)\n* Add support for Mercurial (Travis Shirk)\n* Add support for GVM (Groovy environment manager) (Bryan Folliot)\n* Documentation fixes and updates\n* MySQL improvements:\n * do not require a password when a specific user is specified\n * expose ``mysql.query`` in the public API\n* Python improvements:\n * Switch to pip 1.5 (**warning**: you will need to use the\n ``allow_external`` and/or ``allow_unverified`` options to install\n packages not hosted on PyPI)\n * Update GitHub download URL for pip installer (Guillaume Andreu Sabater)\n * Retry when trying to download pip/setuptools installers\n * Add support for pip's ``--exists-action`` option\n* Improved OS support in ``distrib_family()`` and new\n ``UnsupportedFamily`` exception\n* Make sure to install ``curl`` before using it (ponty)\n* Vagrant improvements:\n * Add function to get the Vagrant version\n * Add function to get the status of a Vagrant machine\n * Add function to get the list of Vagrant machines\n * Add function to get the list of Vagrant base boxes\n* Files improvements:\n * Add ``temp_dir`` parameter to ``require.file`` (default is ``tmp``)\n * Add ``require.files.temporary_directory``\n * Add ``files.umask`` to get the user's umask\n * Fix ``require.file`` ownership and permissions when using ``sudo``\n * Add helpers to copy, move, symlink or remove files\n* Fix ``require.deb.uptodate_index``\n* Use ``rpm`` instead of ``yum`` to check if an RPM package is installed\n* Update JDK install to match changes to the Oracle web site\n* Fix ``cron.add_task`` (thanks to Dan Fairs and Ikuya Yamada)\n\n\nVersion 0.17.0 (2013-12-06)\n---------------------------\n\n* Vagrant improvements:\n * Fix support for Vagrant >= 1.3.0\n * Fix duplicate function in ``vagrant`` module documentation\n (Dean Malmgren)\n* Package management improvements:\n * Ubuntu PPA fixes (Anthony Scalisi)\n * Add support for ``opkg`` package manager (ponty)\n * Add conditional APT index updates, based on the time of the\n last update (ponty)\n* Update ``files.upload_template`` to match Fabric parameters\n (thanks to Adam Patterson)\n* PostgreSQL improvements:\n * Fix: use ``run`` instead of ``sudo`` in ``_run_as_pg`` (iiie)\n * Improve SmartOS and locale support (Andreas Kaiser)\n* Support tags in addition to branches in\n ``require.git.working_copy`` (Andreas Kaiser)\n* Services management improvements:\n * Improve upstart support in ``service.is_running`` (John MacKenzie)\n * Add support for ``systemd`` in ``service.is_running``\n (Adrien Raffin)\n* Improve support for Arch Linux in ``nodejs``, ``service`` and\n ``supervisor`` modules (Steeve Chailloux)\n* Allow custom ``nginx`` package names (Laurent Meunier)\n* Add module management for Apache (Eugene Leonovich)\n* Fix test environment for Python 2.5\n* Use the new Read the Docs theme if available when\n building the docs locally\n* Fix bug with user/group creation with int UID/GID\n\n\nVersion 0.16.0 (2013-10-26)\n---------------------------\n\n* Redis improvements\n * Make bind and port arguments explicit\n * Improve documentation\n * Upgrade default version to 2.6.16\n* Python improvements\n * Improve support for using specific Python interpreters (**warning**:\n API changes)\n * Expose low-level virtualenv operations\n * Improve pip installation\n * Switch from distribute to setuptools 0.7+ after project merge\n (**warning**: API changes)\n * Do not install `curl` and `python-dev` packages when setuptools\n is already installed (ponty)\n * Make package names case-insensitive in python.is_installed\n (ponty)\n * Fix pip version parsing when using ``pythonbrew switch``\n* Fix ``require.system.locales`` when a prefix is set\n* Fix require.system.locale() on fresh Ubuntu systems\n* Add optional environment variables in crontab\n* Fix crontab permissions\n* Allow special characters in MySQL password (R\u00e9gis Behmo)\n* Fix bug with some services not starting correctly (Chris Marinos)\n* Add ``getdevice_by_uuid`` to the disk module (Bruno Adele)\n* Fix implicit directory name in ``git.working_copy`` (iiie)\n* Make ``require.sysctl`` robust to procps start failure\n\n\nVersion 0.15.0 (2013-07-25)\n---------------------------\n\n* Fix missing import in ``user.local_home_directory()`` (Sebastien Beal)\n* Improved Arch Linux support:\n * Fix locale support in Arch Linux (Bruno Adele)\n * Add support for yaourt package manager in Arch Linux (Bruno Adele)\n* Improvements to the ``redis`` module:\n * Fix Redis startup after reboot (Victor Perron)\n * Upgrade default Redis version to 2.6.14\n* Improvements to the ``git`` module:\n * Add optional force parameter to git pull and checkout (Sebastien Beal)\n* Improvements to the ``python`` module:\n * Add parameter to use a specific Python interpreter (Bruno Adele)\n * Stop using PyPI mirrors now that it has a CDN (Dominique Lederer)\n* Debian/Ubuntu improvements:\n * Add optional version parameter to deb.install() (Anthony Scalisi)\n * Improved support for installing APT public keys (Santiago Mola)\n* SmartOS improvements (Andreas Kaiser):\n * Fix md5sum on recent SmartOS\n * Fix bug in pkg.is_installed with certain package names\n * Add support for SmartOS in remote system identification\n * Add support for SmartOS in require.git.command()\n* RedHat improvements:\n * Fix broken rpm.install() (Sho Shimauchi)\n* Oracle JDK improvements:\n * Upgrade default version to 7u25-b15 (Sebastien Beal)\n * Fix Oracle JDK version parsing when OpenJDK is installed\n * Fix Oracle JDK installation on Debian squeeze (St\u00e9phane Klein)\n* Better tests documentation (thanks to St\u00e9phane Klein)\n* Add require.directories() (Edouard de Labareyre)\n* Add support for Apache web server (St\u00e9phane Klein)\n* Upgrade default Node.js version to 0.10.13\n\nVersion 0.14.0 (2013-05-22)\n---------------------------\n\nNote: Fabtools now requires Fabric >= 1.6.0\n\n* Upgrade default pip version to 1.3.1\n* Improved vagrant support:\n * Add support for Vagrant 1.1 providers in functional tests\n * Also set ``env.user`` and ``env.hosts`` in ``vagrant`` context manager\n* Add ``fabtools.system.cpus`` to get the host's CPU count\n* Less verbose output\n* Move OS detection functions to ``fabtools.system``\n* Better support for Red Hat based systems\n* Improvements to the ``user`` module:\n * Fix home dir default behaviour in ``require.user``\n * Add support for SSH authorized keys (Kamil Chmielewski)\n * Add support for SSH known hosts public keys\n * Add ``non_unique`` argument to user functions (Zhang Erning)\n * Get absolute path to the local user's home dir (Sebastien Beal)\n* Use ``SHOW DATABASES`` to test existence of MySQL (Zhang Erning)\n* Improvements to the ``git`` module\n * Expose lower level ``fetch`` operation (Andreas Kaiser)\n * Fix missing import in ``require`` module (Muraoka Yusuke)\n * Require ``git`` command line tool\n* Use ``ifconfig`` as root in ``network`` module\n* Update OpenVZ guest context manager for Fabric 1.6.0\n* Improvements to the ``python`` module:\n * Improved detection of distribute\n * Add support for virtualenv ``--prompt`` option (Artem Nezvigin)\n * Allow relative path in ``virtualenv`` context manager\n* Improvements to the ``oracle_jdk`` module:\n * Upgrade default Oracle JDK version to 7u21-b11 (Kamil Chmielewski)\n * Add support for Oracle JDK version 6 (Sebastien Beal)\n* Fix broken ``fabtools.deb.upgrade``\n* Add support for Arch Linux packages (Bruno Adele)\n* Add support for Linux disk partitions (Bruno Adele)\n* Add OpenSSH server hardening (Adam Patterson)\n* Add ``systemd`` module (Jakub Stasiak)\n* Improvements to the ``redis`` module:\n * Fix broken Redis configuration (Victor Perron)\n * Upgrade default Redis version to 2.6.13\n* Abort on nginx configuration errors\n* Upgrade default Node.js version to 0.10.7\n\nVersion 0.13.0 (2013-03-15)\n---------------------------\n\n* Add support for managing remote git repositories (Andreas Kaiser)\n* Add intersphinx to docs (Andreas Kaiser)\n* Add HTTP proxy support to speed up functional tests\n* Upgrade default Node.js version to 0.10.0\n* Upgrade default Redis version to 2.6.11\n* Upgrade default Oracle JDK version to 7u17-b02\n* Fix vagrant support (thanks to Dominique Lederer and anentropic)\n\nVersion 0.12.0 (2013-03-04)\n---------------------------\n\n* Do not create home directory for system users\n* Fix ``pkg.is_installed`` on SmartOS (thanks to Anthony Scalisi)\n* Fix ``system.get_arch`` (thanks to Kamil Chmielewski)\n* Add support for installing Oracle JDK (thanks to Kamil Chmielewski)\n* Add support for creating Postgres schemas (thanks to Michael Bommarito)\n* Fix ``mysql.user_exists`` (thanks to Serge Travin)\n\nVersion 0.11.0 (2013-02-15)\n---------------------------\n\n* Fix requiring an existing user (thanks to Jonathan Peel)\n* Upgrade default Redis version to 2.6.10\n* Upgrade default Node.js version to 0.8.19\n* Better support for remote hosts where sudo is not installed\n\nVersion 0.10.0 (2013-02-12)\n---------------------------\n\n* Enable/disable nginx sites (thanks to S\u00e9bastien B\u00e9al)\n* Add support for SmartOS (thanks to Anthony Scalisi)\n* Add support for RHEL/CentOS/SL (thanks to Anthony Scalisi)\n\nVersion 0.9.4 (2013-01-10)\n--------------------------\n\n* Add files missing in 0.9.3 (thanks to St\u00e9fane Fermigier)\n\nVersion 0.9.3 (2013-01-08)\n--------------------------\n\n* Fix bugs in user creation (thanks pahaz and St\u00e9phane Klein)\n* Add support for group creation\n\nVersion 0.9.2 (2013-01-05)\n--------------------------\n\n* Add syntax highlighting in README (thanks to Artur Dryomov)\n\nVersion 0.9.1 (2013-01-04)\n--------------------------\n\n* Fix documentation formatting issues\n\nVersion 0.9.0 (2013-01-04)\n--------------------------\n\n* Improve user creation and modification\n* Add support for BSD / OS X to ``files.owner``, ``files.group``,\n ``files.mode`` and ``files.md5sum`` (thanks to Troy J. Farrell)\n* Improve PostgreSQL user creation (thanks to Troy J. Farrell\n and Axel Haustant)\n* Add ``reload`` and ``force_reload`` operations to the ``service``\n module (thanks to Axel Haustant)\n* Fix missing import in ``require.redis`` (thanks to svevang\n and S\u00e9bastien B\u00e9al)\n* Add ``clear`` option to Python virtualenv (thanks to pahaz)\n* Upgrade default Redis version to 2.6.7\n* Upgrade default Node.js version to 0.8.16\n* Decrease verbosity of some operations\n* Speed up functional tests\n\nVersion 0.8.1 (2012-10-26)\n--------------------------\n\n* Really fix pip version parsing issue\n* Upgrade default pip version to 1.2.1\n\nVersion 0.8.0 (2012-10-26)\n--------------------------\n\n* Improve user module (thanks to Ga\u00ebl Pasgrimaud)\n* Fix locale support on Debian (thanks to Olivier Kautz)\n* Fix version number in documentation (thanks to Guillaume Ayoub)\n* Fix potential issue with pip version parsing\n\nVersion 0.7.0 (2012-10-13)\n--------------------------\n\n* Fix changed directory owner requirement (thanks to Troy J. Farrell)\n* Add functions to get a file's owner, group and mode\n\nVersion 0.6.0 (2012-10-13)\n--------------------------\n\n* Add support for Node.js (thanks to Frank Rousseau)\n* Fix dependency on Fabric >= 1.4.0 (thanks to Laurent Bachelier)\n\nVersion 0.5.1 (2012-09-21)\n--------------------------\n\n* Documentation and packaging fixes\n\nVersion 0.5 (2012-09-21)\n------------------------\n\n* The ``watch`` context manager now allows you to either provide\n a callback or do an explicit check afterwards (**warning**: this change\n is not backwards compatible, please update your fabfiles)\n* Add support for some network-related operations:\n * get the IPV4 address assigned to an interface\n * get the list of name server IP addresses\n* The ``services`` module now supports both upstart and traditional\n SysV-style ``/etc/init.d`` scripts (thanks to Selwin Ong)\n* The ``virtualenv`` context manager can now also be used with ``local()``\n (thanks to khorn)\n* The ``supervisor`` module now uses ``update`` instead of ``reload``\n to avoid unnecessary restarts (thanks to Dan Fairs)\n* Add support for OpenVZ containers (requires a kernel with OpenVZ patches)\n* ``pip`` can now use a download cache\n* Upgrade Redis version to 2.4.17\n* Misc bug fixes and improvements\n* Support for Ubuntu 12.04 LTS and Debian 6.0\n* Documentation improvements\n\nVersion 0.4 (2012-05-30)\n------------------------\n\n* Added support for requiring an arbitrary APT source\n* Added support for adding APT signing keys\n* Added support for requiring a user with a home directory\n* Added vagrant helpers\n* Fixed Python virtualenv context manager\n\nVersion 0.3.2 (2012-03-19)\n--------------------------\n\n* Fixed README formatting\n\nVersion 0.3.1 (2012-03-19)\n--------------------------\n\n* Fixed bug in functional tests runner\n\nVersion 0.3 (2012-03-19)\n------------------------\n\n* Added support for Shorewall (Shoreline Firewall)\n* Fixed Python 2.5 compatibility\n* Refactored tests\n\nVersion 0.2.1 (2012-03-09)\n--------------------------\n\n* Packaging fixes\n\nVersion 0.2 (2012-03-09)\n------------------------\n\n* Added support for hostname and sysctl (kernel parameters)\n* Added support for Redis\n* Simplified API for supervisor processes\n\nVersion 0.1.1 (2012-02-19)\n--------------------------\n\n* Packaging fixes\n\nVersion 0.1 (2012-02-19)\n------------------------\n\n* Initial release", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://fabtools.readthedocs.org/", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "fabtools", "package_url": "https://pypi.org/project/fabtools/", "platform": "", "project_url": "https://pypi.org/project/fabtools/", "project_urls": { "Homepage": "http://fabtools.readthedocs.org/" }, "release_url": "https://pypi.org/project/fabtools/0.20.0/", "requires_dist": null, "requires_python": "", "summary": "Tools for writing awesome Fabric files", "version": "0.20.0" }, "last_serial": 2394897, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4ba624859ad0d4d8dd3118ecd30cc1cc", "sha256": "c002a41d88ecb45ad905dfed8c124690f5ec572113a95e8006e29528ddb597c0" }, "downloads": -1, "filename": "fabtools-0.1.tar.gz", "has_sig": false, "md5_digest": "4ba624859ad0d4d8dd3118ecd30cc1cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12316, "upload_time": "2012-02-19T03:04:59", "url": "https://files.pythonhosted.org/packages/87/b4/9bbdc1c7819d4898d2d4575eb53e261dacca00abeecd57324ed7a78523d1/fabtools-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "269e494a3ad80a946a27ba8ae4369bc6", "sha256": "a2f3edfe1b722cd0752f303f087f094d3fc81cdf4dd3c632732b55032dacb921" }, "downloads": -1, "filename": "fabtools-0.1.1.tar.gz", "has_sig": false, "md5_digest": "269e494a3ad80a946a27ba8ae4369bc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14586, "upload_time": "2012-02-19T16:57:28", "url": "https://files.pythonhosted.org/packages/03/6d/b5554d54cd85505b0c7b6ca14b66680b225b645e749ced4aad6a2366ccf6/fabtools-0.1.1.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "e9c92af9b62106d9b3ef71172941afc4", "sha256": "9970d7cb67bc5ee506959e511036fbd39189ed27aeaaa98562cef088e1e75049" }, "downloads": -1, "filename": "fabtools-0.10.0.tar.gz", "has_sig": false, "md5_digest": "e9c92af9b62106d9b3ef71172941afc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47643, "upload_time": "2013-02-11T23:49:31", "url": "https://files.pythonhosted.org/packages/8f/80/97c3606e1e688cab5bae8eee6a2b1fdc4549fc10d455d6726d83c45ec98a/fabtools-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "b3a65788480379ac44cd48bac189c37a", "sha256": "382d35b30a21c217fc04769dc35df02e0642ccd891e15608fdb170f52b73a35b" }, "downloads": -1, "filename": "fabtools-0.11.0.tar.gz", "has_sig": false, "md5_digest": "b3a65788480379ac44cd48bac189c37a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48146, "upload_time": "2013-02-15T20:07:42", "url": "https://files.pythonhosted.org/packages/c2/e5/44c3f9b1a60007ac4948ce202bbe6a20e7ec8e2902c828cb2ba9b6622362/fabtools-0.11.0.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "bf6f4d0157eed993515f177925b7d449", "sha256": "c0ecdcbae656ff8180e01ff0dd03f4b4129a5a73855fc356debc5c56dbc58208" }, "downloads": -1, "filename": "fabtools-0.12.0.tar.gz", "has_sig": false, "md5_digest": "bf6f4d0157eed993515f177925b7d449", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50629, "upload_time": "2013-03-04T20:13:12", "url": "https://files.pythonhosted.org/packages/f9/0a/fc5b8ef2950aaadf8435eb3c08313f5d280ae02f6f8b55617e84d4bc61af/fabtools-0.12.0.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "ba881bb3e185931bb8b7b4dbadcb6dbe", "sha256": "39c7d7065b2f56e7ae443a04d2e333ee242159ef72d95993d13fdb9ac8ce01eb" }, "downloads": -1, "filename": "fabtools-0.13.0.tar.gz", "has_sig": false, "md5_digest": "ba881bb3e185931bb8b7b4dbadcb6dbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52876, "upload_time": "2013-03-16T11:24:06", "url": "https://files.pythonhosted.org/packages/2b/6b/d386a27097bbab19632c4c31b73158a6accdc5fae34532b4842ecfc34931/fabtools-0.13.0.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "ce84712260e96070439e1627ef39cae3", "sha256": "70dffdb9ae855959e26f1bf4ffcba7b000119257e23c27830529fb85dc329ed3" }, "downloads": -1, "filename": "fabtools-0.14.0.tar.gz", "has_sig": false, "md5_digest": "ce84712260e96070439e1627ef39cae3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61357, "upload_time": "2013-05-22T13:20:52", "url": "https://files.pythonhosted.org/packages/e4/56/3a44719650a097dd02493f19a045eb606a005f6f763070804fe7442ac9bb/fabtools-0.14.0.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "346ad662ebe0ab89fdd7d8805148c528", "sha256": "b552e71765176cbc49b553725b193a27d9a68c5ca5f7533116439874fe9cac24" }, "downloads": -1, "filename": "fabtools-0.15.0.tar.gz", "has_sig": false, "md5_digest": "346ad662ebe0ab89fdd7d8805148c528", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68065, "upload_time": "2013-07-25T15:31:08", "url": "https://files.pythonhosted.org/packages/d5/c0/1fb10c785e44d2ab88e0575adae7681c73d65fb998dc8407a4b3c7d5a995/fabtools-0.15.0.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "7b2c39748a5a9028bc8626ed80122c6c", "sha256": "b4b2818dfa64e4c06235f60c23a1158abc9360822b091c0e6283a411698db41e" }, "downloads": -1, "filename": "fabtools-0.16.0.tar.gz", "has_sig": false, "md5_digest": "7b2c39748a5a9028bc8626ed80122c6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71353, "upload_time": "2013-10-26T14:07:36", "url": "https://files.pythonhosted.org/packages/8d/4c/2cccfd00d0725a9668664fc134d5296a2bba2ff6a1c61e1d74567e15a605/fabtools-0.16.0.tar.gz" } ], "0.17.0": [ { "comment_text": "", "digests": { "md5": "d8a601b9a3116ee68a2f0a30265687c7", "sha256": "89505c5fbc64a5d876b31cace2bada0363eef90ff478d78935b12e82c6134eeb" }, "downloads": -1, "filename": "fabtools-0.17.0.tar.gz", "has_sig": false, "md5_digest": "d8a601b9a3116ee68a2f0a30265687c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74996, "upload_time": "2013-12-06T22:43:42", "url": "https://files.pythonhosted.org/packages/75/53/b9a61ed4d967fc3a2411ccbdcba6f4d606cdf12e8e500dab5869e1f685c7/fabtools-0.17.0.tar.gz" } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "48870427cf4fc5b072d907175b3df80a", "sha256": "751c8a0f006b5d3681da2b468201581ac86da501aeef7a847c3248fd2850d4aa" }, "downloads": -1, "filename": "fabtools-0.18.0.tar.gz", "has_sig": false, "md5_digest": "48870427cf4fc5b072d907175b3df80a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81695, "upload_time": "2014-05-02T14:44:38", "url": "https://files.pythonhosted.org/packages/9e/99/a6c8b97362401330635d0912e887f2e9d28ec96650f0effa8c5f03ce4d06/fabtools-0.18.0.tar.gz" } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "38b0b60e8402cfde37b89785dfc87ddf", "sha256": "8e9a8e399e0ab5a26ca11a95e9551dac673368187bf7ed71805b476ea317acad" }, "downloads": -1, "filename": "fabtools-0.19.0.tar.gz", "has_sig": false, "md5_digest": "38b0b60e8402cfde37b89785dfc87ddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82389, "upload_time": "2014-07-04T22:48:24", "url": "https://files.pythonhosted.org/packages/99/52/fb84dbef810886cda8ebd5af506c8f935e857a69ef2f67bb6c5ac2c4882d/fabtools-0.19.0.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "7d51eb9eb0bb7fbe088857a7c11114ba", "sha256": "9a260c5d71793e8b5d4132c26dfe4a7092ec270a9d4dc9ca5eec50d824cbfc1e" }, "downloads": -1, "filename": "fabtools-0.2.tar.gz", "has_sig": false, "md5_digest": "7d51eb9eb0bb7fbe088857a7c11114ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16065, "upload_time": "2012-03-09T01:56:06", "url": "https://files.pythonhosted.org/packages/a4/67/8d6fa1bc5026d0ea4c0913287f16c4bb91d0818fa970e8047e310521751d/fabtools-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b86ad769026b49e6ceaa63ffe3e7f2b7", "sha256": "c8e853e00949042861ce5bcd0fb31f78df913da5d0ba886cd24ed07dc2eee24f" }, "downloads": -1, "filename": "fabtools-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b86ad769026b49e6ceaa63ffe3e7f2b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16313, "upload_time": "2012-03-09T02:02:42", "url": "https://files.pythonhosted.org/packages/37/f6/5bba518860a1c00896a5e4fd6c2ae7a895e75685e5c1661b98cf380df26a/fabtools-0.2.1.tar.gz" } ], "0.20.0": [ { "comment_text": "", "digests": { "md5": "9dc3eae65447681e13dd499c7ec5211a", "sha256": "be95136f84c4cbe52dc2b28237da07fb7c3f86fe35a64fa6fe645c6d31598e3f" }, "downloads": -1, "filename": "fabtools-0.20.0.tar.gz", "has_sig": false, "md5_digest": "9dc3eae65447681e13dd499c7ec5211a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99639, "upload_time": "2016-10-12T10:37:57", "url": "https://files.pythonhosted.org/packages/02/f6/e463829422ff0202d3b3ade50d284da714d10f98145994a57a5f727b006b/fabtools-0.20.0.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "902fe2c00c2d219842ba30946f7850a6", "sha256": "ac542f07f2bed1964bfadbf2f8cd12426dcec53fefad7240c81f4a5692c6715c" }, "downloads": -1, "filename": "fabtools-0.3.tar.gz", "has_sig": false, "md5_digest": "902fe2c00c2d219842ba30946f7850a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18861, "upload_time": "2012-03-19T04:50:14", "url": "https://files.pythonhosted.org/packages/36/17/8de593cdfde80305a5a2e57909db15922b9d60b824eb1d4cb0a3a4da6704/fabtools-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5bff0c8cf5b55ce9b4fcd3103edcbfc7", "sha256": "b3caac2de4c183e05249230180f523c5468647f74a56319c99408b24e152f5d6" }, "downloads": -1, "filename": "fabtools-0.3.1.tar.gz", "has_sig": false, "md5_digest": "5bff0c8cf5b55ce9b4fcd3103edcbfc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18928, "upload_time": "2012-03-19T15:32:20", "url": "https://files.pythonhosted.org/packages/e2/a8/a29d0329b0ccb45ea59a2099c32d76b75f62f7710395033453a37cfc1ff6/fabtools-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f860ac3c4c4d873b2348e57f7747e272", "sha256": "940e35253d888fe8742d61c5f9e01a71b88d72c8b160463fa2c7c4fd04100f34" }, "downloads": -1, "filename": "fabtools-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f860ac3c4c4d873b2348e57f7747e272", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18964, "upload_time": "2012-03-19T15:34:25", "url": "https://files.pythonhosted.org/packages/09/d0/18a8b47904f1d1e09c69e87ba259adfacaaf718ed80e178e7b9f6d09bb38/fabtools-0.3.2.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "e6cde0abb66172c6d80a18b64fd06781", "sha256": "6efb77f9304c43980a10eb130df59de4ef719cf4f72af62478a90fb14e61ffb1" }, "downloads": -1, "filename": "fabtools-0.4.tar.gz", "has_sig": false, "md5_digest": "e6cde0abb66172c6d80a18b64fd06781", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20026, "upload_time": "2012-05-30T05:08:09", "url": "https://files.pythonhosted.org/packages/41/d2/b933c01940486dfc0a7c48a652387846699553401db02e4b0213156e0f7d/fabtools-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "b0871507f0d66b670d4aa4a8b55d665b", "sha256": "1a9917988c81f4486000d456efff7d1112e97404f94f60b14b76f040ae063523" }, "downloads": -1, "filename": "fabtools-0.5.tar.gz", "has_sig": false, "md5_digest": "b0871507f0d66b670d4aa4a8b55d665b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36912, "upload_time": "2012-09-21T01:09:05", "url": "https://files.pythonhosted.org/packages/16/17/9390504d20eda3f20eaccc793464eda0db06d0225301694b6156c3984dd1/fabtools-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "1a0f240fca15b1351150b19f4fc91906", "sha256": "38ddcb84ff35580aae6349fdeb237de74374e584f60c2dc9d27c4963bbeaf23f" }, "downloads": -1, "filename": "fabtools-0.5.1.tar.gz", "has_sig": false, "md5_digest": "1a0f240fca15b1351150b19f4fc91906", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36918, "upload_time": "2012-09-21T01:38:26", "url": "https://files.pythonhosted.org/packages/69/61/60e5672001eb43b0565010fab8b4068fc18cbeed194e805294f349930247/fabtools-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "dbffa2ee5e87cf5ac118b51f9d96fe91", "sha256": "f3412075ddcaafca5cd9cd4cdc82fa2d4ef21e4bb200caff0ae1432dd7b365eb" }, "downloads": -1, "filename": "fabtools-0.6.0.tar.gz", "has_sig": false, "md5_digest": "dbffa2ee5e87cf5ac118b51f9d96fe91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38611, "upload_time": "2012-10-13T15:35:36", "url": "https://files.pythonhosted.org/packages/13/07/812d23a798f0614aff433f73bf38318b37aef79b9aba26a099517e59e9d8/fabtools-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "eee31fced3a9d071fb0a44615f897d3a", "sha256": "1707e7a26c1255109da518171cb04a97c7de3dbe3aa3f8587c9d1e22da920bfc" }, "downloads": -1, "filename": "fabtools-0.7.0.tar.gz", "has_sig": false, "md5_digest": "eee31fced3a9d071fb0a44615f897d3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39221, "upload_time": "2012-10-13T17:06:00", "url": "https://files.pythonhosted.org/packages/1f/46/b7b51f0b787af7e9670f7084080689f9a68e10646a842c5f7a6af85e65d7/fabtools-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "55b4a0b91626abf59409adf700f22b1d", "sha256": "ebb0c29613993a954cfcd7f798d5bfd6ca8cedf9c62e0cde0ba77ba51aefad78" }, "downloads": -1, "filename": "fabtools-0.8.0.tar.gz", "has_sig": false, "md5_digest": "55b4a0b91626abf59409adf700f22b1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39856, "upload_time": "2012-10-26T02:06:30", "url": "https://files.pythonhosted.org/packages/e5/54/a10f845d1e1768131ebc594414a28f089b42b85c343124a613377463e654/fabtools-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "37d800e60080370f231ebe5962123e2f", "sha256": "23b0b404a82329fe4c30b8f6fbc690b55cdf638953b86f3041fc11895ad03e23" }, "downloads": -1, "filename": "fabtools-0.8.1.tar.gz", "has_sig": false, "md5_digest": "37d800e60080370f231ebe5962123e2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39920, "upload_time": "2012-10-26T09:53:34", "url": "https://files.pythonhosted.org/packages/74/6c/c77545301dd07cd3b9154f9d7f721766a50eae5ed564452d4a9a3eb92f5f/fabtools-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "4cc3cc46f3c6c7dceefb9f534be0cd77", "sha256": "163fb5506949717956c64de689201fc8150bea7e8595d2ea656e928b5ae5e3ae" }, "downloads": -1, "filename": "fabtools-0.9.0.tar.gz", "has_sig": false, "md5_digest": "4cc3cc46f3c6c7dceefb9f534be0cd77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42511, "upload_time": "2013-01-04T22:37:54", "url": "https://files.pythonhosted.org/packages/d0/fd/aa69b0a8e356b8d981cff3e3036f88bb1869d06588dee4d3f6dc5fbc4724/fabtools-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "600f72be7e2c68a5044d31cb7b18054e", "sha256": "8fb8415fb7f7db682386ca68265954d729a4ec2069ba0d3f19ca82b58fb4e07b" }, "downloads": -1, "filename": "fabtools-0.9.1.tar.gz", "has_sig": false, "md5_digest": "600f72be7e2c68a5044d31cb7b18054e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42544, "upload_time": "2013-01-04T22:50:33", "url": "https://files.pythonhosted.org/packages/90/fa/d746bf90ab0c90baf70f6d388cfe004658fe0d9896be0870521fe350d12d/fabtools-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "5ab9a6977ed90b514836f1eefceec504", "sha256": "c8703e8bd84d53834d5e495da13fa1b528bf6d4571d5f33d1b43cb9c4128f0a7" }, "downloads": -1, "filename": "fabtools-0.9.2.tar.gz", "has_sig": false, "md5_digest": "5ab9a6977ed90b514836f1eefceec504", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42648, "upload_time": "2013-01-04T23:39:57", "url": "https://files.pythonhosted.org/packages/59/d1/25ab1887c5a6e3622ca08277ed9aad38f6e61933925c92141a45d246635a/fabtools-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "316ebd906d3e062be3ff722512ad976d", "sha256": "2fb15ed51909ded6f253e66c0cde4fa70bd76b0c5ce6b3a0c84087e444811beb" }, "downloads": -1, "filename": "fabtools-0.9.3.tar.gz", "has_sig": false, "md5_digest": "316ebd906d3e062be3ff722512ad976d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43296, "upload_time": "2013-01-07T23:59:31", "url": "https://files.pythonhosted.org/packages/0a/cf/74c8ff910c5b865924f7f28d67559466d94b09c3e58c72ec95822c05b540/fabtools-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "4d676d41175c774691dde0a96b0a56cd", "sha256": "df8035a1cc943b4382f2e4bd4b6d917bcc42901a2049c286738249e2aa91c9c6" }, "downloads": -1, "filename": "fabtools-0.9.4.tar.gz", "has_sig": false, "md5_digest": "4d676d41175c774691dde0a96b0a56cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43369, "upload_time": "2013-01-10T13:18:12", "url": "https://files.pythonhosted.org/packages/ca/7d/af341dd982475b420c3c7a8fb3a24d2845ec5fa3120dd8ebebbeea08ac8c/fabtools-0.9.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9dc3eae65447681e13dd499c7ec5211a", "sha256": "be95136f84c4cbe52dc2b28237da07fb7c3f86fe35a64fa6fe645c6d31598e3f" }, "downloads": -1, "filename": "fabtools-0.20.0.tar.gz", "has_sig": false, "md5_digest": "9dc3eae65447681e13dd499c7ec5211a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99639, "upload_time": "2016-10-12T10:37:57", "url": "https://files.pythonhosted.org/packages/02/f6/e463829422ff0202d3b3ade50d284da714d10f98145994a57a5f727b006b/fabtools-0.20.0.tar.gz" } ] }