Astral บริษัทเจ้าของ uv package manager และ Ruff linter ที่ได้รับความนิยม ได้เปิดตัว PYX ซึ่งเป็น private Python package registry เชิงพาณิชย์ที่ออกแบบมาเพื่อแก้ไขปัญหาที่มีมานานในการจัดการแพ็กเกจ Python โดยเฉพาะสำหรับงานที่ใช้ GPU อย่างหนักและสภาพแวดล้อมองค์กร นี่เป็นผลิตภัณฑ์เชิงพาณิชย์หลักแรกของ Astral ในขณะที่ยังคงมุ่งมั่นที่จะรักษาเครื่องมือหลักอย่าง uv และ Ruff ให้เป็น open source
โมเดลธุรกิจของ Astral :
- เครื่องมือหลัก (uv, Ruff) ยังคงฟรีและเป็นโอเพนซอร์ส
- รายได้เชิงพาณิชย์จากบริการโฮสต์อย่าง PYX
- Private package registry ที่มุ่งเป้าไปยังลูกค้าองค์กรขนาดใหญ่
- การเข้าถึงแบบ waitlist สำหรับการเปิดตัวครั้งแรก
- การจ้างงานทีมวิศวกรรมในระดับเงินเดือน $250K USD ขึ้นไป
- จัดตั้งกองทุนโอเพนซอร์สมูลค่า $26K USD ต่อปี
แก้ไขปัญหาการติดตั้งแพ็กเกจ GPU ที่น่าปวดหัว
ชุมชน Python ได้ต่อสู้กับปัญหาการติดตั้งแพ็กเกจที่เกี่ยวข้องกับ GPU อย่าง PyTorch, CUDA libraries และ machine learning frameworks มานาน แพ็กเกจเหล่านี้มักต้องการการกำหนดค่าฮาร์ดแวร์เฉพาะและอาจเกี่ยวข้องกับ dependency chains ที่ซับซ้อนซึ่งมักจะเสียหายระหว่างการติดตั้ง PYX มีเป้าหมายที่จะแก้ไขปัญหานี้โดยการจัดหา GPU-aware package management ที่เลือกเวอร์ชันที่สร้างไว้ล่วงหน้าที่เหมาะสมโดยอัตโนมัติตามการกำหนดค่าฮาร์ดแวร์ของคุณ
registry นี้รักษา curated indices สำหรับ hardware accelerators ที่แตกต่างกัน (CUDA, ROCm, CPU) พร้อมกับ pre-built artifacts ที่ผ่านการทดสอบความเข้ากันได้ในชุดค่าผสมต่างๆ ของแพ็กเกจ เวอร์ชัน Python และเวอร์ชัน PyTorch วิธีการนี้สัญญาว่าจะขจัดกระบวนการลองผิดลองถูกที่นักพัฒนาหลายคนต้องเผชิญเมื่อตั้งค่าสภาพแวดล้อม machine learning
คุณสมบัติหลักของ PYX :
- การเลือกแพ็กเกจที่รองรับ GPU โดยอิงจากการกำหนดค่าฮาร์ดแวร์
- ดัชนีที่คัดสรรมาแล้วสำหรับ CUDA , ROCm และตัวเร่งความเร็ว CPU
- การกรองความปลอดภัยตามความนิยมของแพ็กเกจ อายุ และช่องโหว่
- การบังคับใช้กฎการปฏิบัติตามข้อกำหนดแบบกำหนดเอง
- อ้างว่ามีประสิทธิภาพเร็วกว่าคู่แข่งในตลาดส่วนตัวถึง 10 เท่า
- การรวมเข้ากับตัวจัดการแพ็กเกจ uv
- การโฮสต์แพ็กเกจส่วนตัวสำหรับองค์กร
คุณสมบัติที่เน้นองค์กรและการอ้างสมรรถนะ
นอกเหนือจากการสนับสนุน GPU แล้ว PYX ยังมุ่งเป้าไปที่ผู้ใช้องค์กรด้วยคุณสมบัติด้านความปลอดภัยและการปฏิบัติตามข้อกำหนด บริการนี้ช่วยให้องค์กรสร้าง dedicated index URLs ที่กรองแพ็กเกจตามความนิยม อายุ และช่องโหว่ที่ทราบ บริษัทต่างๆ สามารถเข้ารหัสกฎการปฏิบัติตามข้อกำหนดของตนเองและรับประกัน reproducible builds ในฝั่งเซิร์ฟเวอร์
Astral อ้างว่า PYX ให้การปรับปรุงประสิทธิภาพที่เร็วกว่า private registries อื่นๆ หนึ่งอันดับผ่าน optimized artifacts และ uv-native metadata APIs บริการนี้ยังสัญญาว่าจะให้ dependency resolution ที่ดีขึ้นโดยการจัดหา queryable metadata ที่ช่วยให้เครื่องมืออย่าง uv วางแผนการติดตั้งล่วงหน้าและติดตั้งแพ็กเกจแบบขนานได้
การตอบสนองของชุมชนและความกังวลเรื่องโมเดลธุรกิจ
ปฏิกิริยาของชุมชน Python ค่อนข้างหลากหลาย โดยหลายคนชื่นชมนวัตกรรมทางเทคนิคในขณะที่แสดงความกังวลเกี่ยวกับการพึ่งพาโครงสร้างพื้นฐานที่ได้รับการสนับสนุนจาก venture capital นักพัฒนาบางคนกังวลเกี่ยวกับความยั่งยืนในระยะยาวและศักยภาพสำหรับการเปลี่ยนแปลงการสร้างรายได้ในอนาคต โดยเปรียบเทียบกับโปรเจ็กต์ open source อื่นๆ ที่ในที่สุดก็เปลี่ยนไปใช้โมเดลการให้สิทธิ์การใช้งานที่เข้มงวดมากขึ้น
อย่างไรก็ตาม Astral ได้โปร่งใสเกี่ยวกับกลยุทธ์ทางธุรกิจของพวกเขาตั้งแต่เริ่มต้น บริษัทวางแผนที่จะรักษาเครื่องมือหลักของพวกเขาให้ฟรีและเป็น open source ในขณะที่สร้างรายได้จาก hosted services ที่เสริมเครื่องมือเหล่านี้ วิธีการนี้มีเป้าหมายที่จะสร้างโมเดลธุรกิจที่ยั่งยืนโดยไม่ทำลายลักษณะ open source ของเครื่องมือพัฒนาที่ได้รับความนิยม
แก้ไขความซับซ้อนของ Python Packaging
การประกาศนี้ได้จุดประกายการอภิปรายเกี่ยวกับระบบนิเวศการจัดการแพ็กเกจของ Python ที่มีความซับซ้อนอย่างฉาวโฉ่ ในขณะที่ภาษาอย่าง Go และ Node.js มีการจัดการแพ็กเกจที่ค่อนข้างตรงไปตรงมา นักพัฒนา Python ต้องเดินทางผ่านเครื่องมือหลายตัวรวมถึง pip, poetry, conda และตอนนี้ uv ความซับซ้อนนี้เกิดจากความจำเป็นของ Python ในการจัดการไม่เพียงแต่โค้ด Python เท่านั้น แต่ยังรวมถึง compiled extensions ใน C, C++, Fortran และภาษาอื่นๆ
PYX เป็นความพยายามในการลดความซับซ้อนของภูมิทัศน์นี้โดยการจัดหาวิธีการที่ชาญฉลาดและตระหนักถึงฮาร์ดแวร์มากขึ้นในการแจกจ่ายแพ็กเกจ ว่าจะประสบความสำเร็จในการลดความซับซ้อนที่รบกวน Python packaging มานานหลายปีหรือไม่นั้นยังต้องติดตามดู แต่การตอบสนองในช่วงแรกแสดงให้เห็นความสนใจอย่างมากจากนักพัฒนาที่เหนื่อยหน่ายกับการต่อสู้กับ dependency conflicts และความล้มเหลวในการติดตั้ง
บริการนี้ปัจจุบันมีให้บริการผ่านระบบ waitlist โดยมุ่งเป้าไปที่ลูกค้าองค์กรที่ต้องการ private package registries และการจัดการ dependency ที่เชื่อถือได้มากขึ้นสำหรับแอปพลิเคชันที่ใช้ Python
อ้างอิง: The next step in Python packaging