> guess in most languages this will not have a different wording than the case of only one of the two being a partner.

We don't care of inlaw_b on single_relationships, no ?

depends of your language. In english/dutch/italian we have
inlaw = inlaw_b or inlaw_a

and then work with inlaw, so inlaw_b matters.

Should I add "inlaw_b" to avoid mistakes with partner or UNKNOW gender ?
Should I remove inlaw_a on this code ?

I would use inlaw as constructed above. The spouse of your wifes daughter in another relation would also be your 'gendre' no? See rel_it.py who also have specific words for that.

(gendre = spouse of daughter, beau-père = father of spouse)

      Ga == 0:
          if Gb == 0:
          elif gender_b == gen.lib.Person.MALE
                if in_law_a and Gb == 1:
                    rel_str = "le gendre"
                    rel_str = self.get_son(Gb)
          elif gender_b == gen.lib.Person.FEMALE
               if in_law_a and Gb == 1:
                    rel_str = "la bru"
                    rel_str = self.get_daughter(Gb)
          elif gender_b == gen.lib.Person.MALE
                if in_law_a and Ga == 1:
                    rel_str = "le beau-père"
                    rel_str = self.get_father(Ga, inlaw)
          elif gender_b == gen.lib.Person.FEMALE and Ga <
                if in_law_a and Ga == 1:
                    rel_str = "la belle-mère"
                    rel_str = self.get_mother(Ga, inlaw)

Maybe like in english (without STEP or INLAW) : "father of spouse" have
the same wording as "second spouse of one parent".