Skip to main content

A system to bind aliases to indexes of headers in a matrix

Project description

HeaderIndexer

A system to bind aliases to indexes of headers in a matrix.

Given a dict of header aliases paired to the actual header value (or an iterable of possible values) creates a dict with entries {'alias': column_index}

Includes interactive prompts to manually select headers when unable to find, and optional duplicate checks for aliases sharing indexes

Installation

pip install headerindexer

Using HeaderIndexer

from headerindexer import HI
indexer = HI()
headers = ["Date", "OS", "TrackingID", "DNSHostname", b"DNSHostname", 77]
aliases = {
   b'hostname':     ["DNSHostname", b'DNSHostname'],
   "track":        ("1TrackingID1", 'TrackingID'),
   "OS":           "OperatingSystem",
   7:              77
}
aliases_to_indexes = indexer.run(headers, aliases)

Assume we've extracted a row of headers from a spreadsheet. Create a dictionary like aliases, and pass them both to indexer (HI.run())

# aliases_to_indexes, generated above
{b'hostname': 3, 'track': 2, 'OS': 1, 7: 5}

The returned dictionary can be used to reliably call on the appropriate column by given aliases

Headers not found/Duplicates headers

By default, when an alias' header cannot be located headerindexer will prompt the user to manually select from a list of all headers, one by one

Additionally HI.allow_duplicates can be set to False in or after init, enabling a similar mode of prompting whenever two or more aliases share the same index value

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

headerindexer-0.1.5.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

headerindexer-0.1.5-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file headerindexer-0.1.5.tar.gz.

File metadata

  • Download URL: headerindexer-0.1.5.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for headerindexer-0.1.5.tar.gz
Algorithm Hash digest
SHA256 93ea5509df82deae1a6acb49f70b94d7703e70cffb88b3b4df27450ce0a295ba
MD5 5936177fca1bcee2da936e0e0ce0ba35
BLAKE2b-256 7034ddb0a60f1c9c69acf95ac04dd1b14f3f4f2a4db10c8842688701d9d033df

See more details on using hashes here.

File details

Details for the file headerindexer-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: headerindexer-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for headerindexer-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 eaeac2ff21cda352ed21d60b0a51f3d5716672ebf262a92a8be7fdbbacd3ddbe
MD5 171cfdc1fbc936d8195acb62085ad016
BLAKE2b-256 793619455afff86fe2f226405444041a05110403608fbd60faf8a15177cc1568

See more details on using hashes here.

Supported by

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