Skip to main content

Summary

This project is for content that needs to be iterated in two different ways. It allows two keys ("left" and "right") to be defined at the same time.

How to use

load()

Use load(path) to load a json file. Use load(path, validate=True) to check for duplicate keys.

Sample json content is:

[
    [
        "left3",    # <== the "left" key
        "right2",   # <== the "right" key
        "infoA"     # <== info for this entry & keys; Can be "null" if there is no info
    ],
    [
        "left2",
        "right3",
        null
    ],
]

save()

Use save(path) to save the current content to a json file.

add()

Use add(left, right, info) to add a new entry. The left and right keys have to be unique, otherwise an exception is thrown.

Note that info is optional add(left, right) or explicitly set to None.

all_by_left() and all_by_right()

To iterate in sorted order by the left key, use:

pds = PyDualSorter()
pds.load('path/to/file')
for left, right, info in pds.all_by_left():
    print(f'left key is  {left}')
    print(f'right key is {left}')
    print(f'info is      {info}')

To iterate in sorted order by the right key, use:

pds = PyDualSorter()
pds.load('path/to/file')
for left, right, info in pds.all_by_left():   # <== note that left key is still present
    print(f'left key is  {left}')
    print(f'right key is {left}')
    print(f'info is      {info}')

is_left() and is_right()

Use is_left(val) to check if a value is a left key. Use is_right(val) to check if a value is a right key.

get_left_info() and get_right_info()

Use info = pds.get_left_info(left) to get the info associated with the given left key. Use info = pds.get_right_info(right) to get the info associated with the given right key.

get_left() and get_right()

Use right = pds.get_right(left) to get the matching right key for the given left key. Use left = pds.get_left(right) to get the matching left key for the given right key.

Metadata

Release files for py-dual-sorter 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-dual-sorter 1.0.0
File Size Uploaded
py_dual_sorter-1.0.0.tar.gz 4.9 kB Details

Release files / py_dual_sorter-1.0.0.tar.gz

Download URL py_dual_sorter-1.0.0.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a226ed49fffa341590514f4be397f7aeb09ae80f347f84a79ecef310fe8315ac
BLAKE2b-256 checksum
How to use checksums
fa6ac8a501b6b3970c34f40818b6702352eff6183b9537a96b47a89d75496ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page