Skip to main content

PLOD - Brief Introduction

PLOD is a simpler and easier way to manipulate lists of dictionaries. PLOD stands for Pythonic Lists of Dictionaries.

Why Lists of Dictionaries? Why PLOD?

Increasingly, software is passing more complex data stores between machines and between processes. Examples include RESTful XML, JSON/MongoDB, Google protobuf, RabbitMQ, etc.

These data stores can include lists of collections, and each collection can have many attributes/values. In Python, these are often internally represented as a list containing dictionaries. For example, if you needed to represent a list of fruits available for purchase:

fruits = [
    {"name": "bannana", "color": "yellow", "qty": 9,  "sizes": [2, 2.4, 3]},
    {"name": "cherry",                     "qty": 40, "sizes": [3, 2, 9]},
    {"name": "lime",    "color": "green",  "qty": 2,  "sizes": [2]},
]

One could, of course, pass such a structure into a SQL database such as MySQL or PostgreSQL for manipulation. But that can be overkill for a small amount of temporary data, especially when the infrastructure requirements are light and response time is critical. In that case, manipulating such a list might make more sense to do in-memory within Python itself.

If it is simple enough, one could do so directly using Python. For example:

abundant_fruit = [f for f in fruits if f['qty']>5]

But, if the program you are writing does such manipulations regularly, and those manipulations are somewhat more complex, then PLOD might be worth using. To mimic the previous example, this time with PLOD:

from PLOD import PLOD
abundant_fruit = PLOD(fruit).gt('qty',5).returnList()

Or a more complex example:

from PLOD import PLOD
my_fruit = PLOD(fruit).sort("color").contains("sizes", [3]).renumber("id", insert=True).returnList()

Here the list is sorted by color (missing colors at the top), filtered to entries with a size 3, and renumbered with a new key called “id”.

Installation

Install _PLOD_ using pip:

pip install PLOD

How to Use

In general, one simply:

  1. Creates an instance of the PLOD class.

  2. Chains together methods of the class to manipulate the list.

  3. Uses a “return” method to get the results you want.

For example, to sort a list:

from PLOD import PLOD
my_list = PLOD(fruits).sort("qty").returnList()

Or, to get a string with comma-separated values with a filter:

from PLOD import PLOD
csv = PLOD(fruits).gt('qty', 1).returnCSV(keys=['name', 'sizes'])

For more detailed information, please visit the Documentation and Library Reference

Other Resources

Metadata

Release files for PLOD 0.1.7

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

Source distribution (sdist)

Source distribution for PLOD 0.1.7
File Size Uploaded
PLOD-0.1.7.tar.gz 12.9 kB Details

Release files / PLOD-0.1.7.tar.gz

Download URL PLOD-0.1.7.tar.gz
Size 12.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5ed4f71aee6dfd7b22998b7f3e75ba38cfb155778d6a6c1b5934c47944f77a72
BLAKE2b-256 checksum
How to use checksums
9ee4ee8d521393dc1dcc5d61adc31e8d281e0a890c0f54d57a98e09e39cdd508
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.7 This release

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

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