{"name": "PlanX", "package_name": "planx", "version": "2.11.0", "experimental": false, "qgis_min": "3.22.0", "qgis_max": "4.99.0", "downloads": 24, "uploaded_by": "geo140195philo", "upload_datetime": "2026-06-30T11:29:31.208875", "changelog": "## [2.11.0] - 2026-06-30\r\n\r\nInequality Curves: Lorenz / concentration curves and the Atkinson index\r\n(28 algorithms).\r\n\r\n### Added\r\n- **Inequality Curves (Lorenz & Atkinson)** (Equity group) \u2014 the\r\n  distributional view of any per-unit good (access score, green space per\r\n  capita, income\u2026), with an exportable curve to chart and a measure that lets\r\n  you set how much you weight the worst-off.\r\n  - Outputs the **Lorenz curve** as a table \u2014 cumulative population share vs\r\n    cumulative value share, bowing below the 45\u00b0 line of equality \u2014 and the\r\n    **Gini** coefficient (twice the area between them).\r\n  - Reports the **Atkinson index** at low/medium/high inequality aversion\r\n    (\u03b5 = 0.5, 1, 2) and at your own \u03b5: higher \u03b5 weights the lower tail more,\r\n    so the index reads as the share of total value society would trade to\r\n    equalise the distribution.\r\n  - A **rank field** (deprivation, income\u2026) switches it to a **concentration\r\n    curve and index**, revealing whether the value concentrates on the\r\n    advantaged or disadvantaged end (negative when it falls as rank rises).\r\n- `engine/equity.atkinson_index`, `lorenz_points`, `gini_from_lorenz` and\r\n  `concentration_index` \u2014 pure NumPy, population-weighted; a new\r\n  group-coloured tool icon.\r\n\r\n### Testing\r\n- Engine unit checks grown to **216**; end-to-end assertions to **166** on\r\n  QGIS 3.44 LTR and QGIS 4.0.2. The trapezoidal Gini is asserted equal to the\r\n  mean-difference Gini, and Atkinson against hand-computed geometric/harmonic\r\n  means.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/planx/version/2.11.0/download/"}