nrgpy.api package#
Submodules#
nrgpy.api.auth module#
- class nrgpy.api.auth.nrg_api(client_id='', client_secret='')[source]#
Bases:
object
Parent class for NRG API functionality
- maintain_session_token(filename='.nrgpy_token')[source]#
maintain a current/valid session token for data service api
- request_session_token()[source]#
generates a new session token for convert service api
requires an active account with NRG Systems. to sign up for an account, go to: https://services.nrgsystems.com
- Parameters:
- client_idstr
obtained from NRG Systems
- client_secretstr
- Returns:
- session_tokenstr
valid for 24 hour
- session_start_timedatetime
start time of 24 hour countdown
nrgpy.api.catalog module#
- class nrgpy.api.catalog.nrg_api_catalog(serial_number='', site_number='', start_date='2014-01-01', end_date='2023-12-31', client_id='', client_secret='', **kwargs)[source]#
Bases:
nrg_api
Uses NRG hosted web-based API to catalog of available data in text format To sign up for the service, go to https://services.nrgsystems.com/
- Parameters:
- serial_numberstr or int
serial number of data logger (like, 820612345)
- site_numberstr or int
up to 6-digit site number
- start_datestr
“YYYY-MM-DD HH:MM:SS” format, if just date it will return the whole day times are in logger local time
- end_datestr
“YYYY-MM-DD HH:MM:SS” format, if just date it will return the whole day times are in logger local time
- client_idstr
provided by NRG Systems
- client_secretstr
provided by NRG Systems
- Returns:
- object
export object
Examples
Check for available data files for site number 6
>>> import nrgpy >>> client_id = "contact support@nrgsystems.com for access" >>> client_secret = "contact support@nrgsystems.com for access" >>> catalog = nrgpy.nrg_api_catalog( client_id=client_id, client_secret=client_secret, site_number=6, serial_number=820600019, start_date="2020-05-01", end_date="2020-05-03", save_file=False )
nrgpy.api.convert module#
- class nrgpy.api.convert.nrg_api_convert(rld_dir='', out_dir='', filename='', site_filter='', filter2='', start_date='1970-01-01', end_date='2150-12-31', client_id='', client_secret='', encryption_pass='', header_type='standard', nec_file='', export_type='meas', export_format='csv_zipped', progress_bar=True, **kwargs)[source]#
Bases:
nrg_api
Uses NRG hosted web-based API to convert RLD and RWD files to text format To sign up for the service, go to https://services.nrgsystems.com/
- Parameters:
- rld_dirstr (path-like)
path to rld file directory
- out_dirstr (path-like)
path to save text export files
- filenamestr
provide for single file conversion
- site_filterstr, optional
text filter for limiting file set
- filter2str, optional
another text filter…
- start_datestr, optional
text start date to filter on “YYYY-mm-dd”
- end_datestr, optional
text end date to filter on “YYYY-mm-dd”
- client_idstr
provided by NRG Systems
- client_secretstr
provided by NRG Systems
- tokenstr
deprecated, for beta conversion service users
- encryption_passstr, optional
password for rld files (set in logger)
- header_typestr
[standard], columnonly, or none
- nec_filestr, optional
path to NEC file for custom export formatting
- export_typestr
[meas], samples, diag, comm
Examples
Convert a single raw data file to Text with NRG Convert API
>>> import nrgpy >>> filename = "/home/user/data/sympro/000123/000123_2019-05-23_19.00_003672.rld >>> client_id = "contact support@nrgsystems.com for access" >>> client_secret = "contact support@nrgsystems.com for access" >>> converter = nrgpy.nrg_api_convert( file_filter=file_filter, filename=filename, client_id=client_id, client_secret=client_secret, )
Convert a folder of raw data files to Text with NRG Convert API
>>> import nrgpy >>> file_filter = "000175" >>> rld_directory = "rlds" >>> txt_dir = "/home/user/data/sympro/000123/txt/" >>> client_id = "contact support@nrgsystems.com for access" >>> client_secret = "contact support@nrgsystems.com for access" >>> converter = nrgpy.nrg_api_convert( file_filter=file_filter, rld_dir=rld_directory, out_dir=txt_dir, client_id=client_id, client_secret=client_secret, start_date="2020-01-01", end_date="2020-01-31", ) >>> converter.process()
nrgpy.api.export module#
- class nrgpy.api.export.nrg_api_export(out_dir='', serial_number='', out_file='', start_date='2014-01-01', end_date='2023-12-31', client_id='', client_secret='', nec_file='', export_type='meas', text_timestamps=False, save_file=True, **kwargs)[source]#
Bases:
nrg_api
Uses NRG hosted web-based API to download data in text format To sign up for the service, go to https://services.nrgsystems.com/
- Parameters:
- out_dirstr (path-like)
path to save exported data
- out_filestr
(optional) filename to save
- serial_numberstr or int
serial number of data logger (like, 820612345)
- start_datestr
“YYYY-MM-DD HH:MM:SS” format, if just date it will return the whole day times are in logger local time
- end_datestr
“YYYY-MM-DD HH:MM:SS” format, if just date it will return the whole day times are in logger local time
- client_idstr
provided by NRG Systems
- client_secretstr
provided by NRG Systems
- save_filebool
(True) whether to save the result to file
- nec_filestr, optional
path to NEC file for custom export formatting
- text_timestampsbool
get export data with text timestamps instead of datetime
- export_typestr
[meas], samples, diag, comm
- Returns:
- object
export object that includes an nrgpy reader object
Examples
Download 3 days of data with an NEC file applied
>>> import nrgpy >>> client_id = "contact support@nrgsystems.com for access" >>> client_secret = "contact support@nrgsystems.com for access" >>> exporter = nrgpy.nrg_api_export( client_id=client_id, client_secret=client_secret, out_dir=txt_dir, nec_file='12vbat.nec', serial_number=820600019, start_date="2020-05-01", end_date="2020-05-03", text_timestamps=False, save_file=False ) >>> reader = exporter.reader >>> reader.format_site_data() >>> if reader: >>> print(f"Site number : {reader.site_number}") >>> print(f"Site description : {reader.site_description}") >>> reader.interval_check = nrgpy.check_intervals(reader.data) >>> else: >>> print("unable to get reader")