Skip to main content

ZC buildout extension to checkout eggs from various vcs

Project description

What is gp.vcsdevelop ?

This package allow you to checkout some package and use them as developed eggs with zc.buildout.

Available options

  • develop-dir: a directory to checkout packages in

  • vcs-extend-develop: A list of vcs url. See pip’s editable parameter. Available schemes are ssh, svn, git, hg, bzr, sftp.

  • vcs-update:

    If true on every run buildout try updating egg. As example for hg+https run hg pull -u

    If always then remove existing code from filesystem and get a fresh checkout

  • requirements:

    A path to a pip requirement file.

Usage

Basic usage

Use this package as a zc.buildout extension and provide some vcs urls in the vcs-extend-develop option:

>>> write('buildout.cfg','''
... [buildout]
... extensions=gp.vcsdevelop
... vcs-extend-develop=hg+https://gawel@bitbucket.org/ianb/pip/@tip#egg=pip
... parts=
... ''')

Then if you run buildout, the package will be checkout from the repository:

>>> print 'Start', system(buildout)
Start...
Cloning hg https://gawel@bitbucket.org/ianb/pip/ (to revision tip) to ./pip
Found command 'hg' at '...'
Develop: '/...buildout/pip'
...

Packages can be found in the develop-dir (default to .). You can override this:

>>> write('buildout.cfg','''
... [buildout]
... extensions=gp.vcsdevelop
... develop-dir=./src
... vcs-extend-develop=hg+https://gawel@bitbucket.org/ianb/pip/@tip#egg=pip
... parts=
... ''')

>>> print 'Start', system(buildout)
Start...
Cloning hg https://gawel@bitbucket.org/ianb/pip/ (to revision tip) to ./src/pip
Found command 'hg' at '...'
Develop: '/...buildout/./src/pip'
...

Non-python packages

You can also checkout non-python packages but you’ll get a warning:

>>> write('buildout.cfg','''
... [buildout]
... extensions=gp.vcsdevelop
... develop-dir=./src
... vcs-extend-develop=git+git://github.com/benoitc/couchbeam.git#egg=couchbeam
... parts=
... ''')

>>> print 'Start', system(buildout).strip()
Start...
Cloning git://github.com/benoitc/couchbeam.git to ./src/couchbeam
Found command 'git' at '...'
Warning: ./src/couchbeam is not a python package

Git submodules

gp.vcsdevelop is aware of Git’s submodules at the first level:

>>> write('buildout.cfg','''
... [buildout]
... extensions=gp.vcsdevelop
... develop-dir=./src
... vcs-extend-develop=git+git://github.com/bearstech/PloneTerminal.git#egg=PloneTerminal
... parts=
... ''')

>>> print 'Start', system(buildout).strip()
Start...
Cloning git://github.com/bearstech/PloneTerminal.git to ./src/PloneTerminal
Found command 'git' at '...'
Submodule 'jquery.terminal' (git://github.com/jcubic/jquery.terminal.git) registered for path 'ploneterminal/statics/jquery.terminal'
<BLANKLINE>
Cloning into ploneterminal/statics/jquery.terminal...
Submodule path 'ploneterminal/statics/jquery.terminal': checked out '...'
<BLANKLINE>
Develop: '/...buildout/./src/PloneTerminal'
...

>>> ls('src', 'PloneTerminal', 'ploneterminal', 'statics', 'jquery.terminal')
d  .git
-  CHANGELOG
-  README
d  css
d  examples
d  js
d  trypython

pip requirements file

gp.vcsdevelop can take care of your requirements file. All packages names contained by the requirements file can be found in a var named ${buildout:requirements-eggs}:

>>> write('buildout.cfg','''
... [buildout]
... extensions=gp.vcsdevelop
... develop-dir=./requirements
... requirements = requirements.txt
... parts= eggs
...
... [eggs]
... recipe = zc.recipe.egg
... eggs = ${buildout:requirements-eggs}
... interpreter = python
... ''')

>>> write('requirements.txt', '''
... ConfigObject>=1.0
... -e git+git://github.com/bearstech/PloneTerminal.git#egg=PloneTerminal
... ''')

>>> print 'Start', system(buildout).strip()
Start...
Cloning git://github.com/bearstech/PloneTerminal.git to ./requirements/PloneTerminal
Found command 'git' at '...'
...
Develop: '/...buildout/./requirements/PloneTerminal'
...
Generated interpreter '/...buildout/bin/python'.

>>> print 'File', cat('bin', 'python')
File...
sys.path[0:0] = [
    '.../ConfigObject-....egg',
    '/...buildout/requirements/PloneTerminal',
...

Bugs

Use the bitbucket tracker.

Changes

2.2 (12-07-2011)

  • use more pip api

  • add requirements option

2.1 (22-05-2011)

  • Take care of any .gitmodules found at package root

2.0 (20-05-2011)

  • No longer depends on pip. Use get-pip.py

1.9.4 (04-05-2011)

  • python3 ready

1.9.2 (04-01-2011)

  • require pip>=0.8

1.9.1 (22-08-2010)

  • add mercurial in require

1.9 (22-08-2010)

  • support latest pip

1.8 (06-08-2010)

  • always add svn scheme

1.7 (06-08-2010)

  • fix pip 0.8 compat

1.6 (13-05-2010)

  • require pip>=0.7.1

1.5 (17-02-2010)

  • rename vcsdevelop-update to vcs-update. can be set to always

1.4 (24-01-2010)

  • pip 0.6.3 compat by Boris Kocherov

1.3 (13-09-2009)

  • add vcsdevelop-update by Boris Kocherov

1.2 (24-08-2009)

  • allow to fetch non-python package

1.1 (29-06-2009)

  • add svn to vcs.schemes

0.4 (04-05-2009)

  • allow to have existing develop directories

0.2 (27-01-2009)

  • only take care of urls starting with a valid available scheme.

0.1 (23-01-2009)

  • nothing change

Download

Project details


Download files

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

Source Distributions

gp.vcsdevelop-2.2.zip (78.7 kB view details)

Uploaded Source

gp.vcsdevelop-2.2.tar.gz (73.9 kB view details)

Uploaded Source

File details

Details for the file gp.vcsdevelop-2.2.zip.

File metadata

  • Download URL: gp.vcsdevelop-2.2.zip
  • Upload date:
  • Size: 78.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gp.vcsdevelop-2.2.zip
Algorithm Hash digest
SHA256 b94ff58e0ac78c3e7cba72b0f910293a6295e5ddd1ef5cd6490cce5edf86b148
MD5 b7fb1aae0ce783204592c378c2cfbb8b
BLAKE2b-256 65b3ca26229686b78086439291f5b2f29810c801919e03c4a31a43fee2b54d57

See more details on using hashes here.

Provenance

File details

Details for the file gp.vcsdevelop-2.2.tar.gz.

File metadata

  • Download URL: gp.vcsdevelop-2.2.tar.gz
  • Upload date:
  • Size: 73.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gp.vcsdevelop-2.2.tar.gz
Algorithm Hash digest
SHA256 8e0be2c5d95960690f27336bc727f6a4e3b1840edd8d8024c8eb83d4d7a68ced
MD5 12fd1d42c3178d35fadc42ce8570d3fe
BLAKE2b-256 a44224ff142f47582fcce7a482daffaaf5c77f450d27fa51be83b39bfec35187

See more details on using hashes here.

Provenance

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