Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
§

iµµh’ãó€—UdZddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
mZddlmZeje¦«Zejd¦«ZdZd	ed
<Gd„dej¦«ZGd
„de¬¦«ZGd„d¦«ZGd„de¦«Zdd„Zejdd„¦«ZGd„d¦«Z dS)z 
Keyring implementation support
é)ÚannotationsNé)Úmetadata)ÚcredentialsÚerrorsÚutil)Ú
propertiesÚpriorityz8typing.Optional[typing.Callable[[KeyringBackend], bool]]Ú_limitcó"‡—eZdZdZˆfd„ZˆxZS)ÚKeyringBackendMetazn
    A metaclass that's both an ABCMeta and a type that keeps a registry of
    all (non-abstract) types.
    cóޕ—t¦« |||¦«t|d¦«st¦«|_|j}|js| |¦«dSdS)NÚ_classes)ÚsuperÚ__init__ÚhasattrÚsetrÚ__abstractmethods__Úadd)ÚclsÚnameÚbasesÚdictÚclassesÚ	__class__s     €ú:/usr/local/lib/python3.11/site-packages/keyring/backend.pyrzKeyringBackendMeta.__init__ spø€Ý
‰Œ×Ò˜˜u dÑ+Ô+Ð+ݐs˜JÑ'Ô'ð	!Ý™5œ5ˆCŒLØ”,ˆØÔ&ð	ØKŠK˜ÑÔÐÐÐð	ð	ó)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rÚ
__classcell__)rs@rr
r
sBø€€€€€ððð
ððððððððrr
có—eZdZdZd„Zejdd„¦«Zejd„¦«Ze	dd
„¦«Z
ejdd„¦«Zdd
„Ze
jd d„¦«Ze
jd!d„¦«Zd"d„Zd#d„Zd$d„Zd%d„ZdS)&ÚKeyringBackendz]The abstract base class of the keyring, every backend must implement
    this interface.
    có.—| ¦«dS©N)Úset_properties_from_env©Úselfs rrzKeyringBackend.__init__.s€Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&rÚreturnÚfloatcó—t‚)a½
        Each backend class must supply a priority, a number (float or integer)
        indicating the priority of the backend relative to all other backends.
        The priority need not be static -- it may (and should) vary based
        attributes of the environment in which is runs (platform, available
        packages, etc.).

        A higher number indicates a higher priority. The priority should raise
        a RuntimeError with a message indicating the underlying cause if the
        backend is not suitable for the current environment.

        As a rule of thumb, a priority between zero but less than one is
        suitable, but a priority of one or greater is recommended.
        )ÚNotImplementedErrorr(s rr
zKeyringBackend.priority1s
€õ "Ð!rcól—tj¦«5}|jddd¦«n#1swxYwY|Sr&)rÚExceptionRaisedContextr
)rÚexcs  rÚviablezKeyringBackend.viableCsq€å
Ô
*Ñ
,Ô
,ð	°ØŒLˆLð	ð	ð	ñ	ô	ð	ð	ð	ð	ð	ð	øøøð	ð	ð	ð	àˆwˆs”(¨,¯,rútyping.Type[KeyringBackend]ú#filter[typing.Type[KeyringBackend]]cóP—ttjd¦«|j¦«S)z6
        Return all subclasses deemed viable.
        r1)ÚfilterÚoperatorÚ
attrgetterr)rs rÚget_viable_backendsz"KeyringBackend.get_viable_backendsIs!€õ•hÔ)¨(Ñ3Ô3°S´\ÑBÔBÐBrÚstrcó¢—|j d¦«\}}}| dd¦«}d ||jg¦«S)zr
        The keyring name, suitable for display.

        The name is derived from module and class name.
        ú.Ú_ú )rÚ
rpartitionÚreplaceÚjoinr)rÚparentÚsepÚmod_names    rrzKeyringBackend.nameRsN€ð!$¤× 9Ò 9¸#Ñ >Ô >шXØ×#Ò# C¨Ñ-Ô-ˆØxŠx˜ 3¤<Ð0Ñ1Ô1Ð1rcól—t|¦«}d |j|j|j¦«S)Nz{}.{} (priority: {:g}))ÚtypeÚformatrrr
)r)Ú
keyring_classs  rÚ__str__zKeyringBackend.__str__]s5€Ý˜T™
œ
ˆ
Ø'×.Ò.ØÔ$ mÔ&<¸mÔ>Tñ
ô
ð	
rÚserviceÚusernameútyping.Optional[str]có—dS)z,Get password of the username for the serviceN©©r)rIrJs   rÚget_passwordzKeyringBackend.get_passwordcs	€ðˆtrÚpasswordÚNonecó*—tjd¦«‚)z†Set password for the username of the service.

        If the backend cannot store passwords, raise
        PasswordSetError.
        Úreason)rÚPasswordSetError©r)rIrJrPs    rÚset_passwordzKeyringBackend.set_passwordhs€õÔ% hÑ/Ô/Ð/rcó*—tjd¦«‚)z‘Delete the password for the username of the service.

        If the backend cannot delete passwords, raise
        PasswordDeleteError.
        rS)rÚPasswordDeleteErrorrNs   rÚdelete_passwordzKeyringBackend.delete_passwordts€õÔ(¨Ñ2Ô2Ð2rú'typing.Optional[credentials.Credential]cód—|-| ||¦«}|tj||¦«SdS)aGets the username and password for the service.
        Returns a Credential instance.

        The *username* argument is optional and may be omitted by
        the caller or ignored by the backend. Callers must use the
        returned username.
        N)rOrÚSimpleCredentialrUs    rÚget_credentialzKeyringBackend.get_credentials=€ðÐØ×(Ò(¨°(Ñ;Ô;ˆHØÐ#Ý"Ô3°H¸hÑGÔGÐG؈trcó´—dd„}tdt|tj ¦«¦«¦«}|D]\}}t|||¦«ŒdS)z6For all KEYRING_PROPERTY_* env var, set that property.Úitemútyping.Tuple[str, str]cón—|\}}| d¦«\}}}|o| ¦«|fS)NÚKEYRING_PROPERTY_)Ú	partitionÚlower)r_ÚkeyÚvalueÚprerBrs      rÚparsez5KeyringBackend.set_properties_from_env.<locals>.parse•s;€Ø‰JˆCØ Ÿ]š]Ð+>Ñ?Ô?‰NˆCdØÐ0˜DŸJšJ™LœL¨%Ð0Ð0rN)r_r`)r5ÚmapÚosÚenvironÚitemsÚsetattr)r)rhÚpropsrrfs     rr'z&KeyringBackend.set_properties_from_env’sx€ð	1ð	1ð	1ð	1õ
17Ø•#eRœZ×-Ò-Ñ/Ô/Ñ0Ô0ñ1
ô1
ˆð!ð	'ð	'‰KˆD%ÝD˜$ Ñ&Ô&Ð&Ð&ð	'ð	'rÚkwargsú
typing.Anycór—tj|¦«}t|¦« |¦«|Sr&)ÚcopyÚvarsÚupdate)r)roÚalts   rÚwith_propertieszKeyringBackend.with_properties s.€ÝŒi˜‰oŒoˆÝˆS‰	Œ	×Ò˜Ñ Ô Ð Øˆ
rN)r*r+)rr2r*r3)r*r9)rIr9rJr9r*rK)rIr9rJr9rPr9r*rQ)rIr9rJr9r*rQ)rIr9rJrKr*rZ©r*rQ)rorpr*r$)rrr r!rr	Ú
classpropertyr
r1Úclassmethodr8rrHÚabcÚabstractmethodrOrVrYr]r'rvrMrrr$r$)sd€€€€€ððð'ð'ð'ðÔð"ð"ð"ñÔð"ð"ÔððñÔðð
ðCðCðCñ„[ðCðÔð2ð2ð2ñÔð2ð
ð
ð
ð
ð	ÔðððñÔðð	Ôð0ð0ð0ñÔð0ð3ð3ð3ð3ððððð&'ð'ð'ð'ððððððrr$)Ú	metaclasscóR—eZdZdZejd„¦«Zejd„¦«ZdS)ÚCrypterz.Base class providing encryption and decryptioncó—dS)zEncrypt the value.NrM©r)rfs  rÚencryptzCrypter.encrypt©ó	€ð	
ˆrcó—dS)zDecrypt the value.NrMr€s  rÚdecryptzCrypter.decrypt®r‚rN)rrr r!rzr{rr„rMrrr~r~¦sV€€€€€Ø8Ð8àÔð
ð
ñÔð
ð	Ôð
ð
ñÔð
ð
ð
rr~có—eZdZdZd„Zd„ZdS)ÚNullCrypterzA crypter that does nothingcó—|Sr&rMr€s  rrzNullCrypter.encrypt·ó€Øˆrcó—|Sr&rMr€s  rr„zNullCrypter.decryptºrˆrN)rrr r!rr„rMrrr†r†´s8€€€€€Ø%Ð%ððððððððrr†r*rQcó.—tjd¬¦«D]~}	t d|j¦«| ¦«}t
|¦«r
|¦«ŒQ#t$r!t d|›d¦«YŒ{wxYwdS)aù
    Locate all setuptools entry points by the name 'keyring backends'
    and initialize them.
    Any third-party library may register an entry point by adding the
    following to their setup.cfg::

        [options.entry_points]
        keyring.backends =
            plugin_name = mylib.mymodule:initialize_func

    `plugin_name` can be anything, and is only used to display the name
    of the plugin at initialization time.

    `initialize_func` is optional, but will be invoked if callable.
    zkeyring.backends)Úgroupz
Loading %szError initializing plugin r;N)	rÚentry_pointsÚlogÚdebugrÚloadÚcallableÚ	ExceptionÚ	exception)ÚepÚ	init_funcs  rÚ
_load_pluginsr•¾s¯€õ Ô#Ð*<Ð=Ñ=Ô=ð>ð>ˆð	>ÝIŠIl B¤GÑ,Ô,Ð,ØŸš™	œ	ˆIݘ	Ñ"Ô"ð
ؐ	‘”øøÝð	>ð	>ð	>ÝMŠMÐ<°rÐ<Ð<Ð<Ñ=Ô=Ð=Ð=Ð=ð	>øøøð
>ð>s™A
A'Á'(BÂBútyping.List[KeyringBackend]có¤—t¦«t ¦«}tj|t
¬¦«}t
|¦«S)zc
    Return a list of all implemented keyrings that can be constructed without
    parameters.
    )Ú
exceptions)r•r$r8rÚsuppress_exceptionsÚ	TypeErrorÚlist)Úviable_classesÚringss  rÚget_all_keyringržØs?€õO„O€OÝ#×7Ò7Ñ9Ô9€NÝÔ$ ^Å	ÐJÑJÔJ€Eݐ‰;Œ;Ðrcóh—eZdZdZdZeedd¬¦«edd¬¦«¬¦«Z	ddd„Zd	S)ÚSchemeSelectablea
    Allow a backend to select different "schemes" for the
    username and service.

    >>> backend = SchemeSelectable()
    >>> backend._query('contoso', 'alice')
    {'username': 'alice', 'service': 'contoso'}
    >>> backend._query('contoso')
    {'service': 'contoso'}
    >>> backend.scheme = 'KeePassXC'
    >>> backend._query('contoso', 'alice')
    {'UserName': 'alice', 'Title': 'contoso'}
    >>> backend._query('contoso', 'alice', foo='bar')
    {'UserName': 'alice', 'Title': 'contoso', 'foo': 'bar'}
    ÚdefaultrJrI)rJrIÚUserNameÚTitle)r¡Ú	KeePassXCNr9rKÚbaserpr*útyping.Dict[str, str]cóx—|j|j}t||d||d|in	|d|ifi|¤ŽS)NrJrI)ÚschemesÚschemer)r)rIrJr¥r©s     rÚ_queryzSchemeSelectable._queryûsl€ð”˜dœkÔ*ˆÝð
Ð#ðzÔ" HؐyÔ! 7ð
ð
ðyÔ! 7ðð

ð

ðð

ð

ð
	
rr&)rIr9rJrKr¥rpr*r¦)rrr r!r©rr¨rªrMrrr r äs~€€€€€ððð €F؈dؐ˜j°)Ð<Ñ<Ô<ؐ$ 
°GÐ<Ñ<Ô<ðñô€Gð>Bð
ð
ð
ð
ð
ð
ð
rr rw)r*r–)!r!Ú
__future__rrjrzÚloggingr6rrÚtypingÚpy312compatrÚrrrÚ_compatr	Ú	getLoggerrrr7Úby_priorityrÚ__annotations__ÚABCMetar
r$r~r†r•Úonceržr rMrrú<module>r¶s÷ððððð#Ð"Ð"Ð"Ð"Ð"à	€	€	€	Ø
€
€
€
Ø€€€Ø€€€Ø€€€à
€
€
€
à!Ð!Ð!Ð!Ð!Ð!Ø'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ØÐÐÐÐÐà€gÔ˜Ñ!Ô!€ð"ˆhÔ! *Ñ-Ô-€ØCG€ÐGÐGÐGÑGððððð˜œñôððzðzðzðzðzÐ1ðzñzôzðzðz
ð
ð
ð
ð
ñ
ô
ð
ððððð'ñôðð>ð>ð>ð>ð4„ðððñ„ðð%
ð%
ð%
ð%
ð%
ñ%
ô%
ð%
ð%
ð%
r