physicsLab 2.0.1__tar.gz → 2.0.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.
- {physicslab-2.0.1 → physicslab-2.0.2}/PKG-INFO +1 -1
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_core.py +9 -6
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/artificialCircuit.py +2 -2
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/__init__.py +1 -0
- physicslab-2.0.2/physicsLab/lib/analog_circuit/__init__.py +2 -0
- physicslab-2.0.2/physicsLab/lib/analog_circuit/analog.py +869 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/_api.py +40 -6
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/api.py +42 -25
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/webutils.py +22 -25
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/PKG-INFO +1 -1
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/SOURCES.txt +2 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/setup.py +1 -1
- {physicslab-2.0.1 → physicslab-2.0.2}/LICENSE +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/README.md +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_colorUtils.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_tools.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_typing.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/celestial/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/celestial/_planetbase.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/celestial/planets.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/chart.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/_circuit_core.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/basicCircuit.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/logicCircuit.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/otherCircuit.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/sensor.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/electromagnetism/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/electromagnetism/_electromagnetismBase.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/electromagnetism/elements.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/element.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/enums.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/errors.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/edge_trigger.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/logic.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/super_logic_gate.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/wires.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/frozen.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/checks.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/decode.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/encode.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/messages.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/specs.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/strings.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/meta.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/midifiles.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/tracks.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/units.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/parser.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/ports.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_connect.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_play.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_ports.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_serve.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/sockets.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/syx.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/tokenizer.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/music.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/plAR.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/savTemplate.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/utils.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/__init__.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/_threadpool.py +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/dependency_links.txt +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/requires.txt +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/top_level.txt +0 -0
- {physicslab-2.0.1 → physicslab-2.0.2}/setup.cfg +0 -0
|
@@ -76,13 +76,13 @@ def _check_not_closed(method: Callable) -> Callable:
|
|
|
76
76
|
class _Experiment:
|
|
77
77
|
''' 物实实验 (支持物实的三种实验类型) '''
|
|
78
78
|
|
|
79
|
-
if "PHYSICSLAB_HOME_PATH" in os.environ
|
|
79
|
+
if "PHYSICSLAB_HOME_PATH" in os.environ:
|
|
80
80
|
SAV_PATH_DIR = os.environ["PHYSICSLAB_HOME_PATH"]
|
|
81
81
|
else:
|
|
82
82
|
if platform.system() == "Windows":
|
|
83
83
|
SAV_PATH_DIR = os.path.join(plAR.WIN_PLAR_HOME_DIR, "Circuit")
|
|
84
84
|
else:
|
|
85
|
-
SAV_PATH_DIR = "physicsLabSav"
|
|
85
|
+
SAV_PATH_DIR = os.path.abspath("physicsLabSav")
|
|
86
86
|
|
|
87
87
|
open_mode: OpenMode
|
|
88
88
|
_position2elements: Dict[Tuple[num_type, num_type, num_type], List["ElementBase"]]
|
|
@@ -271,14 +271,17 @@ class _Experiment:
|
|
|
271
271
|
no_print_info: bool = False,
|
|
272
272
|
) -> Self:
|
|
273
273
|
''' 以物实存档的格式导出实验
|
|
274
|
-
@param target_path: 将存档保存在此路径 (
|
|
274
|
+
@param target_path: 将存档保存在此路径 (要求必须是文件的路径), 默认为 SAV_PATH
|
|
275
275
|
@param no_print_info: 是否打印写入存档的元件数, 导线数(如果是电学实验的话)
|
|
276
276
|
'''
|
|
277
|
-
if not isinstance(target_path, (str, type(None)))
|
|
277
|
+
if not isinstance(target_path, (str, type(None))) \
|
|
278
|
+
or not isinstance(no_print_info, bool):
|
|
278
279
|
raise TypeError
|
|
279
280
|
|
|
280
281
|
if target_path is None:
|
|
281
282
|
target_path = self.SAV_PATH
|
|
283
|
+
else:
|
|
284
|
+
target_path = os.path.abspath(target_path)
|
|
282
285
|
|
|
283
286
|
if self.open_mode in (OpenMode.load_by_sav_name, OpenMode.load_by_filepath, OpenMode.load_by_plar_app):
|
|
284
287
|
status: str = "update"
|
|
@@ -298,7 +301,7 @@ class _Experiment:
|
|
|
298
301
|
if self.experiment_type == ExperimentType.Circuit:
|
|
299
302
|
_colorUtils.color_print(
|
|
300
303
|
f"Successfully {status} experiment \"{self.PlSav['InternalName']}\""
|
|
301
|
-
f"(\"{
|
|
304
|
+
f"(\"{target_path}\")! "
|
|
302
305
|
f"{self.get_elements_count()} elements, {self.get_wires_count()} wires.",
|
|
303
306
|
color=_colorUtils.COLOR.GREEN
|
|
304
307
|
)
|
|
@@ -306,7 +309,7 @@ class _Experiment:
|
|
|
306
309
|
or self.experiment_type == ExperimentType.Electromagnetism:
|
|
307
310
|
_colorUtils.color_print(
|
|
308
311
|
f"Successfully {status} experiment \"{self.PlSav['InternalName']}\""
|
|
309
|
-
f"(\"{
|
|
312
|
+
f"(\"{target_path}\")! "
|
|
310
313
|
f"{self.get_elements_count()} elements.",
|
|
311
314
|
color=_colorUtils.COLOR.GREEN
|
|
312
315
|
)
|
|
@@ -448,8 +448,8 @@ class Transistor(CircuitBase):
|
|
|
448
448
|
elementXYZ: Optional[bool] = None,
|
|
449
449
|
identifier: Optional[str] = None,
|
|
450
450
|
is_PNP: bool = True,
|
|
451
|
-
gain: num_type = 100
|
|
452
|
-
max_power: num_type =
|
|
451
|
+
gain: num_type = 100,
|
|
452
|
+
max_power: num_type = 1000,
|
|
453
453
|
) -> None:
|
|
454
454
|
if not isinstance(is_PNP, bool) \
|
|
455
455
|
or not isinstance(gain, (int, float)) \
|