Skip to main content

A super simple Freckle/Noko API client implementation.

Project description

Noko Client

Documentation Status

A simple Noko (formerly Freckle) API client implementation. Offers two different clients with different levels of flexibility to interact with the Noko API v2.

Full documentation on the NokoClient can be found here.

Installation

To get the latest stable release from PyPi:

pip install python-freckle-client

Requirements:

Version v0.5.0 and lower requires at least Python 3.8. Version v1.0.0 and upper require Python 3.10 and Pydantic v2.

Usage

The package offers three different clients:

  • NokoClient (Noko's v2 API)
  • FreckleClientV2 (Noko's v2 API)
  • FreckleClient (Noko's v1 API) <- Deprecated!

To use the NokoClient, just import the client, create an instance and call the desired method:

from noko_client.client import NokoClient

client = NokoClient('access_token')
entries = client.list_entries(from_="2023-08-01", to=datetime(2023, 8, 15))

To use the FreckleClient or the FreckleClientV2, just import the client, create an instance and call the fetch_json method:

from freckle_client.client import FreckleClient

client = FreckleClient('account_name', 'api_token')
entries = client.fetch_json(
    'entries',
    query_params={
        'per_page': 1000,
        'search[from]': '2015-01-01',
        'search[to]': '2015-01-31',
        'search[projects]': [1423, 24545, ],
    }
)

Similarly, to use the V2 API:

from freckle_client.client import FreckleClientV2

client = FreckleClientV2('access_token')
entries = client.fetch_json(
    'entries',
    query_params={
        'from': '2015-01-01',
        'to': '2015-01-31',
        'billable': 'true',
        'project_ids': '12345,67890'
    }
)

Contribute

If you want to contribute to this project, please fork this repository and clone your fork, then set up a virtual environment:

virtualenv -p 3.10 venv
source venv/bin/activate
pip install -r requirements-dev.txt

Create a new branch, implement your feature or fix, and send us a pull request.

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

python-freckle-client-1.1.2.tar.gz (23.6 kB view hashes)

Uploaded Source

Built Distribution

python_freckle_client-1.1.2-py3-none-any.whl (28.6 kB view hashes)

Uploaded Python 3

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