Package: cheddar
PyPI clone with Flask and Redis. It’s the single most popular cheese in the world!Free software: Apache License V2Documentation:http://cheddar.rtfd.org.FeaturesCheddar aims to simplify Python development within organizations that simultaneously work
with public and private Python distributions.Cheddar includes:Alocalpackage index for internal development, supportingsetuptoolsregisteranduploadcommands.Aremotepackage index that proxies to a public repository (such aspypi.python.org)
andcachespackages and package version listings to reduce latency and minimize the effect
of downtime by the public repository.Acombinedpackage index that unifies the best of the local and remote implementations.In addition, Cheddar supports a few features that simplify management within an organization:Packages are stored locally in separate directories for pre-releases and releases, simplifying
backup strategies that wish to ignore transitive development builds.Duplicate package uploads return a predictable HTTP409 Conflicterror.Mistakenly uploaded packages may be deleted using a simple, RESTful API.ConfigurationCheddar can run in any WSGI container or through Flask’s built-in development server (which is
single-threaded and only recommended for development).Configuation is loaded from thedefaults.pymodule along with the contents of the file pointed
to by theCHEDDAR_SETTINGSenvironment variable, if any.You may wish to modify several of the configuration parameters from their default values, including:INDEX_URLwhich specifies the URL of theremotepackage indexREDIS_HOSTNAMEwhich control the location of the Redis serverLOCAL_CACHE_DIRwhich controls the storage location of locally uploaded filesREMOTE_CACHE_DIRwhich controls the storage location of cached remote filesThe Local IndexTo use the local index:Edit your~/.pypircto contain an entry for Cheddar. It should look _something_ like:[distutils]
index-servers =
    pypi
    cheddar

[pypi]
repository:http://pypi.python.org

[cheddar]
repository:http://localhost:5000/pypi
username:myusername
password:mypasswordNote that the URL here assumes you are running the “development” server.Add credentials to Redis:redis-cli set cheddar.user.myusername mypasswordUpload your distribution:cd /path/to/directory/containing/setup.py
python setup.py sdist upload -r cheddarYou may also use theregister-rcheddarto validate yoursetup.pywithout
uploading the source distribution.The Remote IndexRunpipusing a custom index url:pip install --index-url http://localhost:5000/simpleNote that the URL here assumes you are running the “development” server.You can also edit your~/.pip/pip.confto contain the index url automatically:[install]
index-url = http://localhost:5000/simpleDataCheddar saves data in several places:Local packages are stored in theLOCAL_CACHE_DIRRemote packages may be cached in theREMOTE_CACHE_DIRRemote version listings may be cached in Redis.User data (for upload authentication) is stored in Redis.Local package version listings are stored Redis.History1.2 (2014-02-21)Allow remote index to work offline if cached.1.1 (2013-11-22)Add history of uploads.Track uploaded timestamp.Support spidering pypi links to other sites.Improve sort order in UI.1.0 (2013-11-19)Initial version.