Skip to main content

Python wrapper on the Nutshell CRM JSON RPC API

Project description

Nutshell API

This is a work-in-progress attempt at a pythonic API for querying the Nutshell CRM API. It does not yet support modifying data in a Nutshell instance.

Installation

pip install nutshell

Usage

  • Initialize the API instance with your credentials
  • Create an instance of the method(s) you want to call
  • Pass a single method instance, or a collection of methods to the api_calls property of the API class
  • Execute the method calls on API with the call_api() method
    • aiohttp is used to make the API calls asynchronous
  • Unpack the results
import os

from rich import print

import nutshell
from nutshell import methods

find_activities = methods.FindActivityTypes()
ns = nutshell.NutshellAPI(os.getenv("NUTSHELL_USERNAME"), password=os.getenv("NUTSHELL_KEY"))
ns.api_calls = find_activities
activity_types = ns.call_api()
print(activity_types)

Results are returned as a list of namedtuples with fields method and response. and all responses have a result attribute that contains the data returned by the API.

[
    MethodResponse(
        method=FindActivityTypes(
            api_method='findActivityTypes',
            order_by='name',
            order_direction='ASC',
            limit=50,
            page=1,
            params={
                'orderBy': 'name',
                'orderDirection': 'ASC',
                'limit': 50,
                'page': 1
            }
        ),
        response=FindActivityTypesResult(
            result=[
                ActivityType(
                    stub=True,
                    id=1,
                    rev='1',
                    entity_type='Activity_Types',
                    name='Phone Call / Meeting'
                ),
                ActivityType(
                    stub=True,
                    id=3,
                    rev='3',
                    entity_type='Activity_Types',
                    name='Email/Log'
                ),
            ]
        )
    )
]

TODO

  • Gracefully handle errors on method queries
  • Convenience methods for common queries (Users, Leads, etc.)

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

nutshell-0.4.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

nutshell-0.4.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file nutshell-0.4.0.tar.gz.

File metadata

  • Download URL: nutshell-0.4.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for nutshell-0.4.0.tar.gz
Algorithm Hash digest
SHA256 87e710d098e3bc117326077502f942f8887a8e38c5272b2267350545d12eb101
MD5 f49d8244e2572b3bdce5957b12a70aa1
BLAKE2b-256 e5f89aeca6a211f16833f9caf0fcec1d1fa97f19b9418a839c43450b75986eb8

See more details on using hashes here.

File details

Details for the file nutshell-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: nutshell-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for nutshell-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce442a847c040e979603dc9e475b12603300e509eedafa9bf889530849f7e875
MD5 763008277a5bd1400449ee195d462eeb
BLAKE2b-256 c7b25634606c23b855c93f193734bee00cd9325364674749aa96a401031e7dba

See more details on using hashes here.

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