مخزن PyPI اخیرا سیستم جدیدی به نام آرشیو پروژه یا ” Archive Project” را معرفی کرده است که به توسعه دهندگان این امکان را میدهد که پروژههای خود را آرشیو کرده و به کاربران اطلاع دهند که دیگر به روزرسانی جدیدی در آینده منتشر نخواهد شد.
PyPI یک مخزن آنلاین است که برای توزیع و مدیریت بستههای نرمافزاری پایتون طراحی شده است. این پلتفرم به توسعهدهندگان این امکان را میدهد که بستههای پایتون (کتابخانهها، ابزارها و سایر پکیجها) را منتشر کرده و آنها را برای استفاده در پروژههای مختلف در دسترس دیگران قرار دهند.
با اضافه شدن سیستم آرشیو، پروژهها همچنان در PyPI میزبانی خواهند شد و کاربران میتوانند آنها را دانلود کنند، اما هشداری در مورد وضعیت نگهداری پروژه به آنها نمایش داده میشود تا تصمیمگیری آگاهانهتری در مورد الزامات پروژه خود داشته باشند. این اقدام به منظور محافظت از توسعهدهندگان و کاربران در برابر پکیجهای مخربی مانند Zebo و Cometlogger انجام شده است که اطلاعات حساس را میربایند.
با استفاده از این سیستم بایگانی، پروژههایی که دیگر نگهداری نمیشوند یا بهروزرسانیهای آنها متوقف شده است، بهعنوان “بایگانی شده” علامتگذاری میشوند. این علامتگذاری به توسعهدهندگان هشدار میدهد که این پکیجها ممکن است بهروزرسانیهای امنیتی دریافت نکنند و استفاده از آنها ممکن است خطرناک باشد.
PyPI توصیه میکند که مدیران پروژه پیش از آرشیو کردن یک پروژه، نسخه نهایی را منتشر کنند که جزئیات و توضیحاتی در مورد دلیل آرشیو کردن پروژه را ارائه میدهد، اگرچه این کار الزامی نیست. مدیران پروژه میتوانند هر زمان که بخواهند پروژه خود را از حالت آرشیو خارج کنند و آن را در صورت تمایل برای ادامه کار فعال کنند.
این سیستم جدید از یک مدل LifecycleStatus استفاده میکند که ابتدا برای قرنطینه پروژهها توسعه یافته بود و شامل یک ماشین وضعیت است که انتقال بین وضعیتهای مختلف را امکانپذیر میسازد.
زمانی که مالک پروژه گزینه « Archive Project» را در صفحه تنظیمات PyPI انتخاب میکند، پلتفرم بهطور خودکار متادیتای پروژه را بهروزرسانی کرده و وضعیت جدید را نمایش میدهد.
به گفته TrailofBits، برنامههایی برای اضافه کردن دیگر وضعیتهای پروژههای مانند «منسوخشده»، «تکمیل ویژگیها» و «غیر قابل نگهداری» وجود دارد که به کاربران کمک میکند تا تصویر واضحتری از وضعیت پروژه داشته باشند.
این سیستم جدید سعی دارد شفافیت نگهداری پروژههای متنباز را بهبود بخشد، حدس و گمانها را حذف کرده و سیگنال واضحی در مورد وضعیت پروژه ارائه دهد.