Official Shooju Client
Project description
shooju is the official python client for Shooju with the following features:
Authentication via username and api key
Getting series points and fields
Registering import jobs and writing and removing points and fields
Installation
Install using pip:
pip install shooju
Basic Usage
>>> from shooju import Connection, sid, Point >>> from datetime import date >>> conn = Connection(server = <API_SERVER>, user = <USERNAME>, api_key = <API_KEY>) >>> job = conn.register_job('China Pop.') >>> series_id = sid("users", <USERNAME>, "china", "population") >>> job.put_point(series_id, Point(date(2012, 1, 1), 314.3)) >>> job.put_field(series_id, "unit", "millions") >>> print conn.get_point(series_id, date(2012, 1, 1)).value 313.3 >>> print conn.get_field(series_id, "unit") millions
Source
Changelist
0.7.1
Series are now written in the order of put_* calls.
Added retry on lock failures.
0.7.0
Retry on temporary API failure.
Added reported_group concept.
Added support for Python 3.
0.6.2
Add operators parameter to scroll and search functions. To use, pass in an array of operators without the @. For example, operators = [‘MA’].
0.6.1
Ability to upload files using sess = conn.create_uploader_session() and sess.upload_file()
conn.get_points(), get_point(), get_field() and get_fields() now accept snapshot_job_id and snapshot_date parameters. These parameters allow fetching historic snapshots of how the series looked after the job or at specific datetime.
0.6.0
BREAKING CHANGE: search() now returns a list instead of a dictionary.
search() and scroll() now accept sort_on and sort_order paramters.
If a non-url string is provided to Connection(), https://{}.shooju.com will be attempted.
Simpler OAuth interface and instructions have been added. See bitbucket page for details.
Added force parameter to delete_by_query.
0.5.0
Added job.finish(submit=True) to submit job buffer and mark a job as finished.
Added job context to be used like: with connection.register_job(‘testjob’) as job: …
0.4.8
Added email and google_oauth_token kwargs to Connection() to allow authentication through Google Oauth. Environment variables SHOOJU_EMAIL and SHOOJU_GOOGLE_OAUTH_TOKEN can be used instead of parameters.
Added Connection.user property to find the currently logged in user.
0.4.7
Bug fixes.
0.4.6
Added delete_by_query function.
Exposed query_size in scroll().
Changed default size from 10 to 0 in scroll().
0.4.5
Added remove_points and remove_fields methods to RemoteJob to clear the fields/points before sending new data.
0.4.4
Change Connection search default point size to 0
0.4.3
Fix another job cache error.
0.4.2
Added pre and post submit hooks to RemoteJob to perform actions after submitting a job to shooju
0.4.1
Fix job cache error, if exception was raised cache was not flushed
0.4
Connection().pd.search_series renamed to search
Change way DataFrame is formatted when using Connection().pd.search()
Added key_field parameters to Connection().pd.search() to add a custom name for the column using series fields
0.3
Connection().scroll() fixed
Initializing Connection doesn’t ping the API
If series does not exist get_point, get_points, get_field, get_fields return None
0.2
Connection().multi_get() renamed to mget()
mget().get_points(), get_fields(), get_point() and get_field() return index of their result
Connection().register_job() requires a description of more than 3 chars
Connection().scroll_series() renamed to scroll()
Renamed and rearranged Connection parameters: Connection(server, user, api_key)
Field object removed, fields return a simple dict
Points can have value of None
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.