Skip to main content

Python SDK for accessing Freshsales

Project description

freshsales-sdk-py

Unofficial Python SDK for accessing Freshsales.

Warning: This is undergoing active development and we will accept contributions once things are a little stable.

Installation

  1. Download this project and use it (copy it in your project, etc).
  2. Install it from pip.
pip install freshsalessdk

Usage

To use this SDK you'll need these Freshsales credentials and your Freshsales domain (https://domain.freshsales.io). See official documentation for steps. We'll assume these are available via environment variables thusly:

export FS_API_KEY=xxx
export FS_DOMAIN=yyy

The following snippet shows you how to initialize and use the SDK.

from freshsalessdk import FreshsalesSDK
import os

fs = FreshsalesSDK(
    domain=os.getenv('FS_DOMAIN'),
    api_key=os.getenv('FS_API_KEY')
)

# get contact views
views = fs.contacts.get_views()

# get contacts in a view
view_id = 123
contacts = fs.contacts.get_all(view_id=view_id)
contacts = list(fs.contacts.get_all_generator(view_id=view_id))

# get specific contact
contact_id = 1232
contact = fs.contacts.get(id=contact_id)

# get contact activities
activities = fs.contacts.get_activities(id=contact_id)

# get account views
views = fs.accounts.get_views()

# get accounts in a view
view_id = 123
accounts = fs.accounts.get_all(view_id=view_id)
accounts = list(fs.accounts.get_all_generator(view_id=view_id))

# get one account
account_id = 1221
account = fs.accounts.get(id=account_id)

# get deal views
views = fs.deals.get_views()

# get deals in a view
view_id = 1212
deals = fs.deals.get_all(view_id=view_id)
deals = list(fs.deals.get_all_generator(view_id=view_id))

# get single deal
deal_id = 12121
deal = fs.deals.get(id=deal_id)

Code-hygiene, Tests and Code Coverage

To ensure that coding styles are followed, run the following command:

pylint --rcfile=.pylintrc freshsalessdk test

To run integration tests, you'll need to set FS_DOMAIN and FS_API_KEY environment variables. In addition, you should have a view with all objects "All Contacts" for contacts and similarly "All Accounts" for accounts and "All Deals" for deals. Then simply run:

python -m pytest

To get code coverage, run the tests thusly.

python -m pytest --cov=freshsalessdk

Which produces output like this:

---------- coverage: platform darwin, python 3.7.4-final-0 -----------
Name                             Stmts   Miss  Cover
----------------------------------------------------
freshsalessdk/__init__.py            3      0   100%
freshsalessdk/freshsalessdk.py     130      6    95%
----------------------------------------------------
TOTAL                              133      6    95%

We want to maintain more than 90% code coverage. To get lots of debugging data during tests, edit the pytest.ini file.

To get code coverage report in HTML, run this command:

python -m pytest --cov=freshsalessdk --cov-report html:cov_html

License

This project is licensed under the MIT License - see the LICENSE file for details

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

freshsalessdk-0.1.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

freshsalessdk-0.1.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file freshsalessdk-0.1.1.tar.gz.

File metadata

  • Download URL: freshsalessdk-0.1.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for freshsalessdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cb284edccc575f180bce6508df67f9475d38a404f759ebb2a422c91781ad90b5
MD5 75c993a15a681924748eec1030d8ccef
BLAKE2b-256 982222b6a5e13c0c00494ded211423c7f2d166ecb93428aee603850e28c6cd26

See more details on using hashes here.

File details

Details for the file freshsalessdk-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: freshsalessdk-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for freshsalessdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4a00a133dbe4f480ebb5e91c441fc7e8afb4275d8bdbbd8ab453337c0d88f2d1
MD5 ad0c366aa3e04ef0cef87af84572bb99
BLAKE2b-256 a58b3e756f9c01823f3dc0913bf3720342f5499a7ad627901a627dec044982a6

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