Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

An aggregated package manager for installing packages globally.

Project Description

An aggregated package manager for installing packages globally.

This is currently a prototype implemented as a bash script. I might port it to another scripting language for better Windows support.


Kitchen Sync essentially acts as a proxy for installing lists of packages with different package managers. It is designed for easily installing commonly used software tools and platforms across multiple development machines, and should not be used to install dependencies of specific projects.

Kitchen Sync uses a central configuration of package lists that can be shared across machines to maintain similar installations. You can configure Kitchen Sync by creating a directory of text files, where each file is named after a package manager and contains a list of packages you want installed by it. Kitchen Sync then installs all packages with the appropriate package manager. There will also be tools to “sync” lists of packages that are already installed globally back to these text files. Since these lists are simple text files, they can be used with any existing version control systems or syncing tools.

What Stow and Homesick do for managing config files from centralized locations, Kitchen Sync aims to do for package installation. As a result, these tools should work well together, and you can save your package configs in the same repository as your other config files. This is especially useful if you use text editors, IDEs, or shells that rely on many external commands that need to be installed globally with different package managers.


  • Support multiple package managers out of the box while remaining extensible enough to support more.
  • Store all configuration in a single directory of plain text files.
  • Should not have too many dependencies, since it may be used to install language runtimes.
  • Easy installation on Unix/Linux, with at least basic Windows support.
  • Ease development of personal config file repositories by managing their global dependencies.


  1. Make sure you’re using a Unix/Linux system with Python installed.
  2. pip install -r requirements.txt
  3. cram tests

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(2.8 kB) Copy SHA256 Hash SHA256
Source Oct 25, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting