Skip to content

mrf0rtuna4/PythonicNightmares

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PythonicNightmares

PythonicNightmares β€” это уТасный CLI-инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС самыС Π±Π΅Π·ΡƒΠΌΠ½Ρ‹Π΅ ΠΈ странныС возмоТности, доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΈΡ€Π΅ Python. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для развлСчСния, дСмонстрации ΠΏΠ»ΠΎΡ…ΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ программирования ΠΈ добавлСния абсурдных ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Установка

Для установки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΌ потрСбуСтся Python вСрсии 3.11 ΠΈ Π²Ρ‹ΡˆΠ΅. УстановитС зависимости с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip:

pip install pynightmares

Или скопируйтС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

git clone https://github.com/mrf0rtuna4/PythonicNightmares.git
cd PythonicNightmares
pip install -r requirements.txt
pip install .

ПослС установки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ PyNightmares Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку:

pynightmares <command>

ИспользованиС

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

pynightmares hello            # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 'Hello, World!'
pynightmares infinite_loop    # ЗапускаСт Π²Π΅Ρ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» (остороТно!)
pynightmares random_error     # Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ
pynightmares spaghetti_code   # Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ "спагСтти-ΠΊΠΎΠ΄", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ»ΠΎΡ…ΠΎ читаСтся
pynightmares troll            # НичСго Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚
pynightmares evil_syntax      # ΠΠ°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° синтаксиса Python
pynightmares strange_lib      # ДСмонстрируСт ΡΠ°ΠΌΡƒΡŽ ΡΡ‚Ρ€Π°Π½Π½ΡƒΡŽ Π»ΠΈΠ±Ρƒ
pynightmares strange_gui      # ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Tk-ΠΎΠΊΠ½ΠΎ с Ρ‚ΠΎΠΉ ΠΆΠ΅ лябой

ВозмоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  • Hello World: ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° 'Hello, World!'.
  • БСсконСчный Ρ†ΠΈΠΊΠ»: Для самых Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  • ГСнСрация случайных ошибок: ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π½Π°ΡΠ»Π°Π΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΊΡ€Π°Ρ…ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?
  • Π‘ΠΏΠ°Π³Π΅Ρ‚Ρ‚ΠΈ-ΠΊΠΎΠ΄: ДСмонстрация ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ стиля программирования.
  • ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ PEP8: ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΎΠΌΠ°ΡŽΡ‚ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля Π² Python.
  • Бтранная Π»ΠΈΠ±Π°: НСпрСдсказуСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡ‚Π²ΠΎΡ€ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ.
  • Π‘Ρ‚Ρ€Π°Π½Π½Ρ‹ΠΉ GUI: НСбольшоС Tk-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ запускаСт всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· скриптов ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΈΠ΄, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΈ Π½Π°Π΄ΠΎ.
  • ΠŸΠ°ΡΡ…Π°Π»ΠΊΠΈ: НайдитС сСкрСтныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, спрятанныС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python CLI ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ argparse для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² систСмС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· CLI-интСрфСйс. Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ прСдусмотрСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ собствСнныС "уТасныС" Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, слСдуйтС инструкциям:

  1. Π€ΠΎΡ€ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²Π°ΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΏΠ°ΠΏΠΊΡƒ scripts.
  3. ЗарСгистрируйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.
  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ pull request.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ добавлСния Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

from nightmares.modules import CommandRegistry

registry = CommandRegistry() 

@registry.register("my_command", aliases=["mc"], help_text="Моя новая команда")
def my_command():
    print("Π­Ρ‚ΠΎ моя кастомная ΠΊΠΎΠΌΠ°Π½Π΄Π°!")

TODO

  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС абсурдных ΠΊΠΎΠΌΠ°Π½Π΄.
  • Π’ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ "meta_pranks" β€” ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС пасхалок ΠΈ скрытых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
  • Π£Π»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок для Π±ΠΎΠ»Π΅Π΅ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ситуаций.

ЛицСнзия

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

About

πŸ₯Ά The Best Code on Pypir!!!

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages