A Python utility library for keyboard shortcuts, file tools, audio helpers and workflow utilities
Project description
============/Abdo☆code===============
مكتبة abdocode توفر أدوات مساعدة قوية لتطبيقات بايثون، خاصة العمليات المرتبطة بالاختصارات، إدارة الملفات، الصوت، والمزيد.
المميزات:
- نظام اختصارات لوحة مفاتيح سهل الاستخدام مع إدارة تشغيل الأحداث.
- أدوات تعديل الحافظة ونسخ/لصق تاريخي.
- وظائف قراءة وكتابة ملفات نصية، والبحث عن الملفات.
- تحويل نصوص وحسابات سريعة، بالإضافة إلى أدوات الوقت والتاريخ.
- دعم صوتي ذكي لتشغيل نغمات ومقاطع موسيقية باستخدام
sounddevice. - أدوات HTTP بسيطة لتنزيل وقراءة JSON من الإنترنت.
- مدير إعدادات وقيم مع وظائف مساعدة لتهيئة واستخدام الإعدادات.
- نظام تسجيل وتدفق أحداث مع
EventBusومحرّك لوغاريتمي للتطبيقات البسيطة.
التثبيت:
pip install abdocode
الكاتب
- name: abdalla emad
- age: 13 years
توضيح تعديلات النوافذ المنبثقة (آخر التحديثات)
- تم تحديث سلوك النوافذ المنبثقة المتعلقة بالاختصارات والأصوات لتكون تفاعلية ومناسبة للاستخدام كمكتبة:
- النقر بزر الفأرة الأيمن (
Button-3) يعرض نافذة منبثقة لقائمة الاختصارات القابلة للبحث. - الضغط المتسلسل
Ctrl+Sثم.يفتح نافذة منبثقة للأصوات المسجّلة. - عناصر القوائم تُعرض كأزرار قابلة للنقر: النقر على زر الاختصار يجري تشغيل الحدث المسجّل، والنقر على زر الصوت يشغل نغمة (في خيط منفصل لتجنب تجميد الواجهة).
- الربط غير مفعل تلقائيًا عند استيراد المكتبة — استخدم
enable_shortcuts_ui(root)لربط النوافذ بجذرtkinterعندما تريد تفعيل السلوك داخل تطبيقك.
- النقر بزر الفأرة الأيمن (
ملاحظة: صُممت هذه الميزات لتكون صديقة للمكتبات؛ لا تفرض تغييرات على تطبيق المستخدم إلا بعد استدعاء التهيئة اليدوية.
3. لوحة الحافظة والملفات
write_clipboard(root, text): يضع نصًا في الحافظة.read_clipboard(root): يقرأ نصًا من الحافظة.clear_clipboard(root): ينظف الحافظة.read_text_file(path, encoding='utf-8'): يقرأ ملفًا نصيًا.write_text_file(path, text, encoding='utf-8'): يكتب إلى ملف نصي.append_text_file(path, text, encoding='utf-8'): يلحق نصًا في نهاية ملف.list_files(folder, extension=None, recursive=False): يسرد الملفات في مجلد.find_files(folder, pattern, recursive=True, extension=None): يبحث عن ملفات بنمط مع دعم التكرار.
4. أدوات النص
normalize_whitespace(text): ينظف الفراغات المتكررة.count_words(text): يعد الكلمات في النص.to_title_case(text): يحول النص إلى حالة العنوان.snake_to_camel(text)وcamel_to_snake(text): تحويل أسماء المتغيرات.remove_punctuation(text): يزيل علامات الترقيم.
5. مؤقتات وجدولة
set_timeout(callback, delay, *args, **kwargs): ينفّذ وظيفة بعد تأخير.set_interval(callback, interval, *args, **kwargs): ينفّذ وظيفة بشكل متكرر.cancel_timer(timer_id): يوقف مؤقتًا مسجّلًا.active_timers(): يعرض المؤقتات الحالية.
6. معلومات النظام
get_system_info(): يسترجع معلومات النظام الأساسية.get_environment_variables(): يقرأ متغيرات البيئة.open_folder(path): يفتح مجلدًا في مدير الملفات.get_file_size(path): يعرض حجم الملف.
7. واجهات المستخدم المبسطة
show_info(title, message): يعرض رسالة معلومات.show_warning(title, message): يعرض تحذيرًا.show_error(title, message): يعرض خطأ.ask_yes_no(title, message): يطلب تأكيد نعم/لا.ask_input(title, prompt, default=''): يطلب إدخال نص.simple_popup(root, title, message): يعرض نافذة منبثقة بسيطة.
8. صوت وموسيقى
note_to_frequency(note): يحول اسم نغمة إلى تردد صوتي.play_tone(note, duration=0.2, volume=0.5, waveform='sine'): يشغّل نغمة.play_notes(sequence, tempo=120, volume=0.4, waveform='sine'): يشغّل سلسلة نغمات.
9. التحقق من القيم والصيغ
is_integer(value),is_float(value),is_string(value),is_list(value),is_dict(value),is_boolean(value): فحوصات نوع القيمة.validate_schema(data, schema, path=''): يتحقق من بنية البيانات.ensure_schema(data, schema): يضمن تطابق البيانات مع المخطط.assert_type(value, expected_type): يؤكد نوع قيمة.
10. JSON وبيانات
load_json(path, encoding='utf-8'): يقرأ JSON من ملف.save_json(path, data, encoding='utf-8', indent=4): يحفظ JSON.merge_dicts(*dicts, deep=True): يدمج قواميس عميقًا.deep_get(data, path, default=None, separator='.'): يحصل على قيمة متداخلة.deep_set(data, path, value, separator='.'): يعيّن قيمة متداخلة.
11. طلبات HTTP
load_json_url(url, headers=None, timeout=10): يقرأ JSON من URL.http_get(url, headers=None, timeout=10): يرسل طلب GET.http_post(url, data=None, json_data=None, headers=None, timeout=10): يرسل طلب POST.fetch_json(url, headers=None, timeout=10): يجلب JSON من الإنترنت.check_url(url, timeout=5): يتحقق من صلاحية عنوان URL.download_file(url, dest, chunk_size=8192, timeout=10): يحمل ملفًا.
12. الوقت والتاريخ
current_timestamp(): يقرأ الطابع الزمني الحالي.format_datetime(value=None, fmt='%Y-%m-%d %H:%M:%S'): ينسق التاريخ.parse_datetime(text, fmt='%Y-%m-%d %H:%M:%S'): يحول نصًا إلى تاريخ.relative_time(value, now=None): يحسب الوقت النسبي.countdown(seconds, callback=None, interval=1): عد تنازلي مع استدعاء.is_weekend(value=None): يتحقق من أن اليوم عطلة.add_business_days(value, days): يضيف أيام عمل.
13. حسابات ومساعدة رياضية
clamp(value, minimum, maximum): يقيد قيمة ضمن مدى.lerp(start, end, fraction): ينجز استيفاء خطيًا.remap(value, old_min, old_max, new_min, new_max): يعيد تعيين مدى.mean_values(values),median_values(values),mode_values(values): إحصاءات بسيطة.variance(values, sample=False),stddev(values, sample=False): تباين وانحراف معياري.percent_change(original, new): نسبة التغير.safe_divide(a, b, default=0.0): قسمة آمنة بدون خطأ.random_choice_weighted(choices): اختيار عشوائي مرجح.
14. أوامر النظام والعمليات
run_command(command, shell=False, cwd=None, env=None, timeout=None): تشغيل أمر مزامني.run_command_async(command, callback=None, shell=False, cwd=None, env=None, timeout=None): تشغيل أمر غير مزامني.which(program): البحث عن برنامج في المسار.is_process_running(name): التحقق من وجود عملية.kill_process(pid): إنهاء عملية.
15. إدارة الملفات والمجموعات
copy_file(src, dst),move_file(src, dst),delete_file(path): إدارة الملفات.chunk_list(sequence, chunk_size): تجزئة قائمة.flatten_list(nested_list): تسطيح قائمة متداخلة.unique_preserve(sequence): إزالة التكرار مع حفظ الترتيب.group_by(sequence, key_function): تجميع عناصر القائمة.coalesce(*values): اختيار أول قيمة غير فارغة.dict_merge(*dicts): دمج القواميس.
16. إعدادات وتكوين
load_settings(path, default=None, encoding='utf-8'): تحميل إعدادات JSON.save_settings(path, settings, encoding='utf-8', indent=4): حفظ إعدادات.get_setting(settings, key, default=None): الحصول على قيمة إعداد.set_setting(settings, key, value): تعيين قيمة إعداد.update_settings(settings, updates): تحديث إعدادات موجودة.flatten_settings(settings, separator='.'): تسطيح إعدادات متداخلة.
17. سجل الأحداث ونظام الرسائل
EventBus: يدير الاشتراكات والأحداث.subscribe(event_name, listener): الاشتراك في حدث.unsubscribe(event_name, listener=None): إلغاء الاشتراك.emit(event_name, *args, **kwargs): بث حدث.clear(): مسح جميع المستمعين.
18. تسجيل السجلات
set_log_file(path, level=logging.INFO, mode='a'): تعيين ملف السجل.log_info(message),log_warning(message),log_error(message),log_debug(message): وظائف تسجيل.get_log_file(): استرجاع مسار ملف السجل.configure_logging(level=logging.INFO, fmt='[%(levelname)s] %(message)s'): إعداد تكوين التسجيل.
19. مساعدة العرض
print_table(rows, headers=None, padding=2): طباعة جدول منظم.progress_bar(iterable, prefix='', size=40, fill='█'): شريط تقدم في الطرفية.prompt_choices(root, title, options, default_index=0): اختيار من قائمة.clear_console(): تنظيف الشاشة.confirm_action(message='Proceed?', default=True): نافذة تأكيد.show_progress(title, current, total): عارض نسبة تنفيذ.play(name): تشغيل صوت مسجل.add_sound(name, func): إضافة صوت جديد.
إضافات جديدة (توليد دوال ونظام Beep للأسماء)
-
مولد دوال مفيدة: تم إضافة مولد ديناميكي في
hotkey_engine.coreيمكنه إنشاء عدد كبير من الدوال المساعدة، يمكن التحكم به عبرgenerate_extra_functions(count).- الاستخدام النموذجي: استدعِ
generate_extra_functions(n)لإنشاءnدوال مسماة فريدة تُستخدم لأغراض الاختبار والأدوات. - هذه الدوال مُفيدة للاختبار، الأدوات، أو كمولّد يعطي نتائج صغيرة يمكن فحصها برمجياً.
- الاستخدام النموذجي: استدعِ
-
نظام "Name Beep": أضفنا نظامًا لتوليد سلسلة صوتية قصيرة تمثل اسمًا بصريًا/سمعيًا.
play_name_beep(name): يشغّل توقيعًا صوتيًا قصيرًا يمثلname.register_name_beep(name): يسجّل نغمة باسم تحت المفتاحBeep_<name>فيsound_map، بحيث يمكنك استدعاؤها عبرplay('Beep_<name>').register_name_beep_group(names): يسجل مجموعة من الأسماء دفعة واحدة.list_registered_name_beeps(): يعيد قائمة بالمفاتيح المسجلة.beep(freq, duration, volume)انشاء نغمة مرة واحدة فقط ملاحظة: جودة التشغيل الصوتي تعتمد على وجود باك-أند صوتي مثلsounddeviceأوsimpleaudioأوwinsound(لويندوز). إذا لم يكن أي منه متاحًا، سيحاول النظام السقوط بهدوء بدلاً من رفع استثناء.
شكرا لكم على وقتكم
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file abdocode-2.0.0.tar.gz.
File metadata
- Download URL: abdocode-2.0.0.tar.gz
- Upload date:
- Size: 27.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c14e8f30e1a1f08e2e4bbeb657e0e644afcb4229bfb75f78b235220a2d9b811
|
|
| MD5 |
85003a0fb794121ef1e2460fbf983250
|
|
| BLAKE2b-256 |
5f2bb202aae33e52782a531ae4e70dd12b537e2eddb594b81a76d1ee2685e03a
|
File details
Details for the file abdocode-2.0.0-py3-none-any.whl.
File metadata
- Download URL: abdocode-2.0.0-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94ab14c3d4f13123653cc4498ac0ab9e42ebe31d2ff81a15aa14e17f610c1a6b
|
|
| MD5 |
bdd81a9bea403b8c6f2175885887b140
|
|
| BLAKE2b-256 |
9386083e9908d17afa3636808b0e411ba335ea97451334cc1a9cc291ead7a490
|