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.
Files changed (75) hide show
  1. {physicslab-2.0.1 → physicslab-2.0.2}/PKG-INFO +1 -1
  2. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_core.py +9 -6
  3. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/artificialCircuit.py +2 -2
  4. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/__init__.py +1 -0
  5. physicslab-2.0.2/physicsLab/lib/analog_circuit/__init__.py +2 -0
  6. physicslab-2.0.2/physicsLab/lib/analog_circuit/analog.py +869 -0
  7. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/_api.py +40 -6
  8. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/api.py +42 -25
  9. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/webutils.py +22 -25
  10. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/PKG-INFO +1 -1
  11. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/SOURCES.txt +2 -0
  12. {physicslab-2.0.1 → physicslab-2.0.2}/setup.py +1 -1
  13. {physicslab-2.0.1 → physicslab-2.0.2}/LICENSE +0 -0
  14. {physicslab-2.0.1 → physicslab-2.0.2}/README.md +0 -0
  15. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/__init__.py +0 -0
  16. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_colorUtils.py +0 -0
  17. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_tools.py +0 -0
  18. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/_typing.py +0 -0
  19. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/celestial/__init__.py +0 -0
  20. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/celestial/_planetbase.py +0 -0
  21. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/celestial/planets.py +0 -0
  22. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/chart.py +0 -0
  23. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/__init__.py +0 -0
  24. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/_circuit_core.py +0 -0
  25. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/__init__.py +0 -0
  26. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/basicCircuit.py +0 -0
  27. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/logicCircuit.py +0 -0
  28. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/otherCircuit.py +0 -0
  29. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/circuit/elements/sensor.py +0 -0
  30. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/electromagnetism/__init__.py +0 -0
  31. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/electromagnetism/_electromagnetismBase.py +0 -0
  32. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/electromagnetism/elements.py +0 -0
  33. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/element.py +0 -0
  34. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/enums.py +0 -0
  35. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/errors.py +0 -0
  36. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/__init__.py +0 -0
  37. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/edge_trigger.py +0 -0
  38. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/logic.py +0 -0
  39. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/super_logic_gate.py +0 -0
  40. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/lib/logic_circuit/wires.py +0 -0
  41. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/__init__.py +0 -0
  42. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/__init__.py +0 -0
  43. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/frozen.py +0 -0
  44. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/__init__.py +0 -0
  45. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/checks.py +0 -0
  46. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/decode.py +0 -0
  47. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/encode.py +0 -0
  48. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/messages.py +0 -0
  49. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/specs.py +0 -0
  50. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/messages/strings.py +0 -0
  51. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/__init__.py +0 -0
  52. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/meta.py +0 -0
  53. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/midifiles.py +0 -0
  54. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/tracks.py +0 -0
  55. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/midifiles/units.py +0 -0
  56. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/parser.py +0 -0
  57. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/ports.py +0 -0
  58. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/__init__.py +0 -0
  59. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_connect.py +0 -0
  60. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_play.py +0 -0
  61. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_ports.py +0 -0
  62. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/scripts/mido_serve.py +0 -0
  63. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/sockets.py +0 -0
  64. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/syx.py +0 -0
  65. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/mido/tokenizer.py +0 -0
  66. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/music/music.py +0 -0
  67. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/plAR.py +0 -0
  68. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/savTemplate.py +0 -0
  69. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/utils.py +0 -0
  70. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/__init__.py +0 -0
  71. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab/web/_threadpool.py +0 -0
  72. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/dependency_links.txt +0 -0
  73. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/requires.txt +0 -0
  74. {physicslab-2.0.1 → physicslab-2.0.2}/physicsLab.egg-info/top_level.txt +0 -0
  75. {physicslab-2.0.1 → physicslab-2.0.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: physicsLab
3
- Version: 2.0.1
3
+ Version: 2.0.2
4
4
  Summary: Python API for Quantum-Physics App
5
5
  Home-page: https://github.com/GoodenoughPhysicsLab/physicsLab
6
6
  Author: Arendelle
@@ -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.keys():
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: 将存档保存在此路径 (要求必须是file), 默认为 SAV_PATH
274
+ @param target_path: 将存档保存在此路径 (要求必须是文件的路径), 默认为 SAV_PATH
275
275
  @param no_print_info: 是否打印写入存档的元件数, 导线数(如果是电学实验的话)
276
276
  '''
277
- if not isinstance(target_path, (str, type(None))) or not isinstance(no_print_info, bool):
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"(\"{self.SAV_PATH}\")! "
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"(\"{self.SAV_PATH}\")! "
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.0,
452
- max_power: num_type = 5.0,
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)) \
@@ -1,2 +1,3 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  from .logic_circuit import *
3
+ from .analog_circuit import *
@@ -0,0 +1,2 @@
1
+ # -*- coding: utf-8 -*-
2
+ from .analog import *