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.3.tar.gz (13.6 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.3-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dictlist2-1.0.3.tar.gz
  • Upload date:
  • Size: 13.6 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.3.tar.gz
Algorithm Hash digest
SHA256 8edd7fe985913260b2e5229a0a2233fc55783e771d42c0bd5cde8b1b09a0b6b9
MD5 c0775deea80b385bd64f138db87650b7
BLAKE2b-256 2adaa5d630d206262cb146ac7a1d9dc006297c3a8f73618c1d5336214e693665

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dictlist2-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dd68fdaaa29e3428d9bfe6583defa892b5d42e7c55724a06633c74a3d616193f
MD5 e484c5e074452bd274472ed56a8aaca9
BLAKE2b-256 f519bcffedcee1f4426c122f87c4a6f7ac987e2cb13d14035a97b08f57e63585

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