on Windows 10, using the default backend:
keyring.set_password('test', 'user-1', 'pwd-1')
keyring.set_password('test', 'user-2', 'pwd-2')
cred = keyring.get_credential('test', None)
print(cred.username, cred.password)
This returns user-2 pwd-2. So far, so good.
keyring.delete_password('test', 'user-2')
cred = keyring.get_credential('test', 'user-1')
print(cred.username, cred.password)
cred = keyring.get_credential('test', None)
print(cred)
Here, the first output is user-1 pwd-1, showing that the first credential is still there.
However, the second output None, i.e. the credential is not found without a username.
Is this a bug, or an expected behaviour?