Skip to main content

It is a lightweight Python library that extends the built-in list for convenient work with arrays of dictionaries.

Project description

DictList2

DictList2 — это лёгкая Python-библиотека, расширяющая стандартный список для удобной работы с массивами словарей.

Возможности

  • 📦 unique() — исключает дубликаты по всем полям;
  • 🔢 sort() — сортировка по одному или нескольким ключам;
  • 🎯 distinct() — уникальные значения по выбранным полям;
  • 🔍 filter() — фильтрация по условиям;
  • 🔄 gen_filter() — группировка с возможностью сортировки;
  • 🔗 join() / left_join() — объединения списков по ключу;
  • 🧮 group_by() — группировка с подсчётом суммы;
  • 📊 aggregate() — универсальная агрегация: sum, count, avg, min, max.

Установка

pip install dictlist2

Пример использования

from dictlist2 import DictList2

data = DictList2([
    {"project": "A", "user": "Anna", "hours": 2},
    {"project": "A", "user": "Ivan", "hours": 3},
    {"project": "B", "user": "Anna", "hours": 4},
    {"project": "A", "user": "Anna", "hours": 1},
])

# Группировка с агрегацией
result = data.aggregate(
    group_columns="project",
    aggregations={"hours": ["sum", "avg"], "user": "count"}
)

for row in result:
    print(row)

Когда использовать DictList2?

  • Обработка данных из баз данных или API.
  • Построение отчётов без использования Pandas.
  • Быстрая фильтрация, группировка и агрегация словарей.

Совместимость

  • Python 3.10+
  • Без внешних зависимостей

Лицензия

MIT License

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

dictlist2-1.0.2.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dictlist2-1.0.2-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file dictlist2-1.0.2.tar.gz.

File metadata

  • Download URL: dictlist2-1.0.2.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for dictlist2-1.0.2.tar.gz
Algorithm Hash digest
SHA256 50e8d3fb1373e3b2fc4f46d9d275798590cd0d3f8e8ced388ea82a0ce777f1c1
MD5 cd84304720b0d7efb292e7c6118dde88
BLAKE2b-256 080e7394e2c7000ed728ecc4eb9a6f4c0ebe4a005c85f57ab080e427043a28d3

See more details on using hashes here.

File details

Details for the file dictlist2-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: dictlist2-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for dictlist2-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5df6884c0b50f816bdea445afaa396bd3ae793f85af7913dfccc65c19a1fc710
MD5 49e4f171bf89a46669237145e47ba3e8
BLAKE2b-256 94b98103052b0874003af71cce110b6fbb34284f4461e9c4eba7d0f09108675e

See more details on using hashes here.

Supported by

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