Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow scheme to be selectable in libsecret and SecretService backends #586

merged 10 commits into from Aug 7, 2022


Copy link

@jaraco jaraco commented Aug 5, 2022

  • Add support for a scheme property in SecretService backend. Set to 'KeypassXC' to use the username/system convention from KeypassXC, either with KEYRING_PROPERTY_SCHEME or keyring.with_properties(scheme='KeypassXC'). Fixes Using python-keyring with KeePassXC #448.
  • Add test for with_properties helper.
  • Re-use with_properties in with_keychain.
  • Deprecate macOS.Keyring.with_keychain, superseded by with_properties.
  • Extract SchemeSelectable mixin
  • Allow _query to include other keys
  • Add SelectableScheme to libsecret.
  • Add tests for SchemeSelectable.

@jaraco jaraco requested a review from mitya57 August 5, 2022 01:08
mitya57 approved these changes Aug 6, 2022
scheme = 'default'
schemes = dict(
default=dict(username='username', service='service'),
KeypassXC=dict(username='UserName', service='Title'),
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be KeePassXC (with e instead of y):

Please update it in all other places too.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in d35fc44.

@jaraco jaraco merged commit 0ed196d into main Aug 7, 2022
18 checks passed
@jaraco jaraco deleted the feature/secretservice-scheme branch August 7, 2022 16:04
Copy link
Owner Author

jaraco commented Aug 7, 2022

Released as 23.8.0.

Copy link

mitya57 commented Aug 7, 2022

I am sorry for not testing it earlier, but libsecret backend does not work :(

Submitted #587.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

Using python-keyring with KeePassXC
2 participants