Não sei se isso é um bug ou é esperado, mas no astropy 3.0 isso:
from astropy.io import fits
hdr = fits.header()
hdr.set('A')
print(hdr)
te pega isso
A = ' '
END
mas no 3.2 você consegue isso
A =
END
sem valor. Este é um FITS válido?
EDIT: código fixo
Hmm ... eu vejo isso no 4.1dev também. Você quer git bisect
e ver qual commit foi o culpado?
Sim, este é um FITS válido, ele cria um cartão indefinido: # 8572
Sim, o commit é 545f488cbb4a5ccca908bffeb90bc29ad41bd9c1
Vejo que antes deste commit um valor de None
nesta função foi mapeado para ' '
É meu entendimento que este é o comportamento pretendido, portanto, pode ser encerrado.