{"id":13813861,"url":"https://github.com/guyzmo/buildstrap","last_synced_at":"2025-04-10T03:51:37.734Z","repository":{"id":57416637,"uuid":"61045372","full_name":"guyzmo/buildstrap","owner":"guyzmo","description":"buildstrap: when buildout+pip=♥  ","archived":false,"fork":false,"pushed_at":"2016-09-23T14:47:03.000Z","size":39,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T05:05:27.353Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://buildstrap.readthedocs.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guyzmo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-13T14:59:28.000Z","updated_at":"2020-01-19T00:35:20.000Z","dependencies_parsed_at":"2022-09-26T17:11:26.783Z","dependency_job_id":null,"html_url":"https://github.com/guyzmo/buildstrap","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2Fbuildstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2Fbuildstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2Fbuildstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2Fbuildstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guyzmo","download_url":"https://codeload.github.com/guyzmo/buildstrap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247968376,"owners_count":21025823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T04:01:33.403Z","updated_at":"2025-04-10T03:51:37.706Z","avatar_url":"https://github.com/guyzmo.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Buildstrap: generate a buildout config for any \\*env project\n\n[![WTFPL](http://www.wtfpl.net/wp-content/uploads/2012/12/wtfpl-badge-2.png)](http://wtfpl.org)\n[![Python3](https://img.shields.io/pypi/pyversions/buildstrap.svg)](https://pypi.python.org/pypi/buildstrap)\n[![Issues](https://img.shields.io/github/issues/guyzmo/buildstrap.svg)](https://github.com/guyzmo/buildstrap)\n[![Build](https://travis-ci.org/guyzmo/buildstrap.svg)](https://travis-ci.org/guyzmo/buildstrap)\n[![Code Climate](https://codeclimate.com/github/guyzmo/buildstrap/badges/gpa.svg)](https://codeclimate.com/github/guyzmo/buildstrap)\n[![Coverage](https://codeclimate.com/github/guyzmo/buildstrap/badges/coverage.svg)](https://codeclimate.com/github/guyzmo/buildstrap)\n\nThere's pyenv, pyvenv, venv, virtualenv… and who knows how many other ways to\ndeal with development of python programs in a per-project self-contained\nmanner.\n\nWhile most of the python community tried to keep up, and got their shell\nconfiguration or global pip changing regularly, some have been quietly enjoying\npython development the same way for the last ten years, using [buildout] for\ntheir development.\n\nThough, it's a fact that buildout is not the standard way to do things, even if\nit's a very convenient tool. So to keep your repositories compatible with most\n\\*env tools available — or get buildout with other projects. I wrote this tool\nto make it easy to create a buildout environment within the project.\n\n[buildout]:https://github.com/buildout/buildout/\n\n# Quickstart Guide\n\nHere we'll see the most common usages, and refer to [the full documentation for\nmore details][doc].\n\n[doc]:https://buildstrap.readthedocs.io/\n\n## Usage\n\nwhen you got a repository that has requirements files, at the root of your project's\ndirectory, call buildstrap using:\n\n```\n% buildstrap run project requirements.txt\n```\n\nwhere `project` as second argument is the name of the package as you've set it\nup in your `setup.py` — and as you'd import it from other python code.  \n\nRunning that command will generate the `buildout.cfg` file, and run `buildout`\nin your current directory. Then you'll find all your scripts available in the\nnewly created `bin` directory of your project.\n\nIf you have several `requirements.txt` files, depending on the task you want to\ndo, it's easy:\n\n```\n% buildstrap run project -p pytest -p sphinx requirements.txt requirements-test.txt requirements-doc.txt\n```\n\nwhich will create three sections in your `buildout.cfg` file, and get all the\nappropriate dependencies.\n\nHere's a real life example:\n\n```\n% git hub clone kennethreitz/requests    # cf 'Nota Bene'\n% cd requests\n% buildstrap run requests requirements.txt\n…\n% bin/py.test\n… (look at the tests result)\n% bin/python3\n\u003e\u003e\u003e import requests\n\u003e\u003e\u003e\n```\n\nor another one:\n\n```\n% git hub clone jkbrzt/httpie            # cf 'Nota Bene'\n% cd httpie\n% buildstrap run httpie requirements-dev.txt\n…\n% bin/py.test\n… (look at the tests result)\n% bin/http --version\n1.0.0-dev\n```\n\n## Installation\n\nit's as easy as any other python program:\n\n```\n% pip install buildstrap\n```\n\nor from the sources:\n\n```\n% git hub clone guyzmo/buildstrap\n% cd buildstrap\n% python3 setup.py install\n```\n\n## Development\n\nfor development you just need to do:\n\n```\n% pip install buildstrap\n% git clone https://github.com/guyzmo/buildstrap\n% cd buildstrap\n% builstrap run buildstrap -p pytest -p sphinx requirements.txt requirement-test.txt requirement-doc.txt\n…\n% bin/buildstrap\n```\n\nYeah, I'm being evil here 😈\n\nYou can have a look at the [sources documentation][srcdoc].\n\n[srcdoc]:https://buildstrap.readthedocs.io/en/latest/buildstrap.html\n\n## Nota Bene\n\nYou might wonder where does the `git hub clone` command comes from, and I'm\nusing here another project I wrote: [guyzmo/git-repo](https://github.com/guyzmo/git-repo).\n\nSimply put, `git hub clone user/project` is equivalent to `git clone https://github.com/user/project`.\n\n## License\n\n    Copyright © 2016 Bernard `Guyzmo` Pratz \u003cguyzmo+buildstrap+pub@m0g.net\u003e\n    This work is free. You can redistribute it and/or modify it under the\n    terms of the Do What The Fuck You Want To Public License, Version 2,\n    as published by Sam Hocevar. See the LICENSE file for more details.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguyzmo%2Fbuildstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguyzmo%2Fbuildstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguyzmo%2Fbuildstrap/lists"}