Metadata-Version: 2.4
Name: pip-sequencer
Version: 0.3.0
Summary: Record, replay, and export pip installation/uninstallation sequences.
Author-email: Rachill007 <rahilmaniar18@gmail.com>
Keywords: pip,virtualenv,venv,requirements,sequence,order,install,uninstall,dependencies,reproducible,environment
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Archiving :: Packaging
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: setuptools

# Pip Sequencer

[![PyPI version](https://badge.fury.io/py/pip-sequencer.svg)](https://badge.fury.io/py/pip-sequencer) <!-- Optional: Add this if/when you publish to PyPI -->
<!-- Optional: Add other badges like build status, license, etc. -->

Record, replay, and export pip installation/uninstallation sequences to help recreate Python virtual environments more predictably, especially when installation order matters.

## Overview

`pip-sequencer` wraps the standard `pip install` and `pip uninstall` commands. It meticulously records the packages you explicitly request (along with their installed versions for installs) in the order you perform these actions. This recorded sequence can then be used to:

1.  Replay the installations in a new environment.
2.  Export a filtered sequence representing the installation order of packages *currently* present in the environment.

This helps mitigate issues where dependency resolution might differ based on the order packages are installed.

## Features

*   Wraps `pip install` to record explicitly requested packages and their successfully installed versions.
*   Wraps `pip uninstall` to record packages explicitly requested for removal.
*   Stores the sequence of operations with timestamps in a JSON history file (`.pip_sequence.json`).
*   Provides a `replay` command to reinstall packages sequentially based on the history or an export file.
*   Provides an `export` command to generate a filtered sequence file (`pip_sequence_export.json`) containing the install steps for packages still present in the environment.
*   Generates a standard `requirements_frozen.txt` file during export for compatibility.

## Installation

You can install `pip-sequencer` directly from PyPI:

```bash
pip install pip-sequencer
