pyscript-programming-language 1.12.1__tar.gz → 1.12.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. {pyscript_programming_language-1.12.1/pyscript_programming_language.egg-info → pyscript_programming_language-1.12.2}/PKG-INFO +1 -1
  2. pyscript_programming_language-1.12.2/changelog.md +8 -0
  3. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyproject.toml +1 -1
  4. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/__init__.py +1 -1
  5. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/__init__.pyi +5 -4
  6. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/context.py +0 -3
  7. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/editor/bases.py +1 -2
  8. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/editor/gui.py +7 -7
  9. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/editor/terminal.py +5 -5
  10. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/highlight.py +5 -5
  11. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/pysbuiltins.py +4 -4
  12. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/runner.py +1 -0
  13. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/version.py +3 -2
  14. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2/pyscript_programming_language.egg-info}/PKG-INFO +1 -1
  15. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/setup.py +1 -1
  16. pyscript_programming_language-1.12.1/changelog.md +0 -16
  17. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/MANIFEST.in +0 -0
  18. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/README.md +0 -0
  19. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/__main__.py +0 -0
  20. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/__init__.py +0 -0
  21. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/analyzer.py +0 -0
  22. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/bases.py +0 -0
  23. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/buffer.py +0 -0
  24. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/cache.py +0 -0
  25. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/checks.py +0 -0
  26. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/constants.py +0 -0
  27. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/editor/__init__.py +0 -0
  28. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/exceptions.py +0 -0
  29. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/handlers.py +0 -0
  30. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/interpreter.py +0 -0
  31. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/lexer.py +0 -0
  32. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/mapping.py +0 -0
  33. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/nodes.py +0 -0
  34. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/objects.py +0 -0
  35. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/parser.py +0 -0
  36. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/position.py +0 -0
  37. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/results.py +0 -0
  38. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/shell.py +0 -0
  39. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/symtab.py +0 -0
  40. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/token.py +0 -0
  41. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/__init__.py +0 -0
  42. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/ansi.py +0 -0
  43. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/debug.py +0 -0
  44. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/decorators.py +0 -0
  45. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/generic.py +0 -0
  46. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/jsdict.py +0 -0
  47. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/module.py +0 -0
  48. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/path.py +0 -0
  49. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/similarity.py +0 -0
  50. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/core/utils/string.py +0 -0
  51. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/__hello__.pys +0 -0
  52. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/ansi.pys +0 -0
  53. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/ast/__init__.pys +0 -0
  54. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/ast/ast_dump.py +0 -0
  55. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/ast/ast_literal_eval.py +0 -0
  56. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/ast/ast_unparse.py +0 -0
  57. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/ast/ast_walk.py +0 -0
  58. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/brainfuck.pys +0 -0
  59. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/dis.pys +0 -0
  60. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/explorer.pys +0 -0
  61. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/fpstimer/__init__.pys +0 -0
  62. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/fpstimer/py_fpstimer.py +0 -0
  63. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/getch/__init__.pys +0 -0
  64. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/getch/py_getch.py +0 -0
  65. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/inspect.pys +0 -0
  66. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/jsdict.pys +0 -0
  67. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/keyword.pys +0 -0
  68. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/opcode.pys +0 -0
  69. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/parser.pys +0 -0
  70. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/site.pys +0 -0
  71. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/symtable.pys +0 -0
  72. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/token.pys +0 -0
  73. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/tokenize/__init__.pys +0 -0
  74. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/lib/tokenize/tok_untokenize.py +0 -0
  75. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/other/.nomedia +0 -0
  76. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/other/PyScript.ico +0 -0
  77. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/other/copyright +0 -0
  78. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/other/credits +0 -0
  79. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/other/license +0 -0
  80. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/site-packages/this.pys +0 -0
  81. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript/this.py +0 -0
  82. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript_programming_language.egg-info/SOURCES.txt +0 -0
  83. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript_programming_language.egg-info/dependency_links.txt +0 -0
  84. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript_programming_language.egg-info/requires.txt +0 -0
  85. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/pyscript_programming_language.egg-info/top_level.txt +0 -0
  86. {pyscript_programming_language-1.12.1 → pyscript_programming_language-1.12.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyscript-programming-language
3
- Version: 1.12.1
3
+ Version: 1.12.2
4
4
  Summary: PyScript Programming Language
5
5
  Home-page: https://azzammuhyala.github.io/pyscript
6
6
  Author: azzammuhyala
@@ -0,0 +1,8 @@
1
+ # Change Log
2
+
3
+ ## [1.12.2] - 26/02/2026
4
+
5
+ ### Fixed
6
+ - **Fixed some bugs**.
7
+ - Fixed some spelling errors.
8
+ - _etc._
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pyscript-programming-language"
7
- version = "1.12.1"
7
+ version = "1.12.2"
8
8
  description = "PyScript Programming Language"
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  requires-python = ">=3.10"
@@ -18,7 +18,7 @@ from .core.highlight import (
18
18
  PygmentsPyScriptShellLexer
19
19
  )
20
20
  from .core.runner import pys_runner, pys_exec, pys_eval, pys_require, pys_shell
21
- from .core.version import version, version_info, __version__, __date__
21
+ from .core.version import version, version_info, __version__, __date__, __author__
22
22
 
23
23
  __all__ = (
24
24
  'core',
@@ -4,7 +4,7 @@ if TYPE_CHECKING:
4
4
  from .core.buffer import PysFileBuffer
5
5
  from .core.cache import PysUndefined
6
6
  from .core.context import PysContext
7
- from .core.highlight import _PysHighlightFormatter
7
+ from .core.highlight import PysHighlightFormatter
8
8
  from .core.position import PysPosition
9
9
  from .core.results import PysExecuteResult
10
10
  from .core.symtab import PysSymbolTable
@@ -32,9 +32,9 @@ NOTEBOOK: int
32
32
  LEXER_HIGHLIGHT: int
33
33
  DICT_TO_JSDICT: int
34
34
 
35
- HLFMT_HTML: _PysHighlightFormatter
36
- HLFMT_ANSI: _PysHighlightFormatter
37
- HLFMT_BBCODE: _PysHighlightFormatter
35
+ HLFMT_HTML: PysHighlightFormatter
36
+ HLFMT_ANSI: PysHighlightFormatter
37
+ HLFMT_BBCODE: PysHighlightFormatter
38
38
 
39
39
  undefined: PysUndefined
40
40
  version: str
@@ -95,4 +95,5 @@ def pys_shell(
95
95
 
96
96
  __version__: str
97
97
  __date__: str
98
+ __author__: tuple[str]
98
99
  __all__: tuple[str]
@@ -36,9 +36,6 @@ class PysContext(Pys):
36
36
  setimuattr(self, 'parent', parent)
37
37
  setimuattr(self, 'parent_entry_position', parent_entry_position)
38
38
 
39
- def __repr__(self) -> str:
40
- return f'<Context {self.name!r}>'
41
-
42
39
  class PysClassContext(PysContext):
43
40
 
44
41
  __slots__ = ()
@@ -21,9 +21,8 @@ class PysEditor(Pys):
21
21
  inheritable(cls)
22
22
 
23
23
  def save(self, text) -> None:
24
- text = normstr(text)
25
24
  try:
26
- print('saved')
25
+ text = normstr(text)
27
26
  with open(self.file.name, 'w', encoding='utf-8') as file:
28
27
  file.write(text)
29
28
  setimuattr(self.file, 'text', text)
@@ -5,7 +5,7 @@ from ..highlight import PygmentsPyScriptStyle, PygmentsPyScriptLexer
5
5
  from ..version import __version__
6
6
 
7
7
  try:
8
- from tkinter import END, Tk, Scrollbar, Text, messagebox
8
+ from tkinter import Tk, Scrollbar, Text, messagebox
9
9
  from tkinter.font import Font
10
10
 
11
11
  class PysGUIEditor(PysEditor, Tk):
@@ -15,7 +15,7 @@ try:
15
15
  Tk.__init__(self)
16
16
 
17
17
  try:
18
- self.iconbitmap(ICON_PATH)
18
+ self.wm_iconbitmap(ICON_PATH)
19
19
  except:
20
20
  pass
21
21
 
@@ -54,13 +54,13 @@ try:
54
54
  self.bind_all('<Control-equal>', self.on_change_font(1, lambda size : size < 128))
55
55
  self.bind_all('<Control-plus>', self.on_change_font(5, lambda size : size < 128))
56
56
 
57
- self.protocol('WM_DELETE_WINDOW', self.on_close)
57
+ self.wm_protocol('WM_DELETE_WINDOW', self.on_close)
58
58
 
59
59
  self.setup_tags()
60
+ self.update()
60
61
 
61
62
  def run(self) -> None:
62
63
  PysEditor.run(self)
63
- self.update()
64
64
  Tk.mainloop(self)
65
65
 
66
66
  def setup_tags(self):
@@ -83,15 +83,15 @@ try:
83
83
 
84
84
  for tag in text.tag_names():
85
85
  if tag != 'sel':
86
- text_tag_remove(tag, '1.0', END)
86
+ text_tag_remove(tag, '1.0', 'end')
87
87
 
88
- for type, value in self.lexer.get_tokens(text.get('1.0', END)):
88
+ for type, value in self.lexer.get_tokens(text.get('1.0', 'end')):
89
89
  end_index = text_index(f'{index} + {get_length(value)} chars')
90
90
  text_tag_add(to_string(type), index, end_index)
91
91
  index = end_index
92
92
 
93
93
  def on_save(self, event=None):
94
- self.save(self.text.get('1.0', END))
94
+ self.save(self.text.get('1.0', 'end'))
95
95
  self.update()
96
96
  return 'break'
97
97
 
@@ -76,14 +76,14 @@ try:
76
76
  def _(event):
77
77
  self.wrapped = not self.wrapped
78
78
 
79
- @key_bindings.add('c-z', filter=on_edit, eager=True)
80
- def _(event):
81
- self.current_buffer.undo()
82
-
83
79
  @key_bindings.add('c-y', filter=on_edit, eager=True)
84
80
  def _(event):
85
81
  self.current_buffer.redo()
86
82
 
83
+ @key_bindings.add('c-z', filter=on_edit, eager=True)
84
+ def _(event):
85
+ self.current_buffer.undo()
86
+
87
87
  @key_bindings.add('c-s', filter=on_edit, eager=True)
88
88
  def _(event):
89
89
  self.save(self.text.text)
@@ -129,6 +129,7 @@ try:
129
129
  ]
130
130
  )
131
131
 
132
+ self.text.text = self.file.text
132
133
  self.text.buffer.on_text_changed += self.on_change
133
134
 
134
135
  Application.__init__(
@@ -143,7 +144,6 @@ try:
143
144
 
144
145
  def run(self) -> None:
145
146
  PysEditor.run(self)
146
- self.text.text = self.file.text
147
147
  Application.run(self)
148
148
 
149
149
  def on_change(self, buffer):
@@ -351,7 +351,7 @@ try:
351
351
  tokens = PygmentsPyScriptLexer.tokens.copy()
352
352
  tokens['root'] = [
353
353
  # Shell prompts
354
- (r'\A/(clear|clean|exit)\z', Generic.Prompt)
354
+ (r'\A/(clear|clean|exit)\Z', Generic.Prompt)
355
355
  ] + tokens['root']
356
356
 
357
357
  del (
@@ -378,7 +378,7 @@ except BaseException as e:
378
378
  PYGMENTS = False
379
379
 
380
380
  @typechecked
381
- class _PysHighlightFormatter(Pys):
381
+ class PysHighlightFormatter(Pys):
382
382
 
383
383
  def __init__(
384
384
  self,
@@ -420,19 +420,19 @@ def _ansi_open_block(position, type):
420
420
  color = HIGHLIGHT_MAP.get(type, HIGHLIGHT_MAP['default'])
421
421
  return acolor(int(color[i:i+2], 16) for i in range(1, 6, 2))
422
422
 
423
- HLFMT_HTML = _PysHighlightFormatter(
423
+ HLFMT_HTML = PysHighlightFormatter(
424
424
  lambda position, content: normstr(html_escape(content)).replace('\n', '<br>'),
425
425
  lambda position, type: f'<span style="color:{HIGHLIGHT_MAP.get(type, HIGHLIGHT_MAP["default"])}">',
426
426
  lambda position, type: '</span>',
427
427
  )
428
428
 
429
- HLFMT_ANSI = _PysHighlightFormatter(
429
+ HLFMT_ANSI = PysHighlightFormatter(
430
430
  lambda position, content: normstr(content),
431
431
  _ansi_open_block,
432
432
  lambda position, type: '\x1b[0m',
433
433
  )
434
434
 
435
- HLFMT_BBCODE = _PysHighlightFormatter(
435
+ HLFMT_BBCODE = PysHighlightFormatter(
436
436
  lambda position, content: normstr(content),
437
437
  lambda position, type: f'[color={HIGHLIGHT_MAP.get(type, HIGHLIGHT_MAP["default"])}]',
438
438
  lambda position, type: '[/color]',
@@ -146,12 +146,12 @@ def require(pyfunc, name):
146
146
  context = code.context
147
147
  filename = context.file.name
148
148
 
149
- for p in pys_sys.path:
150
- module_path = get_module_path(normpath(p, name, absolute=False))
149
+ for path in pys_sys.path:
150
+ module_path = get_module_path(path := normpath(path, name, absolute=False))
151
151
  if module_path is not None:
152
152
  break
153
153
  else:
154
- module_path = get_module_path(normpath(dirname(filename) or getcwd(), name, absolute=False))
154
+ module_path = get_module_path(path := normpath(dirname(filename) or getcwd(), name, absolute=False))
155
155
  if module_path == filename:
156
156
  module_path = None
157
157
 
@@ -195,7 +195,7 @@ def require(pyfunc, name):
195
195
 
196
196
  from .runner import pys_runner
197
197
 
198
- symtab, module = new_module_namespace(file=file.name, name=get_name_from_path(file.name))
198
+ symtab, module = new_module_namespace(file=module_path, name=get_name_from_path(path))
199
199
 
200
200
  # minimize circular imports (python standard)
201
201
  modules[module_path] = module
@@ -337,6 +337,7 @@ def pys_shell(
337
337
  elif text == 1:
338
338
  symtab = _normalize_namespace(file, globals)
339
339
  parser_flags = default_parser_flags
340
+ line = 0
340
341
  continue
341
342
 
342
343
  result = pys_runner(
@@ -7,8 +7,9 @@ from types import MappingProxyType
7
7
 
8
8
  version_match = re_compile(r'^(\d+)\.(\d+)\.(\d+)((?:a|b|rc)(\d+)|\.(dev|post)(\d+))?$').match
9
9
 
10
- __version__ = '1.12.1'
11
- __date__ = '25 February 2026, 21:40 UTC+7'
10
+ __version__ = '1.12.2'
11
+ __date__ = '26 February 2026, 21:40 UTC+7'
12
+ __author__ = ('azzammuhyala',)
12
13
 
13
14
  version = pys_sys.version = f'{__version__} ({__date__})'
14
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyscript-programming-language
3
- Version: 1.12.1
3
+ Version: 1.12.2
4
4
  Summary: PyScript Programming Language
5
5
  Home-page: https://azzammuhyala.github.io/pyscript
6
6
  Author: azzammuhyala
@@ -9,7 +9,7 @@ with open('./README.md', 'r', encoding='utf-8') as file:
9
9
 
10
10
  setup(
11
11
  name='pyscript-programming-language',
12
- version='1.12.1',
12
+ version='1.12.2',
13
13
  description='PyScript Programming Language',
14
14
  long_description=long_description,
15
15
  long_description_content_type='text/markdown',
@@ -1,16 +0,0 @@
1
- # Change Log
2
-
3
- ## [1.12.1] - 25/02/2026
4
-
5
- ### Added
6
- - Auto indentation.
7
- - Token values ​​for types `NUMBER` and `STRING` in Lexer with `parser_flags=LEXER_HIGHLIGHT` produce a `tuple` object
8
- with the value or representation and a conversion function.
9
- - The `NO_COLOR_PROMPT` and `NOTEBOOK` flags.
10
- - The `sys.get_int_max_str_digits` function.
11
- - _etc_.
12
-
13
- ### Fixed
14
- - **Fixed some bugs**.
15
- - Fixed some spelling errors.
16
- - _etc._