npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@dra2020/dra-analytics

v4.1.2

Published

DRA analytics

Downloads

68

Readme

dra-analytics

This repo & package consolidates all the metrics used in DRA analytics into one place. It started as v2, because v1 was delivered by a combination repos & packages:

  • district-analytics
  • dra-score
  • dra-graph
  • compactness, and
  • racial voting

The goals of this consolidation were to make the analytics code:

  1. More transparent -- easier to show/explain
  2. More maintainable -- easier to support
  3. More general -- easier to re-use, because the DRA-specific parts are clearly isolated & there is a CLI

Because the partisan analytics can now be calculated at a command line, independent of any tool, you can compute them for several elections, one at a time, and then generate statistics for them.

Details

This repo & package can be integrated into other tools. The libraries here are normally included like this:

import { Compactness, Equal, Graph, Minority, Partisan, Splitting } from '@dra2020/dra-analytics';

Then the various functions of the different sets are available under their appropriate symbol.

These are all the libraries:

  • Compactness: Various measures of compactness.
  • Equal: Population deviation & 'roughly' equal population.
  • Graph: Checks for contiguity & embeddedness.
  • Minority: The opportunity for minorities to elect representatives of their choice and racially polarized voting analysis.
  • Partisan: Various measures of partisan bias & responsiveness, as well as support for rank-vote graphs and seats-votes curves.
  • Rate: Normalization utilities as well as DRA-specific ratings.
  • Splitting: County- & district-splitting and COI splitting.

Supporting types are in the Types library and supporting utilities are in the Utils library.

The analytics in DRA include metrics favored by many scholars.

A command-line interface (CLI) was added in v3.

Updates

  • 12/18/21 -- Added multi-member district (MMD) support to makePopulationScorecard().

Build status for master branch

CircleCI

Repo contents

There are three packages that are part of this repo:

  1. lib: building dra-analytics.js, the production code
  2. cli: building dra-<command>.bundle.js, a set of command line utilities
  3. test: automated test code run by jest

Developing in this repo

npm install install all dependencies

npm run build build all bundles

npm run buildpartisan build the partisan command

npm run buildcompactness build the compactness command

npm run buildsplitting build the splitting command

npm run test run automated jest tests