<jupyter_start><jupyter_text>https://www.slideshare.net/songew/pycon-korea-2018-luigi-data-pipeline-system-111598140  https://www.youtube.com/watch?v=UOunv9V14cA<jupyter_code>!pip install luigi
import luigi
import datetime

luigi.DateParameter(default = datetime.datetime.today().date())

class RunOnceMixIn(luigi.Task):

    count = luigi.Parameter(default=0)



    def complete(self):

        if self.count < 2:

            self.count += 1

            return False

        else:

            return True
        

class PrintHello(luigi.Task):

    def run(self):

        print "hello luigi"
        
        
class HelloEntry(luigi.WrapperTask):
    def requires(self):
        return [PrintHello()]
luigi.Task<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11214953271028037, 'fraction_numerical': 0.025367156208277702, 'mean_word_length': 2.7688442211055277, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '543881', 'license': 'MIT', 'n_tokens_mistral': 271, 'n_tokens_neox': 247, 'n_words': 40, 'path': '_posts/.ipynb_checkpoints/Luigi-checkpoint.ipynb', 'repo_name': 'hyunjjin/hyunjjin.github.io', 'size': '749'}