Metadata-Version: 2.4
Name: minimindslab-ordered-set-diff
Version: 0.1.0
Summary: Deterministically compare two iterable inputs as ordered de-duplicated sequences and report added, removed, and common items while preserving first-seen order.
Author: MiniMindsLab
License: MIT
Keywords: diff,ordered,set,deduplicate
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# MiniMindsLab Ordered Set Diff

Deterministically compare two iterable inputs as ordered de-duplicated sequences and report:

- `added`: items only in the second iterable
- `removed`: items only in the first iterable
- `common`: items present in both

Order is based on **first-seen appearance** in each input.

## Install

This package is standard-library only and targets Python 3.11+.

## Usage

```python
from minimindslab_ordered_set_diff import ordered_unique, ordered_set_diff

left = ["a", "b", "a", "c", None]
right = ["b", "d", None, "d", "a"]

print(ordered_unique(left))
# ['a', 'b', 'c', None]

result = ordered_set_diff(left, right)
print(result)
# {
#   'left_unique': ['a', 'b', 'c', None],
#   'right_unique': ['b', 'd', None, 'a'],
#   'added': ['d'],
#   'removed': ['c'],
#   'common': ['a', 'b', None]
# }
```

## API

- `ordered_unique(iterable) -> list`
- `ordered_set_diff(left, right) -> dict[str, list]`

Inputs should contain hashable items.
