Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/darvid/reqwire
Wires up your pip requirements with pip-tools.
https://github.com/darvid/reqwire
dependencies dependency-manager pip python requirements requirements-management
Last synced: about 1 month ago
JSON representation
Wires up your pip requirements with pip-tools.
- Host: GitHub
- URL: https://github.com/darvid/reqwire
- Owner: darvid
- License: mit
- Created: 2016-12-02T04:38:57.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-10-21T18:07:50.000Z (about 3 years ago)
- Last Synced: 2024-10-13T02:08:10.619Z (2 months ago)
- Topics: dependencies, dependency-manager, pip, python, requirements, requirements-management
- Language: Python
- Homepage: http://reqwire.rtfd.io
- Size: 6.43 MB
- Stars: 16
- Watchers: 4
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
reqwire
=======.. image:: https://api.codacy.com/project/badge/Grade/1130364b44eb4fddb0091e060f84351a
:alt: Codacy Badge
:target: https://www.codacy.com/app/darvid/reqwire?utm_source=github.com&utm_medium=referral&utm_content=darvid/reqwire&utm_campaign=badger.. image:: https://img.shields.io/pypi/v/reqwire.svg
:target: https://pypi.python.org/pypi/reqwire.. image:: https://img.shields.io/pypi/pyversions/reqwire.svg
:target: https://pypi.python.org/pypi/reqwire.. image:: https://travis-ci.org/darvid/reqwire.svg?branch=master
:target: https://travis-ci.org/darvid/reqwire.. image:: https://img.shields.io/coveralls/darvid/reqwire.svg
:target: https://coveralls.io/github/darvid/reqwire.. image:: https://badges.gitter.im/python-reqwire/Lobby.svg
:alt: Join the chat at https://gitter.im/python-reqwire/Lobby
:target: https://gitter.im/python-reqwire/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge**reqwire** wires up your pip requirements with `pip-tools`_.
.. image:: https://asciinema.org/a/97035.png
:align: center
:target: https://asciinema.org/a/97035Install
-------From **PyPI**::
$ pip install -U reqwire
From **source**::
$ pip install -e git+https://github.com/darvid/reqwire.git#egg=reqwire
Features
--------* Manage multiple requirement source files, or *tags*
* Add requirements from the command line (à la ``npm --save``)
* Compile tagged source files with **pip-compile** (from `pip-tools`_)Rationale
---------Until `PEP 518`_ and `Pipfile`_ become reality, maintaining one or more
**requirements.txt** files for Python projects will continue to be
subject to personal preference and differing opinions on best practices
[#]_. Typical workflows involve maintaining multiple
**requirements.txt** files, and many projects have some form of tooling,
be it Makefile targets or external tools, such as Vincent Driessen's
excellent `pip-tools`_.**reqwire** is a glorified wrapper around pip-tools, and imposes a
slightly opinionated workflow:* Python requirements are split into *source files* and *built files*,
with the built files being the output from **pip-compile**, containing
pinned versions of the entire dependency graph. (Use ``reqwire init``
to quickly scaffold the necessary directory structure.)
* *Source files* (with the ``.in`` extension) represent a project's
immediate dependencies, and are always pinned to specific versions or
version ranges.
* Source filenames are synonymous with *tags*, which can be passed to
``reqwire add`` and ``reqwire build`` to maintain requirements for
entirely separate environments.Disclaimer
----------**reqwire** makes no claims about being designed specifically for
humans, bonobos, cats, or any other land mammal. This project is **not**
farm raised, free range, organic, low sugar, MSG free, gluten free,
halal, kosher, vegan, or particularly of any nutritional value
whatsoever. It just wraps `pip-tools`_ and helps you manage your freakin
Python requirements. ☮ 🌈Links
-----* `Source code `_
* `Documentation `_Roadmap
-------* Unit tests
* Provide a command to update requirements (user-specified version)
* Provide a command to freshen requirements
* Provide a command to combine tags to a single output file
(easily possible with **pip-compile**)
* Provide a utility for generating setup and runtime requirements in
setup.py scripts using setuptools.
* Abandon in favor of `Pipfile`_ 👌.. _pip-tools: https://github.com/nvie/pip-tools
.. _PEP 518: https://www.python.org/dev/peps/pep-0518/
.. _Pipfile: https://github.com/pypa/pipfile.. [#]
- http://nvie.com/posts/pin-your-packages/
- https://www.kennethreitz.org/essays/a-better-pip-workflow
- https://mail.python.org/pipermail/distutils-sig/2015-December/027954.html
- https://devcenter.heroku.com/articles/python-pip#best-practices