• ramvee

    I use both Carnets and Pyto, and love both of them.
    But I am not an advanced user so they help me learn Jupiter Notebooks (Carnets)
    And both can run Pandas, which is superb.
    Pyto is updated regularly and runs 3.8 version of Python

    posted in Pythonista read more
  • ramvee

    I Am Using Pythonista On My iPad Pro And I Have No Issues At All, It Works Fine.

    posted in Pythonista read more
  • ramvee

    I love Pythonista, and learned a lot of Python on the go..
    Apart from pythonista, i am enjoying Pyto (with Python3.8) and Carnets (Like Jupyter Notebooks), especially, as both of these work with Pandas.

    posted in Pythonista read more
  • ramvee

    Thank you @cvp for all your help and @Phuket2 for filtering code.
    I have put up the fully working version below.
    I use this to order a lot of books for our bookstore.
    I have the csv data file with a few thousand records of book title and book author.

    import ui
    
    items = [
        ['Pretty Woman', 'Julia Roberts'],  
        ['Seven Year Itch', 'Marilyn Monroe'],
        ['Casablanca' , 'Ingrid Bergman'],
        ['Roman Holiday','Audrey Hepburn'],
        ['African Queen','Katherine Hepburn'],
        ['Out Of Africa','Meryl Streep'],
        ['Cleopatra','Elizabeth Taylor'],
        ['Titanic','Kate Winslet'],
        ['Apartment','Shirley MacLaine'],
        ['West Side Story','Natalie Wood'],
        ['Rear Window','Grace Kelly'],
        ['Pillow Talk','Doris Day'],
        ['Sound Of Music','Julie Andrews'], 
        ['Love Story','Ali McGraw'],
        ['You Got Mail','Meg Ryan'],
        ['Clueless','Alicia Silverstone'],
        ['Great Gatsby','Mia Farrow'],
        ['Mask','Cameron Diaz'],
        ['Kill Bill', 'Uma Thurman'],
        ]
    
    w,h = ui.get_screen_size()
    h=h-64
    gap = 5
    fontsize = 15 if w<750 else int((w / 75) + 16)
    
    class MyTableViewDataSource (object):
        def tableview_cell_for_row(self, tableview, section, row):
            row_title, row_description = tableview.data_source.items[row]
            # 'subtitle'-style cells come with a built-in secondary label
            cell = ui.TableViewCell('subtitle')
            cell.text_label.text = row_title
            cell.text_label.text_color = 'blue'
            cell.detail_text_label.text = row_description
            cell.detail_text_label.text_color = 'slateblue'
            return cell
         
        def tableview_number_of_rows(self, tableview, section):
            return len(tableview.data_source.items)
            
    class MyTableViewDelegate (object):
            def tableview_did_select(self, tableview, section, row):
                main, desc = tableview.data_source.items[row]
                print(f'{main}, {desc}')
                
    class MyTextFieldDelegate (object):
        items = items or []
        def textfield_did_change(self, textfield):
            self.filter_data(textfield.text)
    
        def filter_data(self, filter_text=''):
            ft = filter_text.lower()
            if not len(ft):
                tbl.data_source.items = self.items
                tbl.reload()
            else:
                tbl.data_source.items = [s for s in self.items if (ft in s[0].lower()) or (ft in s[1].lower())]
                tbl.reload()
        
    view = ui.View(name='Filter Items', frame =(0,0,w,h), bg_color='slateblue')
    
    tf = ui.TextField(frame=(gap,gap,w-gap*2,32), flex='w', placeholder='Search', clear_button_mode='always')
    tf.delegate = MyTextFieldDelegate()
    view.add_subview(tf)
        
    tbl = ui.TableView(frame=(gap,42,w-gap*2,h-42), corner_radius=3, flex='wh')
    tbl.row_height=fontsize*2.5
    tbl.name = 'Item Table'
    tbl.separator_color = 'grey'
    tbl.data_source = MyTableViewDataSource()
    tbl.data_source.items = items
    tbl.delegate = MyTableViewDelegate()
    view.add_subview(tbl)
    
    view.present('sheet', title_bar_color= 'slateblue')
    

    posted in Pythonista read more
  • ramvee

    Thank You Very Much For The Prompt Reply @cvp !
    I can figure it out now. :)

    posted in Pythonista read more
  • ramvee

    @foundjem
    No, it does not.
    So I use 'carnets' app which has support of most modules including pandas.
    carnets is jupyter notebooks on iOS, it is great and free.. a little quirky, though :)

    posted in Pythonista read more
  • ramvee

    Hi Friends,
    I am trying to use a filter which must update the data source continuously in my tableview.
    I figured it out for ui.LitsDataSource but i have wasted a couple of days trying to do the same with
    MyTableViewDataSource method.
    This filter was shown by a kind friend @Phuket2 about 2 years ago.
    It was must a very simple mistake i am making, tried using reload() method too.
    Here is my program, forgive the sloppiness..
    Thank you.

    # filtering data with two items per record
    # example with tableview cells with subtitles
    # And TableView Delegate method
    
    import ui
    
    items = [
        ['Pretty Woman', 'Julia Roberts'],  
        ['Seven Year Itch', 'Marilyn Monroe'],['Casablanca' , 'Ingrid Bergman'],
        ['Roman Holiday','Audrey Hepburn'],
        ['Sound Of Music','Julie Andrews'], 
        ['Love Story','Ali McGraw'],
        ['You Got Mail','Meg Ryan'],
        ['Clueless','Alicia Silverstone'],
        ['Great Gatsby','Mia Farrow'],
        ['Mask','Cameron Diaz']     
        ]
    
    w,h = ui.get_screen_size()
    h=h-64
    gap = 5
    fontsize = 15 if w<750 else int((w / 75) + 16)
    
    def reload_data():
        tbl.data_source.reload()
    
    class MyTableViewDataSource (object):
        def tableview_cell_for_row(self, tableview, section, row):
            row_title, row_description = items[row]
            # 'subtitle'-style cells come with a built-in secondary label
            cell = ui.TableViewCell('subtitle')
            cell.text_label.text = row_title
            cell.text_label.text_color = 'blue'
            cell.detail_text_label.text = row_description
            cell.detail_text_label.text_color = 'slateblue' #'#555'
            return cell
         
        def tableview_number_of_rows(self, tableview, section):
            return len(items)
            
    class MyTableViewDelegate (object):
            def tableview_did_select(self, tableview, section, row):
                print(f'{items[row][0]}, {items[row][1]}')
                
    class MyTextFieldDelegate (object):
        items = items or []
        def textfield_did_change(self, textfield):
            self.filter_data(textfield.text)
    
        def filter_data(self, filter_text=''):
            ft = filter_text.lower()
            if not len(ft):
                tbl.data_source.items = self.items
            else:
                for s in self.items:
                    if ft in (s[0].lower()) or ft in (s[1].lower()):
                        tbl.data_source.items = s
                        ## Need this to be updated
                        ## in the tableview 
        
    view = ui.View(name='Filter Items', frame =(0,0,w,h), bg_color='slateblue')
    
    tf = ui.TextField(frame=(gap,gap,w-gap*2,32), flex='w', placeholder='Search', clear_button_mode='always')
    tf.delegate = MyTextFieldDelegate()
    view.add_subview(tf)
        
    tbl = ui.TableView(frame=(gap,42,w-gap*2,h-42), corner_radius=3, flex='wh')
    tbl.row_height=fontsize*2.5
    tbl.name = 'Item Table'
    tbl.separator_color = 'grey'
    tbl.data_source = MyTableViewDataSource()
    tbl.delegate = MyTableViewDelegate()
    view.add_subview(tbl)
    
    view.present('sheet', title_bar_color= 'slateblue')
    

    posted in Pythonista read more
  • ramvee

    Love Pythonista And Love Reddit.
    I think the biggest advantage in moving to Reddit would be getting a more intelligent search, searching in this forum is not good.
    I am no expert but i see no downside to shifting to Reddit.

    posted in Pythonista read more
  • ramvee

    HI @sulcud,
    Mindnotes app, looks interesting,
    could you please put up the english version,
    when you are free.
    Thank you

    posted in Pythonista read more
  • ramvee

    @ccc
    Beauty !

    posted in Pythonista read more

Internal error.

Oops! Looks like something went wrong!