Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imerica/pipflow

Cloud native Python package manager.
https://github.com/imerica/pipflow

cli cloud-native command-line-tool container docker package-manager pip python

Last synced: 2 months ago
JSON representation

Cloud native Python package manager.

Awesome Lists containing this project

README

        

# PipFlow

## Background

Pipflow is built for developers who deploy their Python software using Docker and Cloud Native technologies. When
building docker images our constraints are:

- The more slim the image, the better.
- The less image layers, the better.
- Don't reinvent the wheel by installing a new package manager in your Dockerfile. These tools tend to use
lock files, which are fine in general, but in Docker they are redundant because we already have a way to
pin dependencies: Docker image layers.

This leave us with one option: Continue to use plain old `pip`, but create some new workflows that improve the
developer experience.

For example, Pipflow replaces this workflow:

$ pip3 install
$ pip3 freeze | grep >> requirements.txt
$ docker build ... # (A redudant install)

with this:

$ pipflow add

## Setup
Install `pipflow` on your *HOST OS only* (macOS, Windows, Linux etc). Do not add Pipflow to your `requirements.txt`.

pip3 install pipflow

## Usage

Add a new package

pipflow add

Remove a package

pipflow remove

Upgrade a package version

pipflow upgrade

Upgrade all packages

pipflow upgrade-all

Vew all packages eligible for upgrade

pipflow view-all

## License
MIT Copyright (c) 2021 Michael.