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

isotoma.buildout.autodevelop-0.0.19.zip (14.1 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for isotoma.buildout.autodevelop-0.0.19.zip
Algorithm Hash digest
SHA256 f3bbee2db5580a5a36d915d407fef3c2cbb77db6337cfeb13402bbc39ff80494
MD5 616e79f97bfc667987afe7f5254fc291
BLAKE2b-256 1aee1f4fd01876979cade40252de075101886b7189d2f12c6c17b4f94bbdbc1d

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