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:

[buildout]
extensions = isotoma.buildout.autodevelop

By default this will check every directory below where you execute buildout for setup.py. 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:

[buildout]
extensions = isotoma.buildout.autodevelop
autodevelop =
    src
    externals

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:

[buildout]
extensions = isotoma.buildout.autodevelop

[autodevelop]
mode = localeggs

Under the hood, the extension will call python setup.py 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:

[buildout]
extensions = isotoma.buildout.autodevelop

[autodevelop]
 mode = deploy

Optional Parameters

autodevelop

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

Repository

This software is available from our recipe repository on github.

License

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

http://www.apache.org/licenses/LICENSE-2.0

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.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

isotoma.buildout.autodevelop-0.0.17.zip (14.0 kB view details)

Uploaded Source

File details

Details for the file isotoma.buildout.autodevelop-0.0.17.zip.

File metadata

File hashes

Hashes for isotoma.buildout.autodevelop-0.0.17.zip
Algorithm Hash digest
SHA256 a966edec402699ba95c917f532f83530e8d01de175bbf1feacd63e9c852b51e1
MD5 e8ff550a66dcb16e18d011f9212479c1
BLAKE2b-256 2973dfb7eee5c9bf1c1a4b2a5e2ffa8fe232fd862f61ce455a6a1f2119a5b5e6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page