24 کتابخانه کاربردی برای توسعه‌دهندگان پایتون – بخش اول
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 6 دقیقه

24 کتابخانه کاربردی برای توسعه‌دهندگان پایتون – بخش اول

به دنبال یک دلیل خوب برای یادگیری پایتون هستید؟ پایتون کتابخانه‌های بسیار زیادی دارد. منظورم از کلمه «زیاد» واقعا زیاد است. یکی از اصلی‌ترین مزیت‌های این موضوع کاربردی‌ بودن پایتون در عرصه‌های مختلف است. یک توسعه‌دهنده پایتون قابلیت کار با پایتون در عرصه‌های مختلف را دارد. از برنامه‌نویسی برای دسکتاپ‌ گرفته تا اپلیکیشن موبایل، وب و… .

به همین دلیل در مجموعه دو قسمتی تصمیم گرفته‌ایم تا شما را با ۲۴ کتابخانه از پایتون آشنا کنیم که می‌توانند در موارد مختلفی کاربرد داشته باشند. 

Apache Libcloud

با استفاده از Apache Libcloud شما قابلیت دسترسی به سرویس‌دهندگان مختلف ابری از طریق یک API را خواهید داشت. دلیل استفاده از این کتابخانه آن است که روشی یکپارچه برای کار با سرویس‌دهندگان ابری را داشته باشید، چرا که سرویس‌ دهندگان مختلف مکانیسم‌های متفاوتی را برای تعامل برقرار کردن ارائه می‌کنند. این کتابخانه برای نسخه‌های مختلف پایتون در دسترس است و از آنجایی که با PyPy و JIT نیز کار می‌کند کارایی بالایی را ارائه می‌دهد.

Arrow

Arrow یک کتابخانه برای مدیریت ساده‌تر تاریخ و زمان در پایتون است. دلیل استفاده از این کتابخانه آن است که قابلیت‌های بسیاری را برای مدیریت زمان به شما می‌دهد. در مقایسه با کتابخانه استاندارد پایتون برای مدیریت زمان، این مورد بسیار کارکرد ساده‌تری دارد، همچنین ۴ ویژگی اصلی را نیز ارائه می‌کند. یک، Arrow متدهایی با کارکرد واضحی را ارائه می‌کند، برای مثال متدهای .now() و .utcnow()؛ دو، متدهایی در Arrow وجود دارد که برای تبدیل زمان بسیار کاربردی هستند؛ سه، قالب نمایشی تاریخ‌ها و زمان‌ها خوانایی بسیار بالاتری دارند و در نهایت گزینه چهارم آنکه محلی کردن تاریخ/زمان در این کتابخانه بسیار ساده‌تر از کتابخانه استاندارد پایتون انجام می‌شود.

Behold

اگر بخواهیم به یک راهکار ساده برای دیباگ کردن کدها اشاره کنیم، باید بگویم که نوشتن دستور print. شما برای نمایش خروجی از این مورد استفاده می‌کنید. اما اگر پروژه شما بزرگ باشد انجام چنین کاری بسیار سخت‌تر از چیزی که انتظارش را داریم پیش خواهد رفت. Behold راه‌حلی برای این مشکل خواهد بود. با استفاده از این کتابخانه می‌توانید ظاهری منحصر به فرد به خروجی‌های مربوط به عملیات دیباگینگ بدهید. Behold از سناریوهای مختلف پایتون مانند پرینت یک شئ، دیکشنری،‌ لیست و… پشتیبانی می‌کند.

Black

 ‌Black یک ابزار Formatting است که کدهای شما را دریافت کرده و براساس قواعد زبان پایتون آن‌ها را قالب‌دهی می‌کند. این کتابخانه ویژگی‌های مختلفی دارد که همه آن‌ها از طریق فایل‌های موجود قابل تنظیم و پیکربندی هستند.

Bottle 

Bottle یکی از سریع‌ترین کتابخانه‌های پایتونی برای ایجاد اپلیکیشن‌های مبتنی بر وب است. اگر قصد ایجاد یک RESTful API یا یک فریمورک وب را دارید می‌توانید از کتابخانه کوچک و سریع Bottle بهره بگیرید. این کتابخانه به صورت پیشفرض قابلیت‌هایی مانند Routing، Template، دسترسی به داده‌های request و response، پشتیبانی از انواع سرور‌ها، پشتیبانی از ویژگی‌های پیچیده مانند WebSockets و… را می‌دهد. 

Click

با استفاده از Click می‌توانید به سرعت رابط‌های متنی را برای اپلیکیشن‌های پایتونی ایجاد کنید. درست است که رابط کاربری گرافیکی جذابیت بالایی دارد اما قدرت اصلی در CLI است. جدای از آن کار با یک رابط CLI بسیار سریع‌تر از کار با رابط‌های گرافیکی است. ایجاد یک رابط کاربری متنی با استفاده از پایتون خالص می‌تواند کار سخت و زمان‌بری باشد اما با استفاده از Click این موضوع به سادگی حل خواهد شد. اگر قصد ایجاد چند دستور ساده را داشته باشید کار با این ابزار و پیاده‌سازی ویژگی‌های مورد نیازتان بسیار ساده خواهد بود.

EbookLib

EbookLib یک ابزار برای ساده‌سازی روند ساخت فایل‌های epub استفاده می‌شود. این کتابخانه از Epub2 و Epub3 پشتیبانی کرده و همچنین می‌‌تواند با Kindle نیز کار بکند. با استفاده از EbookLib می‌توانید متون و تصاویری که در قالب HTML قرار گرفته‌اند را به یک کتاب کامل با جدول محتوا، ساختار متنی درست و… تبدیل کنید. یک کتابخانه جایگزین برای این مورد نیز وجود دارد که Mkepub نام داشته و ظاهرا ویژگی‌های بیشتری را ارائه می‌کند. البته کار با EbookLib بسیار ساده‌تر است.

Gooey

با استفاده از Gooey می‌توانید برای یک اپلیکیشن مبتنی بر خط فرمان، یک رابط کاربری گرافیکی را ایجاد کنید. این حالت را می‌توان بهترین شیوه برای تشویق کاربران برای استفاده از اپلیکیشن‌های‌تان دانست. Gooey برای ایجاد رابط کاربری گرافیکی از WxPython استفاده می‌کند. از طرفی دیگر باید گفت که تمام دستورات و موارد در محیط کامند-لاین با المان‌ها و برچسب‌های مرتبط در محیط گرافیکی نمایش داده می‌شوند. 

Invoke

Invoke را می‌توان یک مدیر وظایف دانست که می‌تواند کارهای مختلفی را به صورت خودکار انجام دهد. البته این روند‌های خودکار را باید برنامه‌نویس تعریف کند. با این حال از طریق APIهای تعریف شده در این کتابخانه می‌توانید موارد مختلفی را اجرا کنید. 

Nuitka

با استفاده از این کتابخانه می‌توانید کدهای پایتونی را به برنامه‌های اجرایی C تبدیل کنید. از این جهت Nutika درست مانند Cython عمل می‌کند. البته با وجود آنکه Cython دستورات و سینتکس منحصر به فرد خود را دارد اما Nutika تقریبا با هرگونه اپلیکیشن پایتونی می‌تواند کار کند. یکی از ویژگی‌های بسیار ویژه این کتابخانه قابلیت بهینه‌سازی کدها در روال تبدیل آن به کدهای C است. البته Nutika هنوز در حال توسعه بوده و نسخه پایدار آن منتشر نشده است. با این حال به نظر می‌رسد که بعد از انتشار با یکی از راه‌حل‌های بسیار مناسب در جهت سریع‌ کردن اپلیکیشن‌ها طرف باشیم. 

Numba

دنیای پایتون پر از کتابخانه‌هایی است که سعی در تسریع عملیات‌های ریاضی را دارند. برای مثال NumPy یکی از سریع‌ترین کتابخانه‌های پایتونی نوشته شده با زبان C است. باید گفت که NumPy در عملیات‌های ریاضی واقعا به دانشمندان و مهندسان علم ریاضیات کمک می‌کند. اما Numba از طرفی دیگر با استفاده از تکنیک‌های خاص خود سرعت اجرای برنامه‌ها را بسیار بالاتر می‌برد. البته باید گفت که با استفاده از Numba شما می‌توانید از کارکردهای مربوط به NumPy نیز استفاده کنید.

Openpyxl

با استفاده از کتابخانه Openpyxl می‌توانید فایل‌های اکسل را مدیریت کنید. این ابزار قابلیت خودکارسازی روند ایجاد صفحات گسترده، فرمو‌ل‌ها و حتی پر کردن سلول‌های داده را به شما می‌دهد. جدای از این موارد شما قابلیت تغییر مشخصات داده‌های اکسل را نیز دارید. بعد از کار با این ابزار متوجه خواهید شد که استفاده از چنین موردی واقعا می‌تواند کاربردی باشد.

در پایان

در اولین مطلب از مجموعه دو مطلبی «24 کتابخانه کاربردی برای توسعه‌دهندگان پایتون» ما تلاش داشتیم تا شما را با ۱۲ کتابخانه اول این مجموعه آشنا کنیم. در مطلب بعدی این مجموعه ۱۲ مورد بعدی را بررسی خواهیم کرد. 

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

/@arastoo
ارسطو عباسی
کارشناس تولید و بهینه‌سازی محتوا

کارشناس ارشد تولید و بهینه‌سازی محتوا و تکنیکال رایتینگ - https://arastoo.net

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید