Skip to content

Commit b45553a

Browse files
committed
Merge branch 'Dev'
2 parents b1a3f8c + dfed5ac commit b45553a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+2183
-1697
lines changed

MANIFEST.in

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
include pyqt_openai/ico/*
2+
include pyqt_openai/prompt_res/*
3+
include pyqt_openai/lang/*
4+
include pyqt_openai/images/*
5+
6+
include pyqt_openai/icon.ico

pyproject.toml

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "pyqt-openai"
7-
version = "0.8.2"
7+
version = "0.9.0"
88
description = "PyQt/PySide multipurpose chatbot that user can use GPT, other AI models altogether"
99
authors = [{ name = "Jung Gyu Yoon", email = "[email protected]" }]
1010
license = { text = "MIT" }
@@ -36,14 +36,13 @@ classifiers = [
3636
"Development Status :: 4 - Beta",
3737
"Intended Audience :: Developers",
3838
"Topic :: Software Development :: Libraries",
39-
"License :: OSI Approved :: MIT License", # Just an example, use your actual license
39+
"License :: OSI Approved :: MIT License",
4040
"Programming Language :: Python",
4141
"Programming Language :: Python :: 3",
4242
"Programming Language :: Python :: 3.9",
4343
"Programming Language :: Python :: 3.10",
4444
"Programming Language :: Python :: 3.11",
4545
"Programming Language :: Python :: 3.12",
46-
"Framework :: PyQt",
4746
"Topic :: Software Development :: Libraries :: Application Frameworks",
4847
"Topic :: Software Development :: User Interfaces"
4948
]
@@ -53,42 +52,7 @@ homepage = "https://github.com/yjg30737/pyqt-openai.git"
5352

5453
[tool.setuptools]
5554
packages = ["pyqt_openai"]
56-
57-
[tool.setuptools.package-data]
58-
pyqt_openai = [
59-
"ico/add.svg",
60-
"ico/case.svg",
61-
"ico/close.svg",
62-
"ico/copy.svg",
63-
"ico/customize.svg",
64-
"ico/delete.svg",
65-
"ico/discord.svg",
66-
"ico/export.svg",
67-
"ico/favorite_no.svg",
68-
"ico/favorite_yes.svg",
69-
"ico/fullscreen.svg",
70-
"ico/github.svg",
71-
"ico/history.svg",
72-
"ico/import.svg",
73-
"ico/info.svg",
74-
"ico/next.svg",
75-
"ico/openai.png",
76-
"ico/openai.svg",
77-
"ico/prev.svg",
78-
"ico/prompt.svg",
79-
"ico/question.svg",
80-
"ico/refresh.svg",
81-
"ico/regex.svg",
82-
"ico/save.svg",
83-
"ico/search.svg",
84-
"ico/setting.svg",
85-
"ico/sidebar.svg",
86-
"ico/stackontop.svg",
87-
"ico/user.png",
88-
"ico/user.svg",
89-
"ico/vertical_three_dots.svg",
90-
"ico/word.svg"
91-
]
55+
include_package_data = true
9256

9357
[project.gui-scripts]
9458
pyqt-openai = "pyqt_openai.main:main"

pyqt_openai/__init__.py

Lines changed: 67 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,20 @@
2727
# APP
2828
APP_NAME = pyproject_data["project"]["name"]
2929
CONTACT = pyproject_data["project"]["authors"][0]['email']
30-
APP_ICON = 'icon.png'
30+
APP_ICON = 'icon.ico'
3131
APP_INITIAL_WINDOW_SIZE = (1280, 768)
32+
33+
TRANSPARENT_RANGE = 20, 100
34+
TRANSPARENT_INIT_VAL = 100
35+
3236
LICENSE = pyproject_data["project"]["license"]['text']
3337
LICENSE_URL = 'https://github.com/yjg30737/pyqt-openai/blob/main/LICENSE'
3438
PAYPAL_URL = 'https://paypal.me/yjg30737'
3539
BUYMEACOFFEE_URL = 'https://www.buymeacoffee.com/yjg30737'
3640
GITHUB_URL = 'https://github.com/yjg30737/pyqt-openai'
3741
DISCORD_URL = 'https://discord.gg/cHekprskVE'
38-
COLUMN_TO_EXCLUDE_FROM_SHOW_HIDE = ['id']
42+
COLUMN_TO_EXCLUDE_FROM_SHOW_HIDE_CHAT = ['id']
43+
COLUMN_TO_EXCLUDE_FROM_SHOW_HIDE_IMAGE = ['id', 'data']
3944
DEFAULT_LANGUAGE = 'en_US'
4045
LANGUAGE_FILE = 'translations.json'
4146
LANGUAGE_DICT = {
@@ -56,6 +61,31 @@
5661
"Portuguese": "pt_BR"
5762
}
5863

64+
MESSAGE_ADDITIONAL_HEIGHT = 40
65+
MESSAGE_PADDING = 16
66+
MESSAGE_MAXIMUM_HEIGHT = 800
67+
MAXIMUM_MESSAGES_IN_PARAMETER = 20
68+
MESSAGE_MAXIMUM_HEIGHT_RANGE = 300, 1000
69+
MAXIMUM_MESSAGES_IN_PARAMETER_RANGE = 2, 1000
70+
71+
PROMPT_IMAGE_SCALE = 200, 200
72+
TOAST_DURATION = 3
73+
74+
## PARAMETER - OPENAI CHAT
75+
OPENAI_TEMPERATURE_RANGE = 0, 2
76+
OPENAI_TEMPERATURE_STEP = 0.01
77+
78+
MAX_TOKENS_RANGE = 512, 128000
79+
80+
TOP_P_RANGE = 0, 1
81+
TOP_P_STEP = 0.01
82+
83+
FREQUENCY_PENALTY_RANGE = 0, 2
84+
FREQUENCY_PENALTY_STEP = 0.01
85+
86+
PRESENCE_PENALTY_RANGE = 0, 2
87+
PRESENCE_PENALTY_STEP = 0.01
88+
5989
## ICONS
6090
ICON_ADD = 'ico/add.svg'
6191
ICON_CASE = 'ico/case.svg'
@@ -88,41 +118,59 @@
88118
ICON_USER = 'ico/user.png'
89119
ICON_VERTICAL_THREE_DOTS = 'ico/vertical_three_dots.svg'
90120
ICON_WORD = 'ico/word.svg'
121+
ICON_SEND = 'ico/send.svg'
91122

92123
## CUSTOMIZE
93124
DEFAULT_ICON_SIZE = (24, 24)
94125
DEFAULT_USER_IMAGE_PATH = ICON_USER
95126
DEFAULT_AI_IMAGE_PATH = ICON_OPENAI
96127
DEFAULT_FONT_SIZE = 12
97128
DEFAULT_FONT_FAMILY = 'Arial'
98-
FONT_FAMILY_FOR_SOURCE = 'Courier'
129+
130+
DEFAULT_BUTTON_HOVER_COLOR = '#A2D0DD'
131+
DEFAULT_BUTTON_PRESSED_COLOR = '#B3E0FF'
132+
DEFAULT_BUTTON_CHECKED_COLOR = '#B3E0FF'
133+
DEFAULT_SOURCE_HIGHLIGHT_COLOR = '#CCB500'
134+
DEFAULT_SOURCE_ERROR_COLOR = '#FF0000'
135+
DEFAULT_FOUND_TEXT_COLOR = '#00A2E8'
136+
DEFAULT_FOUND_TEXT_BG_COLOR = '#FFF200'
99137

100138
## SHORTCUT
101-
SHORTCUT_GENERAL_ACTION = 'Enter'
102-
SHORTCUT_FIND_PREV = 'Ctrl+Shift+D'
103-
SHORTCUT_FIND_NEXT = 'Ctrl+D'
104-
SHORTCUT_FIND_CLOSE = 'Escape'
105-
SHORTCUT_PROMPT_BEGINNING = 'Ctrl+B'
106-
SHORTCUT_PROMPT_ENDING = 'Ctrl+E'
107-
SHORTCUT_SUPPORT_PROMPT_COMMAND = 'Ctrl+Shift+P'
108-
SHORTCUT_FULL_SCREEN = 'F11'
139+
DEFAULT_SHORTCUT_GENERAL_ACTION = 'Enter'
140+
DEFAULT_SHORTCUT_FIND_PREV = 'Ctrl+Shift+D'
141+
DEFAULT_SHORTCUT_FIND_NEXT = 'Ctrl+D'
142+
DEFAULT_SHORTCUT_FIND_CLOSE = 'Escape'
143+
DEFAULT_SHORTCUT_PROMPT_BEGINNING = 'Ctrl+B'
144+
DEFAULT_SHORTCUT_PROMPT_ENDING = 'Ctrl+E'
145+
DEFAULT_SHORTCUT_SUPPORT_PROMPT_COMMAND = 'Ctrl+Shift+P'
146+
DEFAULT_SHORTCUT_FULL_SCREEN = 'F11'
147+
DEFAULT_SHORTCUT_FIND = 'Ctrl+F'
148+
DEFAULT_SHORTCUT_JSON_MODE = 'Ctrl+J'
149+
DEFAULT_SHORTCUT_LEFT_SIDEBAR_WINDOW = 'Ctrl+L'
150+
DEFAULT_SHORTCUT_RIGHT_SIDEBAR_WINDOW = 'Ctrl+R'
151+
DEFAULT_SHORTCUT_CONTROL_PROMPT_WINDOW = 'Ctrl+Shift+C'
152+
DEFAULT_SHORTCUT_SETTING = 'Ctrl+Alt+S'
153+
DEFAULT_SHORTCUT_SEND = 'Ctrl+Enter'
109154

110155
## DIRECTORY PATH & FILE'S NAME
111156
MAIN_INDEX = 'main.py'
112157
IMAGE_DEFAULT_SAVE_DIRECTORY = 'image_result'
113158
LLAMA_INDEX_DEFAULT_READ_DIRECTORY = './example'
114159
INI_FILE_NAME = 'pyqt_openai.ini'
115160
DB_FILE_NAME = 'conv'
161+
FILE_NAME_LENGTH = 32
162+
QFILEDIALOG_DEFAULT_DIRECTORY = os.path.expanduser('~')
116163

117164
## EXTENSIONS
118-
IMAGE_FILE_EXT = 'Image File (*.jpg *.png)'
119-
TEXT_FILE_EXT = 'Text File (*.txt)'
120-
JSON_FILE_EXT = 'JSON File (*.json)'
121-
READ_FILE_EXT = f'{TEXT_FILE_EXT};;{IMAGE_FILE_EXT}'
165+
TEXT_FILE_EXT_LIST = ['.txt']
166+
IMAGE_FILE_EXT_LIST = ['.png', '.jpg', '.jpeg', '.gif', '.bmp']
167+
IMAGE_FILE_EXT_LIST_STR = 'Image File (*.png *.jpg *.jpeg *.gif *.bmp)'
168+
TEXT_FILE_EXT_LIST_STR = 'Text File (*.txt)'
169+
JSON_FILE_EXT_LIST_STR = 'JSON File (*.json)'
170+
READ_FILE_EXT_LIST_STR = f'{TEXT_FILE_EXT_LIST_STR};;{IMAGE_FILE_EXT_LIST_STR}'
122171

123-
## LINK
124-
CHATGPT_IMPORT_MANUAL_LINK_1 = 'https://cdn.discordapp.com/attachments/1089739277379846226/1259834113884557362/image.png?ex=66a6d4b3&is=66a58333&hm=3544e9a6ec1610bc552f93b794e113c48c1505d5ba820628b9cd68876597f7dc&'
125-
CHATGPT_IMPORT_MANUAL_LINK_2 = 'https://cdn.discordapp.com/attachments/1089739277379846226/1265952420773498880/image.png?ex=66a6ad51&is=66a55bd1&hm=0279112be31354eb1a45f1d72d28363285dd6b640854b6dc98e58de98f4fc349&'
172+
## IMAGE
173+
IMAGE_CHATGPT_IMPORT_MANUAL = 'images/import_from_chatgpt.png'
126174

127175
## PROMPT
128176
PROMPT_BEGINNING_KEY_NAME = 'prompt_beginning'
@@ -179,7 +227,7 @@
179227
"name": 'Default',
180228
"data": PROPERTY_PROMPT_UNIT_DEFAULT_VALUE
181229
}
182-
], indent=4)
230+
], indent=INDENT_SIZE)
183231

184232
SENTENCE_PROMPT_GROUP_SAMPLE = '''[
185233
{

pyqt_openai/aboutDialog.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212

1313
class AboutDialog(QDialog):
14-
def __init__(self):
15-
super().__init__()
14+
def __init__(self, parent=None):
15+
super().__init__(parent)
1616
self.__initUi()
1717

1818
def __initUi(self):

0 commit comments

Comments
 (0)