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.1.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.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dictlist2-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f698bcdb3e8c03d3489b90040dcfbd4c0994d72276a3ceaebd982053b7b1695c
MD5 f4c14de45e897da9c4e42fb5b3e1ba13
BLAKE2b-256 e09f5f9127715f12febfc56cbb2f5dfe31bfd85273c2536277b3ce5db36dbc1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dictlist2-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5e46e98730eac747929951f13240c397a0b81d2bddff27a7983ac92217e3060d
MD5 f55d52dc04741616bdc52be4ff30645c
BLAKE2b-256 7f3d2455f57c1789b104b5ab85ece1b682b01f8356d278ce27f31598c383f308

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