{"id":20828926,"url":"https://github.com/darvid/reqwire","last_synced_at":"2025-05-07T21:22:07.316Z","repository":{"id":52704101,"uuid":"75361156","full_name":"darvid/reqwire","owner":"darvid","description":"Wires up your pip requirements with pip-tools.","archived":false,"fork":false,"pushed_at":"2021-10-21T18:07:50.000Z","size":6740,"stargazers_count":16,"open_issues_count":6,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-06T23:11:27.519Z","etag":null,"topics":["dependencies","dependency-manager","pip","python","requirements","requirements-management"],"latest_commit_sha":null,"homepage":"http://reqwire.rtfd.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darvid.png","metadata":{"files":{"readme":"README.rst","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-12-02T04:38:57.000Z","updated_at":"2021-03-20T00:31:59.000Z","dependencies_parsed_at":"2022-08-22T07:01:14.788Z","dependency_job_id":null,"html_url":"https://github.com/darvid/reqwire","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darvid%2Freqwire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darvid%2Freqwire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darvid%2Freqwire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darvid%2Freqwire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darvid","download_url":"https://codeload.github.com/darvid/reqwire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252955166,"owners_count":21831062,"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":["dependencies","dependency-manager","pip","python","requirements","requirements-management"],"created_at":"2024-11-17T23:18:51.697Z","updated_at":"2025-05-07T21:22:07.287Z","avatar_url":"https://github.com/darvid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"reqwire\n=======\n\n.. image:: https://api.codacy.com/project/badge/Grade/1130364b44eb4fddb0091e060f84351a\n   :alt: Codacy Badge\n   :target: https://www.codacy.com/app/darvid/reqwire?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=darvid/reqwire\u0026utm_campaign=badger\n\n.. image:: https://img.shields.io/pypi/v/reqwire.svg\n   :target: https://pypi.python.org/pypi/reqwire\n\n.. image:: https://img.shields.io/pypi/pyversions/reqwire.svg\n   :target: https://pypi.python.org/pypi/reqwire\n\n.. image:: https://travis-ci.org/darvid/reqwire.svg?branch=master\n   :target: https://travis-ci.org/darvid/reqwire\n\n.. image:: https://img.shields.io/coveralls/darvid/reqwire.svg\n   :target: https://coveralls.io/github/darvid/reqwire\n\n.. image:: https://badges.gitter.im/python-reqwire/Lobby.svg\n   :alt: Join the chat at https://gitter.im/python-reqwire/Lobby\n   :target: https://gitter.im/python-reqwire/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n\n**reqwire** wires up your pip requirements with `pip-tools`_.\n\n.. image:: https://asciinema.org/a/97035.png\n   :align: center\n   :target: https://asciinema.org/a/97035\n\nInstall\n-------\n\nFrom **PyPI**::\n\n    $ pip install -U reqwire\n\nFrom **source**::\n\n    $ pip install -e git+https://github.com/darvid/reqwire.git#egg=reqwire\n\nFeatures\n--------\n\n* Manage multiple requirement source files, or *tags*\n* Add requirements from the command line (à la ``npm --save``)\n* Compile tagged source files with **pip-compile** (from `pip-tools`_)\n\nRationale\n---------\n\nUntil `PEP 518`_ and `Pipfile`_ become reality, maintaining one or more\n**requirements.txt** files for Python projects will continue to be\nsubject to personal preference and differing opinions on best practices\n[#]_. Typical workflows involve maintaining multiple\n**requirements.txt** files, and many projects have some form of tooling,\nbe it Makefile targets or external tools, such as Vincent Driessen's\nexcellent `pip-tools`_.\n\n**reqwire** is a glorified wrapper around pip-tools, and imposes a\nslightly opinionated workflow:\n\n* Python requirements are split into *source files* and *built files*,\n  with the built files being the output from **pip-compile**, containing\n  pinned versions of the entire dependency graph. (Use ``reqwire init``\n  to quickly scaffold the necessary directory structure.)\n* *Source files* (with the ``.in`` extension) represent a project's\n  immediate dependencies, and are always pinned to specific versions or\n  version ranges.\n* Source filenames are synonymous with *tags*, which can be passed to\n  ``reqwire add`` and ``reqwire build`` to maintain requirements for\n  entirely separate environments.\n\n\nDisclaimer\n----------\n\n**reqwire** makes no claims about being designed specifically for\nhumans, bonobos, cats, or any other land mammal. This project is **not**\nfarm raised, free range, organic, low sugar, MSG free, gluten free,\nhalal, kosher, vegan, or particularly of any nutritional value\nwhatsoever. It just wraps `pip-tools`_ and helps you manage your freakin\nPython requirements. ☮ 🌈\n\n\nLinks\n-----\n\n* `Source code \u003chttps://github.com/darvid/reqwire\u003e`_\n* `Documentation \u003chttp://reqwire.rtfd.io\u003e`_\n\n\nRoadmap\n-------\n\n* Unit tests\n* Provide a command to update requirements (user-specified version)\n* Provide a command to freshen requirements\n* Provide a command to combine tags to a single output file\n  (easily possible with **pip-compile**)\n* Provide a utility for generating setup and runtime requirements in\n  setup.py scripts using setuptools.\n* Abandon in favor of `Pipfile`_ 👌\n\n\n.. _pip-tools: https://github.com/nvie/pip-tools\n.. _PEP 518: https://www.python.org/dev/peps/pep-0518/\n.. _Pipfile: https://github.com/pypa/pipfile\n\n.. [#]\n\n\t- http://nvie.com/posts/pin-your-packages/\n\t- https://www.kennethreitz.org/essays/a-better-pip-workflow\n\t- https://mail.python.org/pipermail/distutils-sig/2015-December/027954.html\n\t- https://devcenter.heroku.com/articles/python-pip#best-practices\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarvid%2Freqwire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarvid%2Freqwire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarvid%2Freqwire/lists"}