Skip to main content

For the organized, but lazy developer, meaning that you'll update a package, but you don't want to be bothered with updating the requirements file. Pip Freezer pins packages no matter which requirements file they live in and maintains your comments and line breaks.

Project description

Pip Freezer

Author:Tim Santor tsantor@xstudios.com

Overview

For the organized, but lazy developer, meaning that you'll update a package, but you don't want to be bothered with updating the requirements file. Pip Freezer pins packages no matter which requirements file they live in and maintains your comments and line breaks.

NOTE: Plays nice with Django Cookiecutter.

Background

We all have our preferences with how we manage package dependencies. There is the awesome Poetry, but there are still those of us who like to manually manage requirements with comments in various files such as requirements.txt, requirements_dev.txt. requirements_test.txt, or even requirements/base.txt, requirements/local.txt and requirements/production.txt or other similar variations.

Simply running pip freeze > requirements.txt is not of much use if you like to be organized and only pin what you've manually defined as a "top-level" dependency (and not its sub-dependencies).

Running pipfreezer will only pin packages defined in your requirements files.

NOTE: pipfreezer does not do any upating of packages itself, you can use pip install -U package-name or something like pip-review. You would manually update packages and then run pipfreezer to auto-update those in your requirements files.

Installation

To install Pip Freezer, simply use pip:

pip install pipfreezer

Usage

In the root of your project, run:

pipfreezer

NOTE: pipfreezer will not add or pin packages that you have not already defined in one of your requirements files. This is intentional.

Issues

If you experience any issues, please create an issue on Bitbucket.

History

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

0.1.0 (2017-12-04)

  • First release on PyPI.

0.2.0 (2018-02-25)

  • Code cleanup and Python 2/3 support.

0.3.0 (2021-09-10)

  • Major re-release. This package behaves NOTHING like the previous.

0.3.1 (2021-09-10)

  • Too hasty. Remove some print statements.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip-freezer-0.3.1.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

pip_freezer-0.3.1-py2.py3-none-any.whl (5.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page