بهتره هر روز این نمودار رو ببینیم و از خودمون بپرسم کجای نمودار هستیم؟
اثر دانینگ–کروگر (به انگلیسی: Dunning–Kruger effect) نوعی سوگیری شناختی در افراد غیرحرفهای است که از توهم برتری رنج میبرند و به اشتباه، تواناییشان را بسیار بیش از اندازهٔ واقعی ارزیابی میکنند. این جانبداری به ناتوانی فراشناختی افراد غیرحرفهای در شناسایی ناتوانی های شان نسبت داده میشود. بر خلاف آن، افراد حرفهای، گرایش بیشتری به دستکمگرفتن شایستگی خود داشته و به اشتباه تصور میکنند، کاری که برای ایشان آسان است، برای دیگران نیز آسان خواهد بود. دیوید دانینگ و جاستین کروگر از دانشگاه کرنل اینگونه نتیجه میگیرند: «تخمین نادرست فرد بیلیاقت، از اشتباه در ارزیابی خود ناشی میشود؛ درحالیکه تخمین نادرست افراد بسیار بالیاقت، از اشتباه در ارزیابی دیگران نشئت میگیرد.»
از ویکی پدیا
〰️〰️〰️〰️〰️
©️ @DjangoEx
اثر دانینگ–کروگر (به انگلیسی: Dunning–Kruger effect) نوعی سوگیری شناختی در افراد غیرحرفهای است که از توهم برتری رنج میبرند و به اشتباه، تواناییشان را بسیار بیش از اندازهٔ واقعی ارزیابی میکنند. این جانبداری به ناتوانی فراشناختی افراد غیرحرفهای در شناسایی ناتوانی های شان نسبت داده میشود. بر خلاف آن، افراد حرفهای، گرایش بیشتری به دستکمگرفتن شایستگی خود داشته و به اشتباه تصور میکنند، کاری که برای ایشان آسان است، برای دیگران نیز آسان خواهد بود. دیوید دانینگ و جاستین کروگر از دانشگاه کرنل اینگونه نتیجه میگیرند: «تخمین نادرست فرد بیلیاقت، از اشتباه در ارزیابی خود ناشی میشود؛ درحالیکه تخمین نادرست افراد بسیار بالیاقت، از اشتباه در ارزیابی دیگران نشئت میگیرد.»
از ویکی پدیا
〰️〰️〰️〰️〰️
©️ @DjangoEx
✔️ هشدار هنگام بستن صفحه مرورگر
اگر قصد دارید مرورگر به کاربر هنگام بسته شدن تب به کاربر هشدار بده که آیا برای بستن صفحه اطمینان دارید یا خیر
با استفاده از این کد جاوااسکریپت در بخشی از صفحه html میتونید این هشدار رو بزارید ( توجه کنید در برخی مرورگر ها پیام هشدار شما بصورت دیفالت مرورگر نمایش داده خواهد شد
#سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
اگر قصد دارید مرورگر به کاربر هنگام بسته شدن تب به کاربر هشدار بده که آیا برای بستن صفحه اطمینان دارید یا خیر
با استفاده از این کد جاوااسکریپت در بخشی از صفحه html میتونید این هشدار رو بزارید ( توجه کنید در برخی مرورگر ها پیام هشدار شما بصورت دیفالت مرورگر نمایش داده خواهد شد
close_ok = false
bye_text = 'آیا برای ترک این صفحه مطمئنید ؟ تغییرات ایجاد شده ذخیره نخواهند شد'
window.onbeforeunload = function (e) {
if(close_ok) return null
e = e || window.event;
//old browsers
if (e) {e.returnValue = bye_text;}
//safari, chrome(chrome ignores text)
return bye_text;
};
در کد بالا هر وقت قصد این رو دارید که این هشدار نمایش داده نشه فقط کافیه مقدار close_ok رو به true تغییر بدید#سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
Imgur
Post with 0 views.
⚠️ یک نکته مهم :
آهای شمایی که صفحه لودینگ توی کد html با css تعریف میکنی
این کار برای خوشگلی نیست دوست عزیز 🤦♂️
اگر برای لود کردن محتوا مشکلی وجود نداره و صرفا شما یک تمپلیت رندرینگ انجام میدید و کد جاوااسکریپتی توی صفحه درحال اجرا نیست برای نمایش کامل محتوا بزن اون لودینگ رو حذف کن. یا حداقل تایمش رو بزار روی چند صدم ثانیه
چون با این لودینگ مسخره ای که گذاشتی فقط سئوی سایت رو داغون میکنی و کاربر رو عصبانی
با تشکر #سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
آهای شمایی که صفحه لودینگ توی کد html با css تعریف میکنی
این کار برای خوشگلی نیست دوست عزیز 🤦♂️
اگر برای لود کردن محتوا مشکلی وجود نداره و صرفا شما یک تمپلیت رندرینگ انجام میدید و کد جاوااسکریپتی توی صفحه درحال اجرا نیست برای نمایش کامل محتوا بزن اون لودینگ رو حذف کن. یا حداقل تایمش رو بزار روی چند صدم ثانیه
چون با این لودینگ مسخره ای که گذاشتی فقط سئوی سایت رو داغون میکنی و کاربر رو عصبانی
با تشکر #سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
✔️ وبفریمورکها چگونه کار میکنند؟
🟣 قسمت ۳: توضیح نحوه کارکرد WSGI و Gunicorn
اگر بخواهیم محتوای داینامیک یا پویا رو در سایتمون ارائه بدیم یا حتی محتوای استاتیک و داینامیک رو باهم ارائه بدیم به برنامهای نیاز داریم که اجرا بشه و ریکوئستها رو پردازش کنه.
این برنامه میتونه با هر زبانی نوشته بشه و ما قصد داریم با پایتون اون رو بنویسیم.
در این قسمت مفهوم WSGI رو با توجه مستندات رسمی پایتون توضیح دادم و در نهایت با درک کردن Gunicorn اپلیکیشنمون رو اجرا کردیم.
سعی کردم در این ویدئو انواع اجرا شدن Gunicorn رو هم توضیح بدم که دونستنش خیلی مفیده.
🌐 https://youtu.be/krxOBlqLjjE
#web_framework #python #http #web_server
#یوتوب #یوتیوب #یوتوب_فارسی #یوتیوب_فارسی
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
🟣 قسمت ۳: توضیح نحوه کارکرد WSGI و Gunicorn
اگر بخواهیم محتوای داینامیک یا پویا رو در سایتمون ارائه بدیم یا حتی محتوای استاتیک و داینامیک رو باهم ارائه بدیم به برنامهای نیاز داریم که اجرا بشه و ریکوئستها رو پردازش کنه.
این برنامه میتونه با هر زبانی نوشته بشه و ما قصد داریم با پایتون اون رو بنویسیم.
در این قسمت مفهوم WSGI رو با توجه مستندات رسمی پایتون توضیح دادم و در نهایت با درک کردن Gunicorn اپلیکیشنمون رو اجرا کردیم.
سعی کردم در این ویدئو انواع اجرا شدن Gunicorn رو هم توضیح بدم که دونستنش خیلی مفیده.
🌐 https://youtu.be/krxOBlqLjjE
#web_framework #python #http #web_server
#یوتوب #یوتیوب #یوتوب_فارسی #یوتیوب_فارسی
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
(این یک تبلیغ نیست)
اگر علاقه مند به برنامه نویسی بات و کلاینت تلگرام هستید، به کامیونیتی فارسی پایروگرام بپیوندید.
قبل از ارسال پیام، پیام های پین شده(قوانین) رو مطالعه کنید.
لینک گروه:
@PyrogramIR
〰〰〰〰〰〰
©@DjangoEx
اگر علاقه مند به برنامه نویسی بات و کلاینت تلگرام هستید، به کامیونیتی فارسی پایروگرام بپیوندید.
قبل از ارسال پیام، پیام های پین شده(قوانین) رو مطالعه کنید.
لینک گروه:
@PyrogramIR
〰〰〰〰〰〰
©@DjangoEx
✔️ دیدن مثالهای کاربردی از ماژولها و کتابخانهها یکی از بهترین راههای یادگیری است. علاوه بر آن زمانی که بخواهید مثالی را در پروژههای خود استفاده کنید مطالعه نمونههای انجام شده از قبل میتواند بسیار مفید باشد.
سایت programcreek.com دارای مجموعهای بسیار بزرگ از مثالهای کاربردی ماژولهای Python است.
من برای شما مثالهای Django و Celery را سرچ کردم. باقیش به عهده شما...
پ.ن: مثالهای کاربردی از زبانهای جاوا، سیپلاسپلاس و اسکالا هم در این سایت موجود است.
#module_example #programming #python
〰️〰️〰️〰️〰️〰️
© @DjangoEx
سایت programcreek.com دارای مجموعهای بسیار بزرگ از مثالهای کاربردی ماژولهای Python است.
من برای شما مثالهای Django و Celery را سرچ کردم. باقیش به عهده شما...
پ.ن: مثالهای کاربردی از زبانهای جاوا، سیپلاسپلاس و اسکالا هم در این سایت موجود است.
#module_example #programming #python
〰️〰️〰️〰️〰️〰️
© @DjangoEx
✔️ Dependency Injection
اگر کدها بتونن باهم صحبت کنن، چطوری dependency رو inject میکنن؟
〰️〰️〰️〰️〰️〰️
© @DjangoEx
اگر کدها بتونن باهم صحبت کنن، چطوری dependency رو inject میکنن؟
〰️〰️〰️〰️〰️〰️
© @DjangoEx
Django Expert
✔️ Dependency Injection اگر کدها بتونن باهم صحبت کنن، چطوری dependency رو inject میکنن؟ 〰️〰️〰️〰️〰️〰️ © @DjangoEx
✔️ Dependency Injection در جنگو
جنگو به صورت سنگینی از Dependency Injection استفاده میکنه.
مثلا میبینید که خیلی راحت میتونیم در فایل settings.py یک سری تنظیمات رو مشخص کنیم و خیلی خوشحال اپلیکیشن رو به دیتابیس متصل کنیم. برای نمونه:
یا مثلا در DRF هم شاهد DI های زیادی هستیم
C
متاسفانه توی جامعه پایتونیک راجع به Dependency Injection صحبت زیادی نمیشه. اما بسیار مهم هست و همچنین جزو یکی از اصول SOLID هست و علم به این موضوع هم خالی از لطف نیست.
برای مطالعه کامل تر میتونید Dependency Injection in Python رو سرچ کنید.
〰️〰️〰️〰️〰️〰️
© @DjangoEx
جنگو به صورت سنگینی از Dependency Injection استفاده میکنه.
مثلا میبینید که خیلی راحت میتونیم در فایل settings.py یک سری تنظیمات رو مشخص کنیم و خیلی خوشحال اپلیکیشن رو به دیتابیس متصل کنیم. برای نمونه:
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': REDIS_URL + '/1',
},
یا مثلا در DRF هم شاهد DI های زیادی هستیم
C
lass FooView(APIView):
# The "injected" dependencies:
permission_classes = (IsAuthenticated, )
throttle_classes = (ScopedRateThrottle, )
renderer_classes = (renderers.JSONRenderer,)
متاسفانه توی جامعه پایتونیک راجع به Dependency Injection صحبت زیادی نمیشه. اما بسیار مهم هست و همچنین جزو یکی از اصول SOLID هست و علم به این موضوع هم خالی از لطف نیست.
برای مطالعه کامل تر میتونید Dependency Injection in Python رو سرچ کنید.
〰️〰️〰️〰️〰️〰️
© @DjangoEx
✔️ Monkey Patching در پایتون
🔶 پایتون یک زبان اسکریپتی و duck-type هست (شبیه اردک که اگه بگه کواک یعنی اردک هست!)
🔷 به همین دلیل در هنگام run-time یک برنامه پایتونی میتونیم متدها یا پراپرتی هایی رو به آبجکت ها اضافه کنیم یا تغییرشون بدیم. دقت کنید که این اتفاق در زمان اجرای برنامه رخ میده
✅ به این کار که در پاراگراف بالا توضیح دادیم در دنیای پایتونیک میگیم Monkey Patching. یعنی در هنگام run-time اپلیکیشن یک سری متد(رفتار) یا پراپرتی(ویژگی) به یک آبجکت اضافه میکنیم یا میتونیم تغییرشون بدیم.
نمونه کد برای درک بهتر:
پ ن: میبینیم که متد speak به آبجکت SomeClass مثل یک میمون چسبیده (مفهوم مانکی پچینگ) و از این به بعد این آبجکت دارای رفتار speak خواهد بود.
پ ن۲: عکسی که مشاهده میکنید هیرو مانکی کینگ دوتا۲ هست
پ ن ۳: به باغ وحش پایتون خوش اومدید
〰️〰️〰️〰️〰️〰️
© @DjangoEx
🔶 پایتون یک زبان اسکریپتی و duck-type هست (شبیه اردک که اگه بگه کواک یعنی اردک هست!)
🔷 به همین دلیل در هنگام run-time یک برنامه پایتونی میتونیم متدها یا پراپرتی هایی رو به آبجکت ها اضافه کنیم یا تغییرشون بدیم. دقت کنید که این اتفاق در زمان اجرای برنامه رخ میده
✅ به این کار که در پاراگراف بالا توضیح دادیم در دنیای پایتونیک میگیم Monkey Patching. یعنی در هنگام run-time اپلیکیشن یک سری متد(رفتار) یا پراپرتی(ویژگی) به یک آبجکت اضافه میکنیم یا میتونیم تغییرشون بدیم.
نمونه کد برای درک بهتر:
from Module import SomeClass
def speak(self):
return "ook ook eee eee eee!"
SomeClass.speak = speak
پ ن: میبینیم که متد speak به آبجکت SomeClass مثل یک میمون چسبیده (مفهوم مانکی پچینگ) و از این به بعد این آبجکت دارای رفتار speak خواهد بود.
پ ن۲: عکسی که مشاهده میکنید هیرو مانکی کینگ دوتا۲ هست
پ ن ۳: به باغ وحش پایتون خوش اومدید
〰️〰️〰️〰️〰️〰️
© @DjangoEx
Forwarded from DevOps Expert (Aliakbar Hemmati)
✔️ داکر برای برنامه نویسان - قسمت ۷ منتشر شد
در این دوره یاد میگیریم کانتینرها چی هستند و چطور با داکر میتونیم اونها اجرا کنیم. همچنین مطالبی که یک برنامه نویس باید برای نوشتن برنامههای داکرایز شده بدونه رو پوشش میدیم.
🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ
🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq
🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF
🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR
🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd
#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
در این دوره یاد میگیریم کانتینرها چی هستند و چطور با داکر میتونیم اونها اجرا کنیم. همچنین مطالبی که یک برنامه نویس باید برای نوشتن برنامههای داکرایز شده بدونه رو پوشش میدیم.
🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ
🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq
🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF
🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR
🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd
#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
تا چه میزان از مطالب کانال رضایت دارید؟
Anonymous Poll
23%
معرکه است😍
40%
خوبه😃
17%
بد نیست 😒
2%
بده 😤
5%
اینا چیه میزارید 🤬
13%
اصلا نمیدونم جنگو چیه🙄 (دیدن نتایج)
👍1
#کارجو #کارآموز #کارآموزی
سلام و وقت بخیر مهدی حسینی هستم به دنبال یک فرصت کاراموزی جنگو و پایتون هستم.
من حدود دو سالی میشه پایتون رو شروع کردم و تسلط نسبتا خوبی به پایتون دارم. علاوه بر این شش ماهی میشه یادگیری جنگو رو شروع کردم و برای اینکه ادامه یادگیریم بازده بالا تری داشته باشه به دنبال کارآموزی تو محیط کاری هستم تا علاوه بر افزایش مهارتم تو برنامه نویسی بتونم تجربه کار تو محیط کاری رو داشته باشم .
مهارت هایی که دارم:
python, Django, html & css, bootstrap, Git, Linux(lpic)
آشنایی مقدماتی با nlp و ماشین لرنینگ
سن : 20
شهر : زنجان(امکان دورکاری را دارم)
مدرک : دانشجوی ترم ۴ کامپیوتر
ایمیل :
👉🏻Link: [email protected]
آدرس لینکداین:
👉🏻Link: www.linkedin.com/in/mehdi-hoseyni/
رزومه :
👉🏻Link:https://cvbuilder.me/Resume/en/c7001685-f954-4531-8135-28da94f056bb?template=Template6
〰〰〰〰〰
@DjangoEx
سلام و وقت بخیر مهدی حسینی هستم به دنبال یک فرصت کاراموزی جنگو و پایتون هستم.
من حدود دو سالی میشه پایتون رو شروع کردم و تسلط نسبتا خوبی به پایتون دارم. علاوه بر این شش ماهی میشه یادگیری جنگو رو شروع کردم و برای اینکه ادامه یادگیریم بازده بالا تری داشته باشه به دنبال کارآموزی تو محیط کاری هستم تا علاوه بر افزایش مهارتم تو برنامه نویسی بتونم تجربه کار تو محیط کاری رو داشته باشم .
مهارت هایی که دارم:
python, Django, html & css, bootstrap, Git, Linux(lpic)
آشنایی مقدماتی با nlp و ماشین لرنینگ
سن : 20
شهر : زنجان(امکان دورکاری را دارم)
مدرک : دانشجوی ترم ۴ کامپیوتر
ایمیل :
👉🏻Link: [email protected]
آدرس لینکداین:
👉🏻Link: www.linkedin.com/in/mehdi-hoseyni/
رزومه :
👉🏻Link:https://cvbuilder.me/Resume/en/c7001685-f954-4531-8135-28da94f056bb?template=Template6
〰〰〰〰〰
@DjangoEx
cvbuilder.me
mehdi hoseyni's Resume
computer science student
I am python and django web developer(and also drf)
Has the ability linux and Postgras
I am python and django web developer(and also drf)
Has the ability linux and Postgras
#استخدام #ریموت #شغل #موقعیت_شغلی #job #career #react_native #js
استخدام برنامهنویس موبایل (سطح Mid - Senior) مسلط به React Native به صورت تماموقت و ریموت
🏢شرکت agileful
اطلاعات بیشتر: (WebSite) (LinkedIn)
موقعیت شرکت: آلمان 🇩🇪، برلین (ریموت)
📨ارسال رزومه و اطلاعات بیشتر:
[email protected]
〰️〰️〰️〰️〰️
@DjangoEx
استخدام برنامهنویس موبایل (سطح Mid - Senior) مسلط به React Native به صورت تماموقت و ریموت
🏢شرکت agileful
اطلاعات بیشتر: (WebSite) (LinkedIn)
موقعیت شرکت: آلمان 🇩🇪، برلین (ریموت)
📨ارسال رزومه و اطلاعات بیشتر:
[email protected]
〰️〰️〰️〰️〰️
@DjangoEx
✔️ جاوا اسکریپت مدرن (از پایه با کلی پروژه)
۰۶۱ - مینی پروژه ۲: آکاردیون منو با جاوا اسکریپت!
🖥 تماشا در یوتیوب
۰۶۲ - داینامیک کردن آکاردیون
🖥 تماشا در یوتیوب
۰۶۳ - حذف کلاس show از سایر wrapper ها
🖥 تماشا در یوتیوب
۰۶۴ - افزودن انیمیشن باز و بسته شدن آکاردیون منو
🖥 تماشا در یوتیوب
۰۶۵ - اضافه کردن استایل های بیشتر به منوی آکاردیون
🖥 تماشا در یوتیوب
۰۶۶ - چطوری بتونیم هر چقدر که بخواییم آکاردیون داشته باشیم؟
🖥 تماشا در یوتیوب
#جاوا_اسکریپت #es6 #منهای_جنگو
〰️〰️〰️〰️〰️
©️ @DjangoEx
۰۶۱ - مینی پروژه ۲: آکاردیون منو با جاوا اسکریپت!
🖥 تماشا در یوتیوب
۰۶۲ - داینامیک کردن آکاردیون
🖥 تماشا در یوتیوب
۰۶۳ - حذف کلاس show از سایر wrapper ها
🖥 تماشا در یوتیوب
۰۶۴ - افزودن انیمیشن باز و بسته شدن آکاردیون منو
🖥 تماشا در یوتیوب
۰۶۵ - اضافه کردن استایل های بیشتر به منوی آکاردیون
🖥 تماشا در یوتیوب
۰۶۶ - چطوری بتونیم هر چقدر که بخواییم آکاردیون داشته باشیم؟
🖥 تماشا در یوتیوب
#جاوا_اسکریپت #es6 #منهای_جنگو
〰️〰️〰️〰️〰️
©️ @DjangoEx
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ دمو مینی پروژه ۲: آکاردیون منو با جاوا اسکریپت!
🖥 تماشا در یوتیوب
#جاوا_اسکریپت #es6 #منهای_جنگو
〰️〰️〰️〰️〰️
©️ @DjangoEx
🖥 تماشا در یوتیوب
#جاوا_اسکریپت #es6 #منهای_جنگو
〰️〰️〰️〰️〰️
©️ @DjangoEx
✔️ ساخت سرویس Online Judge
شاید با سرویسهای Hakerrank و LeetCode و Quera.ir کار کرده باشید.
یکی از امکانات این سایتها ساخت contest برای زبانهای برنامهنویسی است. بخش جالب ماجرا آنجاست که این سرویسها قابلیت اجرای کد در اکثر زبانها را دارند و صحت خروجی را نیز بررسی میکنند.
پیادهسازی چنین سرویسهایی پر از چالش است. مهمترین آن ایجاد فضای ایزوله و امن برای اجرای هر قطعه کد است.
دیدن نمونه زیر که با فریمورک جنگو طراحی شدهاست میتواند بسیار مفید باشد.
https://github.com/DMOJ/online-judge
#django #online_judge
〰️〰️〰️〰️〰️
©️ @DjangoEx
شاید با سرویسهای Hakerrank و LeetCode و Quera.ir کار کرده باشید.
یکی از امکانات این سایتها ساخت contest برای زبانهای برنامهنویسی است. بخش جالب ماجرا آنجاست که این سرویسها قابلیت اجرای کد در اکثر زبانها را دارند و صحت خروجی را نیز بررسی میکنند.
پیادهسازی چنین سرویسهایی پر از چالش است. مهمترین آن ایجاد فضای ایزوله و امن برای اجرای هر قطعه کد است.
دیدن نمونه زیر که با فریمورک جنگو طراحی شدهاست میتواند بسیار مفید باشد.
https://github.com/DMOJ/online-judge
#django #online_judge
〰️〰️〰️〰️〰️
©️ @DjangoEx
GitHub
GitHub - DMOJ/online-judge: A modern open-source online judge and contest platform system.
A modern open-source online judge and contest platform system. - DMOJ/online-judge
#python #cli #terminal
Rich is a Python library for rich text and beautiful formatting in the terminal.
The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more — out of the box.
https://github.com/willmcgugan/rich
〰️〰️〰️〰️〰️
©️ @DjangoEx
Rich is a Python library for rich text and beautiful formatting in the terminal.
The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more — out of the box.
https://github.com/willmcgugan/rich
〰️〰️〰️〰️〰️
©️ @DjangoEx