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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: python-freckle-client-1.1.2.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for python-freckle-client-1.1.2.tar.gz
Algorithm Hash digest
SHA256 88d4fabbb38a6a89364f75a57e0d87d739e58e87660efb0ed1ff986669190ae5
MD5 a11a5299e7628b91f54631ac8754cc73
BLAKE2b-256 4dc84ea7994d5d0a937501c18d949777dc0f49c964d59e8daab6c1d0819a794d

See more details on using hashes here.

File details

Details for the file python_freckle_client-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for python_freckle_client-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 22ee21d2960e0b0f50714ecb6594b2586dc06b8628fa9fd701ee68b4051673e7
MD5 bb2e6a4122f863a62659d75b6018b15b
BLAKE2b-256 19d775555fdd534eda5c928c2484e0c5947bb42b05983fe1d0afc1e796f7f673

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