Skip to main content

Tool for managing remote repositories from your git CLI!

Project description

Buildstrap: generate a buildout config for any *env project

WTFPL Python3 Issues Build Code Climate Coverage

There’s pyenv, pyvenv, venv, virtualenv… and who knows how many other ways to deal with development of python programs in a per-project self-contained manner.

While most of the python community tried to keep up, and got their shell configuration or global pip changing regularly, some have been quietly enjoying python development the same way for the last ten years, using buildout for their development.

Though, it’s a fact that buildout is not the standard way to do things, even if it’s a very convenient tool. So to keep your repositories compatible with most *env tools available — or get buildout with other projects. I wrote this tool to make it easy to create a buildout environment within the project.

Quickstart Guide

Here we’ll see the most common usages, and refer to the full documentation for more details.

Usage

when you got a repository that has requirements files, at the root of your project’s directory, call buildstrap using:

% buildstrap run project requirements.txt

where project as second argument is the name of the package as you’ve set it up in your setup.py — and as you’d import it from other python code.

Running that command will generate the buildout.cfg file, and run buildout in your current directory. Then you’ll find all your scripts available in the newly created bin directory of your project.

If you have several requirements.txt files, depending on the task you want to do, it’s easy:

% buildstrap run project -p pytest -p sphinx requirements.txt requirements-test.txt requirements-doc.txt

which will create three sections in your buildout.cfg file, and get all the appropriate dependencies.

Here’s a real life example:

% git hub clone kennethreitz/requests    # cf 'Nota Bene'
% cd requests
% buildstrap run requests requirements.txt
…
% bin/py.test
… (look at the tests result)
% bin/python3
>>> import requests
>>>

or another one:

% git hub clone jkbrzt/httpie            # cf 'Nota Bene'
% cd httpie
% buildstrap run httpie requirements-dev.txt
…
% bin/py.test
… (look at the tests result)
% bin/http --version
1.0.0-dev

Installation

it’s as easy as any other python program:

% pip install buildstrap

or from the sources:

% git hub clone guyzmo/buildstrap
% cd buildstrap
% python3 setup.py install

Development

for development you just need to do:

% pip install buildstrap
% git clone https://github.com/guyzmo/buildstrap
% cd buildstrap
% builstrap run buildstrap -p pytest -p sphinx requirements.txt requirement-test.txt requirement-doc.txt
…
% bin/buildstrap

Yeah, I’m being evil here 😈

You can have a look at the sources documentation.

Nota Bene

You might wonder where does the git hub clone command comes from, and I’m using here another project I wrote: guyzmo/git-repo.

Simply put, git hub clone user/project is equivalent to git clone https://github.com/user/project.

License

Copyright © 2016 Bernard `Guyzmo` Pratz <guyzmo+buildstrap+pub@m0g.net>
This work is free. You can redistribute it and/or modify it under the
terms of the Do What The Fuck You Want To Public License, Version 2,
as published by Sam Hocevar. See the LICENSE file for more details.

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

buildstrap-0.4.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distributions

buildstrap-0.4.0-py3.5.egg (9.6 kB view details)

Uploaded Source

buildstrap-0.4.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file buildstrap-0.4.0.tar.gz.

File metadata

  • Download URL: buildstrap-0.4.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for buildstrap-0.4.0.tar.gz
Algorithm Hash digest
SHA256 99064382f12d1aa7cad071a59d0ad92a3f1cdc12c7b951a0a131308163f18532
MD5 9267f8d78d6a7748daf0b44665a892d3
BLAKE2b-256 42fa84096eb3c675cf666929d2c9048b3c67ad7b5880a9cf13461169c3dc721f

See more details on using hashes here.

File details

Details for the file buildstrap-0.4.0-py3.5.egg.

File metadata

File hashes

Hashes for buildstrap-0.4.0-py3.5.egg
Algorithm Hash digest
SHA256 bf146c91361f01050a974f7049084edd43a512cf37e6afa6aff38f0e6fecfd98
MD5 06cb12e3dd876bfc85eed9fc1dc186a3
BLAKE2b-256 7c029d3b195f87f359d4feb867697018c3a0c5f40039d3bf240ef9c6d3eebaef

See more details on using hashes here.

File details

Details for the file buildstrap-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for buildstrap-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2357eda88e8f3bd6e2c4e33758487394d6c89555722d0281058773aeb43c064e
MD5 863c8cd65f03664039852d40d3adccd7
BLAKE2b-256 87107a3cbae36bda07d61ead09577900263ea23a886365d82eb3a31beb229930

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