From c7bd0d06e2a8e087290c1ece537903eaaac17aed Mon Sep 17 00:00:00 2001 From: Scott Sanderson Date: Tue, 16 Aug 2016 15:53:20 -0400 Subject: [PATCH] ENH: Add input validation to attach_pipeline. --- zipline/algorithm.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/zipline/algorithm.py b/zipline/algorithm.py index 8827eff8..f8e79b51 100644 --- a/zipline/algorithm.py +++ b/zipline/algorithm.py @@ -84,6 +84,7 @@ from zipline.finance.cancel_policy import NeverCancel, CancelPolicy from zipline.assets import Asset, Future from zipline.assets.futures import FutureChain from zipline.gens.tradesimulation import AlgorithmSimulator +from zipline.pipeline import Pipeline from zipline.pipeline.engine import ( ExplodingPipelineEngine, SimplePipelineEngine, @@ -94,8 +95,13 @@ from zipline.utils.api_support import ( require_not_initialized, ZiplineAPI, disallowed_in_before_trading_start) -from zipline.utils.input_validation import ensure_upper_case, error_keywords, \ - expect_types, optional, coerce_string +from zipline.utils.input_validation import ( + coerce_string, + ensure_upper_case, + error_keywords, + expect_types, + optional, +) from zipline.utils.calendars.trading_calendar import days_at_time from zipline.utils.cache import CachedObject, Expired from zipline.utils.calendars import get_calendar @@ -2207,6 +2213,11 @@ class TradingAlgorithm(object): ############## @api_method @require_not_initialized(AttachPipelineAfterInitialize()) + @expect_types( + pipeline=Pipeline, + name=string_types, + chunksize=optional(int), + ) def attach_pipeline(self, pipeline, name, chunksize=None): """Register a pipeline to be computed at the start of each day.