Metadata-Version: 2.1
Name: cireqs
Version: 2.0.3
Summary: cli tool to verify and update requirements files
Home-page: https://github.com/trustpilot/python-cireqs
Author: jgv
Author-email: jgv@trustpilot.com
License: UNKNOWN
Description: |Build Status| |Latest Version| |Python Support|
        
        cireqs
        ======
        
        Tool to expand and pin requirements files and verify that they are
        complete.
        
        Installation
        ------------
        
        Install from `pypi <https://pypi.python.org/pypi/cireqs>`__.
        
        ``pip install cireqs``
        
        Cireqs needs a working install of docker locally.
        
        Usage
        -----
        
        Use cireqs to expand and pin down your dependencies.
        
        You can then check in the resulting requirements file and stop worrying
        about floating versions.
        
        .. code:: bash
        
            cireqs --dirpath /tmp expand input_requirements_filename output_requirements_filename
        
        Use cireqs to verify that a requirements file is pinned down and
        includes all requirements of requirements.
        
        .. code:: bash
        
            cireqs verify input_requirements
        
        Defaults
        ^^^^^^^^
        
        Cireqs uses overridable defaults:
        
        -  **dirpath:** set to current working directory (``PWD``)
        -  **pythonversion:** set to ``3.6.1``
        -  **output\_requirements\_filename:** set to ``requirements.txt``
        -  **input\_requirements\_filename:** set to:
        -  
        
           -  ``requirements.txt`` in *verify*
        
        -  
        
           -  ``requirements_to_expand.txt`` in *expand*
        
        private packages
        ----------------
        
        To install private packages like with Gemfury you have to inject your
        private access token as an env var to cireqs, use the **--envar**
        (``-e``) option to pass in env-vars to the pip install process. you can
        specify them in the following ways:
        
        ::
        
            cireqs --envar foo=bar
        
        Will set the envvar foo to the value bar
        
        ::
        
            cireqs --envvar foo
        
        will set the envvar foo to the value of the hosts ``foo`` env var.
        
        Gemfury example
        ~~~~~~~~~~~~~~~
        
        create a requirements\_to\_expand.txt file with the following contents:
        
        ::
        
            --index-url https://${GEM_FURY_TOKEN}@pypi.fury.io/trustpilot/
            --extra-index-url https://pypi.org/simple/
            secret_private_package
        
        to expand run
        
        ::
        
            cireqs --envvar GEM_FURY_TOKEN expand
        
        And cireqs will inject the hosts value of ``GEM_FURY_TOKEN`` into the
        ``expand`` process.
        
        Continuous Integration
        ----------------------
        
        Use it in your **CI** of choice!!!
        
        **travis**
        
        .. code:: yaml
        
            services:
              - docker
        
            before_script:
              - pip install cireqs
        
            script:
              - cireqs verify
        
        CLI
        ---
        
        Cireqs includes the ``cireqs`` command:
        
        ::
        
            Usage: cireqs [OPTIONS] COMMAND [ARGS]...
        
            Options:
              --pythonversion TEXT  python version to use for calculating dependencies,
                                    defaults to 3.6.1
              --dirpath TEXT        path to directory containing requirement files,
                                    defaults to PWD
              --timeout INTEGER     how long to wait for docker commands, defaults to 120s
              -e, --envvar TEXT     environment var ENV_VAR=VALUE (or ENV_VAR to copy
                                    env_var), multiple allowed, defaults to None
              -V, --version         show version and exit
              --dry                 print out docker command line without running it
              -v, --verbosity LVL   Either CRITICAL, ERROR, WARNING, INFO or DEBUG
              --help                Show this message and exit.
        
            Commands:
              expand               Expand given requirements file by extending...
              expand_requirements
              verify               Verifying that given requirements file is not...
              verify_requirements
        
        .. |Build Status| image:: https://travis-ci.org/trustpilot/python-cireqs.svg?branch=master
           :target: https://travis-ci.org/trustpilot/python-cireqs
        .. |Latest Version| image:: https://img.shields.io/pypi/v/cireqs.svg
           :target: https://pypi.python.org/pypi/cireqs
        .. |Python Support| image:: https://img.shields.io/pypi/pyversions/cireqs.svg
           :target: https://pypi.python.org/pypi/cireqs
        
        
        History
        =======
        
        0.0.1 (2017-08-09)
        ------------------
        
        * git init
        
        
        0.0.2 (2017-08-09)
        ------------------
        
        * missing manifest file
        
        0.0.3 (2017-08-10)
        ------------------
        
        * readme changes
        * cli splash changes
        * make cireqs functions pass python version to docker_execute
        * pass timeout param from cli to cireqs
        
        0.0.4 (2017-08-10)
        ------------------
        
        * tox testing for py27, py33, py34, py35, py36
        * more thorough diffing of requirements files
        * more tests
        * use prospector for linting
        
        0.1.3 (2017-08-11)
        ------------------
        
        * single source version in setup.py and cli
        
        0.2.2 (2017-08-14)
        ------------------
        
        * default timeout value for docker operations increased to 120 seconds (from 10)
        
        1.0.0 (2017-11-01)
        ------------------
        
        * introduce verify and expand and deprecate verify_requirements and expand_requirements by showing warnings
        * message when commands are successful
        
        1.0.3 (2018-03-26)
        ------------------
        
        * Handle pip giving an upgrade warning
        
        1.0.4 (2018-07-24)
        ------------------
        
        * Upgrade pip before installing requirements to avoid upgrade error.
        
        2.0.0 (2018-12-14)
        ------------------
        
        * added --dry option for running dry (printing docker cmd line)
        * added -V for printing version
        * added --envvar (-e) for injecting env vars into the docker container running pip install, useful for private repos like in Gemfury.io
        
        2.0.1 (2018-12-14)
        ------------------
        
        * warns and exits on missing input_requirements file
        
        2.0.2 (2018-12-14)
        ------------------
        
        * warns and exits on package requiring different pythonversion than specified
        
        2.0.3 (2018-12-17)
        ------------------
        
        * avoid using alpine linux as bse image since its compiled without gcc (makes it impossible to install UVLOOP for instance)
Keywords: cireqs requirements ci
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Provides-Extra: test
