pyscript-programming-language 1.15.2__tar.gz → 1.15.3__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.
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/PKG-INFO +1 -8
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/README.md +0 -7
- pyscript_programming_language-1.15.3/changelog.md +13 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyproject.toml +1 -1
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/cache.py +4 -1
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/constants.py +2 -1
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/editor/gui.py +18 -1
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/editor/terminal.py +16 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/handlers.py +2 -4
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/runner.py +1 -1
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/shell.py +15 -3
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/version.py +2 -2
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/site.pys +36 -15
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/message.txt +44 -1
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript_programming_language.egg-info/PKG-INFO +1 -8
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/setup.py +1 -1
- pyscript_programming_language-1.15.2/changelog.md +0 -16
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/MANIFEST.in +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/__init__.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/__init__.pyi +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/__main__.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/__init__.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/analyzer.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/bases.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/buffer.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/checks.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/context.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/editor/__init__.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/editor/bases.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/exceptions.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/highlight.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/interpreter.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/lexer.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/mapping.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/nodes.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/parser.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/position.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/pysbuiltins.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/pystypes.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/results.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/symtab.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/token.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/__init__.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/ansi.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/debug.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/decorators.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/generic.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/module.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/path.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/similarity.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/utils/string.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/__hello__.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/ansi.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/ast/__init__.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/ast/ast_dump.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/ast/ast_literal_eval.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/ast/ast_unparse.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/ast/ast_walk.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/brainfuck.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/code.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/dis.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/dual/__init__.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/dual/py_dual.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/explorer.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/fpstimer/__init__.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/fpstimer/py_fpstimer.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/getch/__init__.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/getch/py_getch.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/history.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/inspect.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/jsdict.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/keyword.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/opcode.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/parser.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/pdisplay.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/symtable.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/this.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/token.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/tokenize/__init__.pys +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/tokenize/tok_untokenize.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/.nomedia +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/PyScript.ico +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/copyright +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/credits +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/license +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/this.py +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript_programming_language.egg-info/SOURCES.txt +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript_programming_language.egg-info/dependency_links.txt +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript_programming_language.egg-info/requires.txt +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript_programming_language.egg-info/top_level.txt +0 -0
- {pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyscript-programming-language
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.3
|
|
4
4
|
Summary: PyScript Programming Language
|
|
5
5
|
Home-page: https://azzammuhyala.github.io/pyscript
|
|
6
6
|
Author: AzzamMuhyala
|
|
@@ -83,13 +83,6 @@ pip install -U pyscript-programming-language
|
|
|
83
83
|
pip install -U pyscript-programming-language[other]
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
And also, you can download PyScript with `git`:
|
|
87
|
-
```sh
|
|
88
|
-
git clone https://github.com/azzammuhyala/pyscript
|
|
89
|
-
cd pyscript
|
|
90
|
-
pip install .
|
|
91
|
-
```
|
|
92
|
-
|
|
93
86
|
After that, you can run the PyScript shell (_REPL_) with this command:
|
|
94
87
|
```sh
|
|
95
88
|
python -m pyscript
|
|
@@ -51,13 +51,6 @@ pip install -U pyscript-programming-language
|
|
|
51
51
|
pip install -U pyscript-programming-language[other]
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
And also, you can download PyScript with `git`:
|
|
55
|
-
```sh
|
|
56
|
-
git clone https://github.com/azzammuhyala/pyscript
|
|
57
|
-
cd pyscript
|
|
58
|
-
pip install .
|
|
59
|
-
```
|
|
60
|
-
|
|
61
54
|
After that, you can run the PyScript shell (_REPL_) with this command:
|
|
62
55
|
```sh
|
|
63
56
|
python -m pyscript
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Change Logs
|
|
2
|
+
|
|
3
|
+
## [1.15.3] - 10/11/2026
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Some functions in the `site` library now raise exceptions if `ENABLE_USER_SITE` is `None`.
|
|
7
|
+
- _etc._
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- The user site-packages path has been moved to `site.getusersitepackages()` + `/pyscript/site-packages`.
|
|
11
|
+
- The **Shift** + **Tab** shortcut now performs a dedent to the one tab character.
|
|
12
|
+
- Fixed several bugs.
|
|
13
|
+
- _etc._
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyproject.toml
RENAMED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyscript-programming-language"
|
|
7
|
-
version = "1.15.
|
|
7
|
+
version = "1.15.3"
|
|
8
8
|
description = "PyScript Programming Language"
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
requires-python = ">=3.10"
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/cache.py
RENAMED
|
@@ -28,7 +28,7 @@ pys_sys.builtin_module_names = tuple(
|
|
|
28
28
|
for module in os.listdir(LIBRARIES_PATH)
|
|
29
29
|
if get_module_candidate(os.path.join(LIBRARIES_PATH, module)) is not None
|
|
30
30
|
)
|
|
31
|
-
pys_sys.path = [LIBRARIES_PATH
|
|
31
|
+
pys_sys.path = [LIBRARIES_PATH]
|
|
32
32
|
pys_sys.loading_modules = set()
|
|
33
33
|
pys_sys.modules = {}
|
|
34
34
|
pys_sys.interns = {}
|
|
@@ -51,6 +51,9 @@ pys_sys.ps1 = '>>> '
|
|
|
51
51
|
pys_sys.ps2 = '... '
|
|
52
52
|
pys_sys._is_gil_enabled = lambda : pys_sys.gil
|
|
53
53
|
|
|
54
|
+
if SITE_PACKAGES_PATH is not None:
|
|
55
|
+
pys_sys.path.append(SITE_PACKAGES_PATH)
|
|
56
|
+
|
|
54
57
|
for name in (
|
|
55
58
|
'_clear_internal_caches', '_is_immortal', '_is_interned', 'byteorder', 'exit', 'float_info', 'float_repr_style',
|
|
56
59
|
'get_int_max_str_digits', 'getallocatedblocks', 'getdefaultencoding', 'getfilesystemencodeerrors',
|
|
@@ -5,7 +5,8 @@ PYSCRIPT_PATH = os.path.sep.join(__file__.split(os.path.sep)[:-2])
|
|
|
5
5
|
CORE_PATH = os.path.join(PYSCRIPT_PATH, 'core')
|
|
6
6
|
LIBRARIES_PATH = os.path.join(PYSCRIPT_PATH, 'lib')
|
|
7
7
|
OTHER_PATH = os.path.join(PYSCRIPT_PATH, 'other')
|
|
8
|
-
SITE_PACKAGES_PATH =
|
|
8
|
+
SITE_PACKAGES_PATH = None if (site_path := site.getusersitepackages()) is None else \
|
|
9
|
+
os.path.join(site_path, 'pyscript', 'site-packages')
|
|
9
10
|
ICON_PATH = os.path.join(OTHER_PATH, 'PyScript.ico')
|
|
10
11
|
GLOBAL_HISTORY_PATH = os.path.join(os.path.expanduser('~'), '.pyscript_history')
|
|
11
12
|
CONFIGURATIONS_PATH = os.path.join(OTHER_PATH, 'configurations.json')
|
|
@@ -88,6 +88,20 @@ try:
|
|
|
88
88
|
text.see('insert')
|
|
89
89
|
return 'break'
|
|
90
90
|
|
|
91
|
+
def on_dedent(event=None):
|
|
92
|
+
text = self.text
|
|
93
|
+
|
|
94
|
+
if text.get('insert-1c', 'insert') == '\t':
|
|
95
|
+
text.delete('insert-1c', 'insert')
|
|
96
|
+
refresh_line_numbers()
|
|
97
|
+
return 'break'
|
|
98
|
+
|
|
99
|
+
if text.get('insert linestart', 'insert linestart +1c') == '\t':
|
|
100
|
+
text.delete('insert linestart', 'insert linestart +1c')
|
|
101
|
+
refresh_line_numbers()
|
|
102
|
+
|
|
103
|
+
return 'break'
|
|
104
|
+
|
|
91
105
|
def on_enter(event=None):
|
|
92
106
|
text = self.text
|
|
93
107
|
if text.tag_ranges('sel'):
|
|
@@ -188,7 +202,10 @@ try:
|
|
|
188
202
|
self.text.edit_modified(False)
|
|
189
203
|
|
|
190
204
|
self.text.bind('<<Modified>>', on_modified)
|
|
191
|
-
self.text.bind('<Return>', on_enter)
|
|
205
|
+
self.text.bind('<Control-Return>', on_enter)
|
|
206
|
+
self.text.bind('<Control-j>', on_enter)
|
|
207
|
+
self.text.bind('<Shift-Tab>', on_dedent)
|
|
208
|
+
self.text.bind('<ISO_Left_Tab>', on_dedent)
|
|
192
209
|
self.text.bind('<Prior>', on_page_up)
|
|
193
210
|
self.text.bind('<Next>', on_page_down)
|
|
194
211
|
self.text.bind('<KeyRelease>', refresh_line_numbers)
|
|
@@ -138,6 +138,22 @@ try:
|
|
|
138
138
|
line = buffer.document.current_line_before_cursor
|
|
139
139
|
buffer.insert_text('\n' + line[:len(line) - len(line.lstrip())])
|
|
140
140
|
|
|
141
|
+
@key_bindings.add('s-tab', filter=on_edit, eager=True)
|
|
142
|
+
def _(event):
|
|
143
|
+
buffer = self.text.buffer
|
|
144
|
+
document = buffer.document
|
|
145
|
+
|
|
146
|
+
if document.char_before_cursor == '\t':
|
|
147
|
+
buffer.delete_before_cursor(1)
|
|
148
|
+
return
|
|
149
|
+
|
|
150
|
+
elif document.current_line.startswith('\t'):
|
|
151
|
+
line_start = document.translate_row_col_to_index(document.cursor_position_row, 0)
|
|
152
|
+
old_position = buffer.cursor_position
|
|
153
|
+
buffer.cursor_position = line_start
|
|
154
|
+
buffer.delete(1)
|
|
155
|
+
buffer.cursor_position = max(line_start, old_position - 1)
|
|
156
|
+
|
|
141
157
|
@key_bindings.add('c-w', filter=on_edit, eager=True)
|
|
142
158
|
def _(event):
|
|
143
159
|
self.set_configuration('wrap', not self.get_configuration('wrap', False))
|
|
@@ -5,7 +5,6 @@ from .position import PysPosition
|
|
|
5
5
|
from .pystypes import PysFunction
|
|
6
6
|
from .utils.generic import is_environ
|
|
7
7
|
|
|
8
|
-
from site import ENABLE_USER_SITE
|
|
9
8
|
from types import MethodType
|
|
10
9
|
from typing import Any
|
|
11
10
|
|
|
@@ -13,12 +12,11 @@ import os
|
|
|
13
12
|
|
|
14
13
|
wrapper_function = (MethodType, classmethod, staticmethod)
|
|
15
14
|
|
|
16
|
-
if
|
|
15
|
+
if SITE_PACKAGES_PATH is not None:
|
|
17
16
|
try:
|
|
18
17
|
if os.path.isfile(SITE_PACKAGES_PATH):
|
|
19
18
|
os.remove(SITE_PACKAGES_PATH)
|
|
20
|
-
|
|
21
|
-
os.mkdir(SITE_PACKAGES_PATH)
|
|
19
|
+
os.makedirs(SITE_PACKAGES_PATH, exist_ok=True)
|
|
22
20
|
except:
|
|
23
21
|
pass
|
|
24
22
|
|
|
@@ -339,7 +339,7 @@ def pys_shell(
|
|
|
339
339
|
|
|
340
340
|
if not (flags & NO_WARNING):
|
|
341
341
|
for path in (LIBRARIES_PATH, OTHER_PATH, SITE_PACKAGES_PATH):
|
|
342
|
-
if not os.path.isdir(path):
|
|
342
|
+
if not (path is None or os.path.isdir(path)):
|
|
343
343
|
custom_print(f'WARNING: "{path}" directory not found', file=sys.stderr)
|
|
344
344
|
|
|
345
345
|
custom_print(
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/shell.py
RENAMED
|
@@ -306,11 +306,23 @@ try:
|
|
|
306
306
|
def _(event):
|
|
307
307
|
self.default_buffer.insert_text('\t')
|
|
308
308
|
|
|
309
|
-
@key_bindings.add('
|
|
309
|
+
@key_bindings.add('s-tab', eager=True)
|
|
310
310
|
def _(event):
|
|
311
|
-
self.default_buffer
|
|
311
|
+
buffer = self.default_buffer
|
|
312
|
+
document = buffer.document
|
|
312
313
|
|
|
313
|
-
|
|
314
|
+
if document.char_before_cursor == '\t':
|
|
315
|
+
buffer.delete_before_cursor(1)
|
|
316
|
+
return
|
|
317
|
+
|
|
318
|
+
elif document.current_line.startswith('\t'):
|
|
319
|
+
line_start = document.translate_row_col_to_index(document.cursor_position_row, 0)
|
|
320
|
+
old_position = buffer.cursor_position
|
|
321
|
+
buffer.cursor_position = line_start
|
|
322
|
+
buffer.delete(1)
|
|
323
|
+
buffer.cursor_position = max(line_start, old_position - 1)
|
|
324
|
+
|
|
325
|
+
@key_bindings.add('c-n', eager=True)
|
|
314
326
|
def _(event):
|
|
315
327
|
newline_with_indent()
|
|
316
328
|
|
|
@@ -7,8 +7,8 @@ from re import match as match_regex
|
|
|
7
7
|
from types import NotImplementedType
|
|
8
8
|
from typing import Any
|
|
9
9
|
|
|
10
|
-
__version__ = '1.15.
|
|
11
|
-
__date__ = '
|
|
10
|
+
__version__ = '1.15.3'
|
|
11
|
+
__date__ = '10 November 2026, 14:30 UTC+7'
|
|
12
12
|
__author__ = ('AzzamMuhyala',)
|
|
13
13
|
|
|
14
14
|
version = pys_sys.version = f'{__version__} ({__date__})'
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/site.pys
RENAMED
|
@@ -5,7 +5,12 @@ import explorer
|
|
|
5
5
|
from '_pyscript>utils>module' import get_module_candidate
|
|
6
6
|
from '_pyscript>utils>path' import normpath
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
(func getusersitepackages() {
|
|
9
|
+
global ENABLE_USER_SITE
|
|
10
|
+
path = sys.site_packages_path
|
|
11
|
+
ENABLE_USER_SITE = path is not none
|
|
12
|
+
return path
|
|
13
|
+
})()
|
|
9
14
|
|
|
10
15
|
func removeduppaths() {
|
|
11
16
|
path = []
|
|
@@ -23,27 +28,34 @@ func removeduppaths() {
|
|
|
23
28
|
return known_paths
|
|
24
29
|
}
|
|
25
30
|
|
|
26
|
-
func
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
))
|
|
31
|
+
func getsitepackages() {
|
|
32
|
+
site_path = getusersitepackages()
|
|
33
|
+
if (!ENABLE_USER_SITE)
|
|
34
|
+
throw Exception('user site is disabled')
|
|
35
|
+
return list(comprehension(
|
|
36
|
+
os.listdir(site_path),
|
|
37
|
+
func(package) => os.path.splitext(package)[0],
|
|
38
|
+
func(package) => get_module_candidate(normpath(site_path, package)) is not none
|
|
39
|
+
))
|
|
40
|
+
}
|
|
33
41
|
|
|
34
42
|
func addpackage(path) {
|
|
35
|
-
|
|
36
|
-
if (
|
|
43
|
+
site_path = getusersitepackages()
|
|
44
|
+
if (!ENABLE_USER_SITE)
|
|
45
|
+
throw Exception('user site is disabled')
|
|
46
|
+
if (get_module_candidate(normpath(path)) is none)
|
|
37
47
|
throw ModuleNotFoundError("invalid module")
|
|
38
|
-
result = explorer.copy(path,
|
|
48
|
+
result = explorer.copy(path, site_path, metadata=False)
|
|
39
49
|
if (!result.success)
|
|
40
50
|
throw result.exception
|
|
41
51
|
}
|
|
42
52
|
|
|
43
53
|
func removepackage(name) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
site_path = getusersitepackages()
|
|
55
|
+
if (!ENABLE_USER_SITE)
|
|
56
|
+
throw Exception('user site is disabled')
|
|
57
|
+
path = normpath(site_path, name)
|
|
58
|
+
if (get_module_candidate(path) is none)
|
|
47
59
|
throw ModuleNotFoundError("module not found")
|
|
48
60
|
if (!os.path.exists(path))
|
|
49
61
|
path += '.pys'
|
|
@@ -68,6 +80,12 @@ if (__name__ == '__main__') {
|
|
|
68
80
|
description="PyScript's site module"
|
|
69
81
|
)
|
|
70
82
|
|
|
83
|
+
parser.add_argument(
|
|
84
|
+
'--user-site',
|
|
85
|
+
action='store_true',
|
|
86
|
+
help='show the user site path'
|
|
87
|
+
)
|
|
88
|
+
|
|
71
89
|
parser.add_argument(
|
|
72
90
|
'-s',
|
|
73
91
|
action='store_true',
|
|
@@ -107,7 +125,10 @@ if (__name__ == '__main__') {
|
|
|
107
125
|
}
|
|
108
126
|
}
|
|
109
127
|
|
|
110
|
-
if (
|
|
128
|
+
if (args.user_site)
|
|
129
|
+
print(getusersitepackages())
|
|
130
|
+
|
|
131
|
+
elif (!ENABLE_USER_SITE)
|
|
111
132
|
error('User site is disabled')
|
|
112
133
|
|
|
113
134
|
elif (args.l)
|
|
@@ -69,4 +69,47 @@ my friends are all so mean auntiee (temanku semua pada jahat tantee)
|
|
|
69
69
|
when i'm down they're never there (aku lagi susah mereka gak ada)
|
|
70
70
|
[kenny died]
|
|
71
71
|
but when i'm living the high life.. (coba kalau lagi jaya..)
|
|
72
|
-
they'll be all over me auntiee (aku dipuja-pujanya tantee)
|
|
72
|
+
they'll be all over me auntiee (aku dipuja-pujanya tantee)
|
|
73
|
+
|
|
74
|
+
what is that?
|
|
75
|
+
a toilet?
|
|
76
|
+
that's right! it's a toilet clyde
|
|
77
|
+
and where is the toilet seat?
|
|
78
|
+
it's up! because you left it up, again!
|
|
79
|
+
we've been through this countless times clyde!
|
|
80
|
+
ok mom just not in front of my friends ok?
|
|
81
|
+
no not ok!
|
|
82
|
+
because you are getting the message!
|
|
83
|
+
what if i had fallen in,
|
|
84
|
+
start listening to me! put it down, put it down!
|
|
85
|
+
[seat placed down]
|
|
86
|
+
|
|
87
|
+
[intense crap]
|
|
88
|
+
[poop pops out]
|
|
89
|
+
[silent]
|
|
90
|
+
eric, did you just take a crap on my desk?
|
|
91
|
+
[pulling pants]
|
|
92
|
+
what's up? what's up?
|
|
93
|
+
i crapped on your desk, dawg
|
|
94
|
+
what's up with that?
|
|
95
|
+
[silent]
|
|
96
|
+
huh..
|
|
97
|
+
|
|
98
|
+
category is people who annoy you
|
|
99
|
+
audience keep quite please!
|
|
100
|
+
[cameraman glances]
|
|
101
|
+
uhh.. well uh..
|
|
102
|
+
ten seconds mr marsh
|
|
103
|
+
i know it but i dont think i should say it
|
|
104
|
+
five seconds mr marsh
|
|
105
|
+
alright, i'd like to solve the puzzle
|
|
106
|
+
N*GGERS!
|
|
107
|
+
[incorrect sound]
|
|
108
|
+
huh?
|
|
109
|
+
[NAGGERS]
|
|
110
|
+
ohh..
|
|
111
|
+
oww..
|
|
112
|
+
oh naggers of course, naggers..
|
|
113
|
+
uhh, can we cut to a..
|
|
114
|
+
can we cut to a-
|
|
115
|
+
[beep sound]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyscript-programming-language
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.3
|
|
4
4
|
Summary: PyScript Programming Language
|
|
5
5
|
Home-page: https://azzammuhyala.github.io/pyscript
|
|
6
6
|
Author: AzzamMuhyala
|
|
@@ -83,13 +83,6 @@ pip install -U pyscript-programming-language
|
|
|
83
83
|
pip install -U pyscript-programming-language[other]
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
And also, you can download PyScript with `git`:
|
|
87
|
-
```sh
|
|
88
|
-
git clone https://github.com/azzammuhyala/pyscript
|
|
89
|
-
cd pyscript
|
|
90
|
-
pip install .
|
|
91
|
-
```
|
|
92
|
-
|
|
93
86
|
After that, you can run the PyScript shell (_REPL_) with this command:
|
|
94
87
|
```sh
|
|
95
88
|
python -m pyscript
|
|
@@ -8,7 +8,7 @@ with open('README.md', 'r', encoding='utf-8') as file:
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='pyscript-programming-language',
|
|
11
|
-
version='1.15.
|
|
11
|
+
version='1.15.3',
|
|
12
12
|
description='PyScript Programming Language',
|
|
13
13
|
long_description=long_description,
|
|
14
14
|
long_description_content_type='text/markdown',
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# Change Logs
|
|
2
|
-
|
|
3
|
-
## [1.15.2] - 08/11/2026
|
|
4
|
-
|
|
5
|
-
### Added
|
|
6
|
-
- Site packages have been moved to `site.getusersitepackages()` within the `pyscript` folder.
|
|
7
|
-
- The body of a `switch` statement can use semicolons `;`.
|
|
8
|
-
- Optimizations applied to several nodes.
|
|
9
|
-
- `getch` library includes the function `getch.is_initialized()`.
|
|
10
|
-
- `site` library includes the function `site.getusersitepackages()`.
|
|
11
|
-
- Added support for conversion to `complex` types in the `dual` library.
|
|
12
|
-
- Added the `make_dirs` parameter to the `newfile`, `move`, and `copy` functions in the `explorer` library.
|
|
13
|
-
|
|
14
|
-
### Fixed
|
|
15
|
-
- Fixed several bugs.
|
|
16
|
-
- _etc._
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/__init__.py
RENAMED
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/__init__.pyi
RENAMED
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/bases.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/lexer.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/nodes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/core/token.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/ansi.pys
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/code.pys
RENAMED
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/dis.pys
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/this.pys
RENAMED
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/lib/token.pys
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/credits
RENAMED
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/other/license
RENAMED
|
File without changes
|
{pyscript_programming_language-1.15.2 → pyscript_programming_language-1.15.3}/pyscript/this.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|