Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install nestegg

How to install nestegg

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install nestegg
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
0.0.1alpha2 Available View build log
 
License
The MIT License (MIT)
Imports
Lastest release
version 0.0.1alpha2 on Jan 9th, 2014

On-demand, lightweight, package building pypi mirror

Features

Note

Still in early stages, though has enough features for me to use it

Implemented

  • Pypi like repository: For software you author or python libraries you modify but only publish internally
  • Pypi Mirror: Mirrors packages from pypi.python.org. * On demand: Packages are downloaded only when requested for. * Lightweight: Downloads and mirrors only those versions requested for.

TODO

  • Continuous integration: Test all defined source builds at defined intervals and/or based on git / hg commits. Offer readonly web based interface to past tests and results
  • Apache integration using mod_wsgi
  • Refresh pypi packages and indices
  • Additional python versions (currently tested only with python 3.3)

Quick start

  • Create and activate a python virtual environment

    • Currently only tested with python version 3.3. Additional versions to be added later
  • Install package:

    $ pip install nestegg
    
  • Create configuration file for nestegg in your home directory $HOME/nestegg.yml

    System Message: WARNING/2 (<string>, line 42)

    Literal block expected; none found.

System Message: ERROR/3 (<string>, line 42)

Unknown directive type "code".

.. code:: yml

  nestegg:
    nestegg_dir: /var/cache/nestegg                         # Where nestegg makes a nest
    port: 7654                                              # Port to run on
    index-url: https://pypi.python.org/simple               # Pypi Index URL
    source_builds:                                          # List of source builds
      - name: my_package_name                               # package name
        repo_type: git                                      # git and hg supported
        repo_url: git@mygithost.com:myuserid/mypackage.git  # git url here
        private: Yes                                        # private or public
        versions:
          - version: 1.0.0                                  # python version
            tag: 1.0.0                                      # git/hg branch/tag name
            dist_file: mypackage-1.0.0.tar.gz               # source dist file name

For each source build / version defined, nestegg will :

  • Create a git or hg clone from the git / hg repo
  • Checkout the defined tag / branch
  • Create a source distribution using python setup.py sdist
  • Publish the distribution to the nestegg package repository.
  • You can install/use the distribution using pip, easy_install etc.

All the source builds and versions you defined will be cloned, the corresponding tag checked out and source distributi

  • Start nestegg server:

    $ nestegg
    

    System Message: ERROR/3 (<string>, line 71)

    Inconsistent literal block quoting.

    Bottle v0.11.6 server starting up (using WSGIRefServer())... Listening on http://0.0.0.0:7654/ Hit Ctrl-C to quit.

Use http://localhost:7654/simple as the index url with pip or tox or other clients. eg.

$ pip install SQLAlchemy==0.8.2 --index-url=http://localhost:7654

Goals

  • Create a desktop / intranet mirror of all packages used. Create new test virtualenvs readily without having to wait for long downloads
  • Manage versions of your package dependencies (even if pypi eventually does not publish the versions you rely upon)
  • Publish versions of libraries you fork, or any you create to a pypi like repository without having to publish it globally.
  • Ensure access control. Continues to work with git/hg authentication over ssh
  • (TODO) Continuous / automatic integration / testing of python packages you author and maintain.

Subscribe to package updates

Last updated Jan 9th, 2014

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.