/bulk_mapper

Altdg bulk mapping tool for the merchant and domain mapper API https://developer.altdg.com/

Primary LanguagePython

AltDG API Python Tools

Command-line tool with methods to consume the AltDG API in bulk.

© Alternative Data Group. All rights reserved.

Contents

Requirements

Python 3.6+

See also requirements.txt

Installation

Run the following commands in your shell:

# install as usual python package
pip install altdg

# ... or install "altdg" package directly from repo
pip install git+https://github.com/altdg/bulk_mapper.git

# ... or if you want to get samples for testing, clone the repo
git clone https://github.com/altdg/bulk_mapper.git altdg
pip install -e altdg

Now everything is ready to run the tool.

Authorization

To use this tool you must have a valid app key to the AltDG API. Methods are available depending on you account type with AltDG.

Free tier key

Use this key to try the API for free: f816b9125492069f7f2e3b1cc60659f0

Sign up at https://developer.altdg.com/ to get a non-trial key.

Usage

A preferred way to run the tool is to load it as module with the python command.

Run the tool with --help flag to display command's usage:

altdg --help

Domain mapper

Maps domain names from given text to structured company information.

More details in https://developer.altdg.com/docs#domain-mapper

This will run all the domains in the provided text file (one per line expected):

altdg -e domain-mapper sample-domains.txt -k "f816b9125492069f7f2e3b1cc60659f0"

Sign up at https://developer.altdg.com/ to get a non-trial key.

A CSV output file will be created automatically with the same path as the input file but prepending the current date.

sample-domains.txt is a sample list of domains we included in our repo. This file is downloaded as part of this package, no need to re-create it.

Merchant mapper

Maps strings from transactional purchase text (e.g. credit card transactions) to structured company information.

More details in https://developer.altdg.com/docs#merchant-mapper

altdg -e merchant-mapper sample-merchants.txt -k "f816b9125492069f7f2e3b1cc60659f0"

Sign up at https://developer.altdg.com/ to get a non-trial key.

A CSV output file will be created automatically with the same path as the input file but prepending the current date.

sample-merchants.txt is a sample list of domains we included in our repo. This file is downloaded as part of this package, no need to re-create it.

Product mapper

Maps strings from product related text (e.g. inventory) to structured company information.

More details in https://developer.altdg.com/docs#product-mapper

altdg -e product-mapper sample-products.txt -k "f816b9125492069f7f2e3b1cc60659f0"

Sign up at https://developer.altdg.com/ to get a non-trial key.

A CSV output file will be created automatically with the same path as the input file but prepending the current date.

Command arguments (options)

Arguments:

  • -e <endpoint> --endpoint Type of mapper. Choices are "merchant-mapper", "domain-mapper" and "product-mapper".
  • -k <key> --key AltDG API application key.
  • -o <filename> --out Output file path. If not provided, the input file name is used with the ".csv" extension, prepended with the date and time.
  • -F --force When providing a specific out_file, some results may already exist in that file for an input. Use this option to force re-process results that are already in that output file, otherwise existing results won't be processed again. Previous results are NOT overwritten, a new CSV row is added.
  • -n --num-threads Number of requests to process in parallel. (See --help for max and default)
  • -r --num-retires Number of retries per request. (See --help for max and default)
  • -t --timeout API request timeout (in seconds). (See --help for max and default)
  • -th <hint> --type-hint Improves the accuracy by providing the industry name or any keyword hint relevant to the inputs. E.g. -th "medical"

Usage as library

You may use AltdgAPI class from your python program:

from altdg.api import AltdgAPI

# initialize Mapper class with your key
mapper = AltdgAPI('domain-mapper', api_key='f816b9125492069f7f2e3b1cc60659f0')

# single query
print(mapper.query('abc.com'))

# single query with hint
print(mapper.query('abc.com', hint='news'))

# bulk query
print(mapper.bulk_query(['yahoo.com', 'amazon.com']))

# bulk query with same hint for all inputs
print(mapper.bulk_query(['yahoo.com', 'amazon.com'], hint='company'))

# bulk query with overwriting hint
print(mapper.bulk_query([
    ('purple mint', 'restaurant'),  # (input, hint) tuple
    'amazon',  # just input with base hint
], hint='company'))  # base hint

Support

Please email info@altdg.com if you need to contact us directly.