Skip to main content

A client for the Harvest API (getharvest.com)

Project description

Harvest API client
===================================

A Python library for Harvest's API (getharvest.com) which supports OAuth2 authentication. It's inspired by https://github.com/lann/Harvest and has some distinctions:

* Supports Python 3x
* Supports Oauth2
* Has tests coverage

It doesn't support the basic authentication.

How to install
-----

```
$ pip3 install harvest_api_client
```

How to use it
-----

**Get the access and refresh tokens and put them in a file:**

```
{
"access_token": {
"last_refresh_time": "2015-04-20T00:18:52.494946",
"value": "[your access token]"
}, "refresh_token": {
"last_refresh_time": "2015-04-20T16:02:30.831858",
"value": "[your refresh token]"
}
}
```
**And you're ready to go:**

```python
from datetime import datetime, timedelta
from harvest_api_client import Harvest

client_secret = 'your secret token'
client_id = 'your client id'
tokens_file_name = 'tokens.json'

h = Harvest(client_secret=client_secret, client_id=client_id, tokens_file_name=tokens_file_name)
u1 = h.find_user('user1_first_name', 'user1_last_name')
# => <harvest_api_client.harvest.User object at 0x108cb2da0>

u2 = h.find_user('aaa', 'bbb') # <class 'NoneType'>
# => <class 'NoneType'>

print("\nProjects...")
for p in h.projects():
print(p)

print("\nUsers...")
for u in h.users():
print(u)
date1 = datetime(2013, 1, 1)
date2 = datetime(2015, 11, 11)

print("\nEntries...")
for e in u.entries(date1, date2):
print(e)
```


Source
-----

The source is available at https://github.com/GildedHonour/harvest-api-client


License
-----

The MIT License (MIT)

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
harvest_api_client-1.1.3.tar.gz (5.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page