1

I'm using the search_repositories() function from the Pygithub package and am looking to build a query something like this in pseudo code:

('keyword1' OR 'keyword2) AND ('keyword3' OR 'keyword4') AND last_push_date > '2020-01-01'

So far I've not worked out the correct way to break up the clauses according to the logic of the parentheses and also have found that if I have any boolean logic, the 'qualifier' (i.e. the pushdate:>'2020-01-01') seems to break the query string and return no results.

I'm aware from the docs that you cannot have more than 5 AND/OR operators but in my testing that wasn't the case.

It seems that for instance I can do something like: '"firstword secondword" OR "thirdword fourthword"' and it treats each as a phrase correctly, but adding a qualifier afterwards then returns no results - even if I put the pushed date to way back.

Also this seems to work: 'oneword anotherword+pushed:>2020-01-01'

But combining such logic just returns 0 results. Any thoughts?

laurie
  • 965
  • 1
  • 11
  • 21
  • as an aside, if this turns out to be impossible (I've not used pygithub so can't check) you can of course just query the widest terms and do the narrowing yourself, although this is less than ideal with large repos – 2e0byo Oct 15 '21 at 14:04

0 Answers0