Skip to main content

Buildout extension to automatically develop eggs found in specified directories.

Project description

Autodevelop buildout extension

This package provides a buildout extension for automatically developing source eggs in the current project.

You might also want to look at mr.developer which does a similar job but also manages your SCM interactions, which autodevelop explicitly does NOT do.

Finding your develop eggs automatically

You just need to add an extension to your buildout.cfg:

extensions = isotoma.buildout.autodevelop

By default this will check every directory below where you execute buildout for Buildout managed directories like develop-eggs-directory will be excluded. If you want to further restrict the search path, you can till the extension where to search:

extensions = isotoma.buildout.autodevelop
autodevelop =

This will develop any source eggs contained in your src and externals directories.

Testing ‘real’ eggs automatically

We package all our eggs and deploy from a local PyPI mirror. It’s useful to be able to automatically run the egg build and test the buildout with that egg, rather than the checkout. You will flush out your MANIFEST problems if you make use of this.

You need to put the extension into ‘localeggs’ mode:

extensions = isotoma.buildout.autodevelop

mode = localeggs

Under the hood, the extension will call python sdist for each egg that would have been developed and rewrites ${buildout:find-links} to use that.

Automatic version numbers

You probably won’t want this, its a bit of an edge case.

If you are deploying from an SVN tag that contains your source code but you want the deployment to use eggs from your PyPI mirror anyway then autodevelop can automatically update the pins in your buildout to match the version of the code in your tag, by rewriting the [versions] section of your config.

This looks like this:

extensions = isotoma.buildout.autodevelop

 mode = deploy

Optional Parameters


If you don’t want to scan the entire checkout, provide a subfolder to check


This software is available from our recipe repository on github.


Copyright 2010 Isotoma Limited

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Changelog for isotoma.buildout.autodevelop

0.0.19 (2015-01-28)

  • Fix local egg mode on newer pythons.

0.0.18 (2013-01-09)

  • Fix missing import.

0.0.17 (2013-01-07)

  • Fix to work when setuptools is only available in bootstrapped environment. This happens when using python2.7 on lucid with deadsnakes repo without distribute package. This release lets it import the setuptools that you bootstrapped into your eggs-directory.

0.0.16 (2012-12-31)

  • We do not autodevelop any “parts” directorys which means we need a list of part names to concatenate with the value of buildout:parts-directory. Previously, this list was determined by evaluating ${buildout:parts}, however that didn’t include parts that are pulled in automatically when referred to by other parts. Instead, we now get a list of part names by inspecting buildout.keys(), filtered down to which of those parts have an assigned recipe.

0.0.15 (2012-03-01)

  • Set ${autodevelop:developed} to ‘’ if not using autodevelop (i.e. mode = off)

0.0.14 (2012-02-01)

  • Work even if [autodevelop] isnt present.

0.0.13 (2012-01-25)

  • Nothing changed yet.

0.0.12 (2012-01-25)

  • Any eggs that have been developed will be added to ${autodevelop:developed}

0.0.11 (2011-01-23)

  • buildout:directory will now be searched even if buildout:parts-directory == buildout:directory

0.0.10 (2011-08-31)

  • Allow autodevelop to no-op

0.0.9 (2011-08-17)

  • Remove the horrible hack from 0.0.2 ;)

0.0.8 (2011-08-16)

  • Nothing changed yet.

0.0.7 (2011-08-10)

  • Brown paper bag

0.0.6 (2011-08-10)

  • localeggs() builds zips so that this extension is python2.4 safe

0.0.5 (2011-08-10)

  • Properly deal with lists that have gaps in the middle

0.0.4 (2011-08-10)

  • Add ${autodevelop:mode} which can be deploy, localeggs or checkout.

0.0.3 (2011-06-23)

  • Nothing changed yet.

0.0.2 (2011-06-16)

  • If there are develop eggs, we will force them to be used over pinned versions.

Project details

Download files

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

Source Distribution (14.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page