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.0.tar.gz (23.7 kB view details)

Uploaded Source

File details

Details for the file python-freckle-client-1.1.0.tar.gz.

File metadata

  • Download URL: python-freckle-client-1.1.0.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for python-freckle-client-1.1.0.tar.gz
Algorithm Hash digest
SHA256 398203af67fbff6b583a540d7e17c5c50c9a97e1ee0a3a101d9b5602c234adb2
MD5 4d12c54f6aec9854377a703cea023ffc
BLAKE2b-256 d791e7bcc66374594b17a4fab91260b4d15521b54fc716c115417903a20e93e6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page