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
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87e710d098e3bc117326077502f942f8887a8e38c5272b2267350545d12eb101 |
|
MD5 | f49d8244e2572b3bdce5957b12a70aa1 |
|
BLAKE2b-256 | e5f89aeca6a211f16833f9caf0fcec1d1fa97f19b9418a839c43450b75986eb8 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce442a847c040e979603dc9e475b12603300e509eedafa9bf889530849f7e875 |
|
MD5 | 763008277a5bd1400449ee195d462eeb |
|
BLAKE2b-256 | c7b25634606c23b855c93f193734bee00cd9325364674749aa96a401031e7dba |