PyPI рд╕рдБрдЧ рдЕрдм рдкрд╛рд╕рд╡рд░реНрдб рд░ API рдЯреЛрдХрдирд╣рд░реВрдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдмрд┐рдирд╛ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЫ

рдкрд╛рдЗрдерди рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ PyPI (рдкрд╛рдЗрдерди рдкреНрдпрд╛рдХреЗрдЬ рдЗрдиреНрдбреЗрдХреНрд╕) рднрдгреНрдбрд╛рд░рд▓реЗ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдирд┐рд╢реНрдЪрд┐рдд рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ рд░ API рдкрд╣реБрдБрдЪ рдЯреЛрдХрдирд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдирдмрд╛рдЯ рдмрдЪреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, GitHub рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛)ред рдирдпрд╛рдБ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐рд▓рд╛рдИ 'рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдХрд╛рд╢рдХрд╣рд░реВ' рднрдирд┐рдиреНрдЫ рд░ рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ рд╡рд╛ рдЯреЛрдХрдирд╣рд░реВ рдЖрдХреНрд░рдордгрдХрд╛рд░реАрд╣рд░реВрдХреЛ рд╣рд╛рддрдорд╛ рдкрд░реЗрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рд╣реБрдиреЗ рдЦрд░рд╛рдм рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред

рдирдпрд╛рдБ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ OpenID Connect (OIDC) рдорд╛рдирдХрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ, рдЬрд╕рд▓реЗ рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛рд╣рд░реВ рд░ PyPI рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдмреАрдЪрдХреЛ рд╕рдордп-рд╕реАрдорд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЯреЛрдХрдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рдЬреБрди рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рди рдХрд╛рд░реНрдпрд▓рд╛рдИ рдорд╛рдиреНрдп рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдкрд░рдореНрдкрд░рд╛рдЧрдд рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рд╡рд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдирд┐рд░рдиреНрддрд░ API рдкрд╣реБрдБрдЪ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫред рдЯреЛрдХрдирд╣рд░реВред GitHub рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рд▓рдиреНрдЪ рдЧрд░рд┐рдПрдХрд╛ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдХрд╛рд╢рдХ рд╕рдВрдпрдиреНрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдЕрдиреНрдп рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдХрд╛рд╢рдХрд╣рд░реВрдХреЛ рд╕рдорд░реНрдерди рднрд╡рд┐рд╖реНрдпрдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдорд░реНрдорддрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдмрд╛рд╣реНрдп OpenID рдкреНрд░рджрд╛рдпрдХрд╣рд░реВ (IdP, OpenID Connect Identity Provider) рд▓рд╛рдИ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЗрдПрдХрд╛ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ PyPI рдкрдХреНрд╖рдорд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗрдЯ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН, рдЬреБрди рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛рд▓реЗ PyPI рдмрд╛рдЯ рдЕрд▓реНрдкрдХрд╛рд▓реАрди рдЯреЛрдХрдирд╣рд░реВ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫред рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХрд╛ OpenID Connect рдЯреЛрдХрдирд╣рд░реВрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд░ рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рдмреАрдЪрдХреЛ рд╕рдореНрдмрдиреНрдз рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ PyPI рд▓рд╛рдИ рдердк рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рдорд╛рдгрд┐рдХрд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕реНрддреИ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрдпрд╛рдХреЗрдЬ рдирд┐рд╢реНрдЪрд┐рдд рднрдгреНрдбрд╛рд░рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ рднрдиреА рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреЗред рдЯреЛрдХрдирд╣рд░реВ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рд╡рд┐рд╢рд┐рд╖реНрдЯ API рдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдЫ, рд░ рдЫреЛрдЯреЛ рдЬреАрд╡рдирдХрд╛рд▓ рдкрдЫрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫред

рдердк рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рд░реНрдЪ 2023 рдорд╛ PyPI рдХреНрдпрд╛рдЯрд▓рдЧрдорд╛ 6933 рдорд╛рд▓рд┐рд╕рд┐рдпрд╕ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рдкрд╣рд┐рдЪрд╛рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рд╕рд╛рде Sonatype рдмрд╛рдЯ рд░рд┐рдкреЛрд░реНрдЯ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдХреБрд▓ рдорд┐рд▓рд╛рдПрд░, 2019 рдкрдЫрд┐, PyPI рдорд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдорд╛рд▓рд┐рд╕рд┐рдпрд╕ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ 115 рд╣рдЬрд╛рд░ рдирд╛рдШреЗрдХреЛ рдЫред рдзреЗрд░реИрдЬрд╕реЛ рдорд╛рд▓рд┐рд╕рд┐рдпрд╕ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдЯрд╛рдЗрдкреЛрд╕реНрдХреНрд╡рд╛рдЯрд┐рдЩреН рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рднреЗрд╖рдорд╛ рд╣реБрдиреНрдЫрдиреН (рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдорд╛ рдлрд░рдХ рд╣реБрдиреЗ рд╕рдорд╛рди рдирд╛рдорд╣рд░реВ рддреЛрдХреНрдиреЗ, рдЙрджрд╛рд╣рд░рдгрдХреЛ рд▓рд╛рдЧрд┐, рдЙрджрд╛рд╣рд░рдгрдХреЛ рд╕рдЯреНрдЯрд╛ рдЙрджрд╛рд╣рд░рдг, django рдХреЛ рд╕рдЯреНрдЯрд╛ django, python рдХреЛ рд╕рдЯреНрдЯрд╛ pyhton, рдЗрддреНрдпрд╛рджрд┐) - рдЖрдХреНрд░рдордгрдХрд╛рд░реАрд╣рд░реВрд▓реЗ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдорд╛ рднрд░ рдкрд░реНрдЫрдиреНред рдЯрд╛рдЗрдкреЛ рд╡рд╛ рдХрд╕рд▓реЗ рдЦреЛрдЬреА рдЧрд░реНрджрд╛ рдирд╛рдордорд╛ рднрд┐рдиреНрдирддрд╛ рджреЗрдЦреНрдпреЛред рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ, рдкрд╣реБрдБрдЪ рдХреБрдЮреНрдЬреАрд╣рд░реВ, рдХреНрд░рд┐рдкреНрдЯреЛ рд╡рд╛рд▓реЗрдЯрд╣рд░реВ, рдЯреЛрдХрдирд╣рд░реВ, рд╕рддреНрд░ рдХреБрдХреАрд╣рд░реВ рд░ рдЕрдиреНрдп рдЧреЛрдкреНрдп рдЬрд╛рдирдХрд╛рд░реАрд╣рд░реВрдХрд╛ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╛рдЗрд▓рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиреЗ рдкрд░рд┐рдгрд╛рдордХреЛ рд░реВрдкрдорд╛ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдлреЗрд▓рд╛ рдкрд░реЗрдХреЛ рдЧреЛрдкреНрдп рдбрд╛рдЯрд╛ рдкрдард╛рдЙрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЦрд░рд╛рдм рдХрд╛рд░реНрдпрд╣рд░реВ рдЖрдЙрдБрдЫрдиреНред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди