Skip to main content

A simple python library for getting caller ID name information using the opencnam API.

Project description

A simple python library for getting caller ID name information.

This library uses [opencnam](http://www.opencnam.com “opencnam”) as a backend.

## Installation

Install from PyPi using [pip](http://www.pip-installer.org/en/latest/), a package manager for Python.

$ pip install opencnam

Don’t have pip installed? Try installing it, by running this from the command line:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Or, you can [download the source code (ZIP)](https://github.com/telephonyresearch/python-opencnam/zipball/master “opencnam source code”) for opencnam, and then run:

$ python setup.py install

You may need to run the above commands with sudo.

## Usage

Using python-opencnam is easy:

from opencnam import Phone

phone = Phone('2024561111')
print phone.number, phone.cnam

The main object, Phone, defined in the opencnam module accepts a phone number as input, and (behind the scenes) queries the [opencnam](http://www.opencnam.com “opencnam”) API to set the Phone.cnam attribute.

To make things insanely easy, python-opencnam transparently handles phone number validation–so you can create a Phone object using any phone number you can possibly imagine, as long as it can be cleaned up into a valid, 10-digit, US phone number.

For example:

from opencnam import Phone

phone = Phone('+1 (818)-217 \\\\9229')
assert phone.number == '8182179229'

The way the number cleaning algorithm works is:

  • Remove all non-integer characters.

  • Grab the last 10 digts of the string.

  • Make sure those 10 digits are a valid US phone number.

So you can go crazy with input, and not worry about getting an opencnam.InvalidPhoneNumberError exception unless the phone number cannot be made valid.

## Limits

The [opencnam](http://www.opencnam.com “opencnam”) API we use as a backend limits you to no more than 60 requests per minute (using their free tier). When they release a paid API, you’ll have the option of specifying API creds to make unlimited requests.

## Changelog

v0.1: 2-26-2012

  • Initial release!

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

opencnam-0.1.tar.gz (5.5 kB view hashes)

Uploaded source

Supported by

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