smif.http_api package

HTTP API endpoint

Submodules:

Classes:

NarrativeAPI Implement CRUD operations for narratives configuration data
NarrativeSetAPI Implement CRUD operations for narrative_sets configuration data
ScenarioAPI Implement CRUD operations for scenarios configuration data
ScenarioSetAPI Implement CRUD operations for scenario_sets configuration data
SectorModelAPI Implement CRUD operations for sector_model configuration data
SmifAPI Implement operations for Smif
SosModelAPI Implement CRUD operations for sos_model configuration data
SosModelRunAPI Implement CRUD operations for sos_model_run configuration data

Functions:

check_timestamp Check for timestamp and parse to datetime object
create_app Create Flask app object
register_api Register a MethodView as an endpoint with CRUD operations at a URL
register_api_endpoints Register API calls (using pluggable views)
register_error_handlers Handle expected errors
register_routes Register plain routing

Reference

class smif.http_api.NarrativeAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for narratives configuration data

delete(narrative_name)[source]

Delete a narrative: DELETE /api/v1/narratives

get(narrative_name)[source]

Get narratives all: GET /api/v1/narratives/ one: GET /api/vi/narratives/name

methods = ['DELETE', 'GET', 'POST', 'PUT']
post()[source]

Create a narrative: POST /api/v1/narratives

put(narrative_name)[source]

Update a narrative: PUT /api/v1/narratives

class smif.http_api.NarrativeSetAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for narrative_sets configuration data

delete(narrative_set_name)[source]

Delete a narrative_set: DELETE /api/v1/narrative_sets

get(narrative_set_name)[source]

Get narrative_sets all: GET /api/v1/narrative_sets/ one: GET /api/vi/narrative_sets/name

methods = ['DELETE', 'GET', 'POST', 'PUT']
post()[source]

Create a narrative_set: POST /api/v1/narrative_sets

put(narrative_set_name)[source]

Update a narrative_set: PUT /api/v1/narrative_sets

class smif.http_api.ScenarioAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for scenarios configuration data

delete(scenario_name)[source]

Delete a scenario: DELETE /api/v1/scenarios

get(scenario_name)[source]

Get scenarios all: GET /api/v1/scenarios/ one: GET /api/vi/scenarios/name

methods = ['DELETE', 'GET', 'POST', 'PUT']
post()[source]

Create a scenario: POST /api/v1/scenarios

put(scenario_name)[source]

Update a scenario: PUT /api/v1/scenarios

class smif.http_api.ScenarioSetAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for scenario_sets configuration data

delete(scenario_set_name)[source]

Delete a scenario_set: DELETE /api/v1/scenario_sets

get(scenario_set_name)[source]

Get scenario_sets all: GET /api/v1/scenario_sets/ one: GET /api/vi/scenario_sets/name

methods = ['DELETE', 'GET', 'POST', 'PUT']
post()[source]

Create a scenario_set: POST /api/v1/scenario_sets

put(scenario_set_name)[source]

Update a scenario_set: PUT /api/v1/scenario_sets

class smif.http_api.SectorModelAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for sector_model configuration data

delete(sector_model_name)[source]

Delete a sector_model: DELETE /api/v1/sector_models

get(sector_model_name)[source]

Get sector_models all: GET /api/v1/sector_models/ one: GET /api/vi/sector_models/name

methods = ['DELETE', 'GET', 'POST', 'PUT']
post()[source]

Create a sector_model: POST /api/v1/sector_models

put(sector_model_name)[source]

Update a sector_model: PUT /api/v1/sector_models

class smif.http_api.SmifAPI[source]

Bases: flask.views.MethodView

Implement operations for Smif

get(key)[source]

Get smif details version: GET /api/v1/smif/version

methods = ['GET']
class smif.http_api.SosModelAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for sos_model configuration data

delete(sos_model_name)[source]

Delete a sos_model: DELETE /api/v1/sos_model

get(sos_model_name)[source]

Get sos_model all: GET /api/v1/sos_model/ one: GET /api/vi/sos_model/name

methods = ['DELETE', 'GET', 'POST', 'PUT']
post()[source]

Create a sos_model: POST /api/v1/sos_model

put(sos_model_name)[source]

Update a sos_model: PUT /api/v1/sos_model

class smif.http_api.SosModelRunAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for sos_model_run configuration data

delete(sos_model_run_name)[source]

Delete a sos_model_run: DELETE /api/v1/sos_model_runs

get(sos_model_run_name)[source]

Get sos_model_runs all: GET /api/v1/sos_model_runs/ one: GET /api/vi/sos_model_runs/name

methods = ['DELETE', 'GET', 'POST', 'PUT']
post()[source]

Create a sos_model_run: POST /api/v1/sos_model_runs

put(sos_model_run_name)[source]

Update a sos_model_run: PUT /api/v1/sos_model_runs

smif.http_api.check_timestamp(data)[source]

Check for timestamp and parse to datetime object

smif.http_api.create_app(static_folder='static', template_folder='templates', get_data_interface=None)[source]

Create Flask app object

smif.http_api.register_api(app, view, endpoint, url, key='id', key_type='int')[source]

Register a MethodView as an endpoint with CRUD operations at a URL

smif.http_api.register_api_endpoints(app)[source]

Register API calls (using pluggable views)

smif.http_api.register_error_handlers(app)[source]

Handle expected errors

smif.http_api.register_routes(app)[source]

Register plain routing