syd 1.2.2__tar.gz → 1.2.4__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 (29) hide show
  1. {syd-1.2.2 → syd-1.2.4}/PKG-INFO +4 -2
  2. {syd-1.2.2 → syd-1.2.4}/README.md +1 -0
  3. {syd-1.2.2 → syd-1.2.4}/pyproject.toml +2 -1
  4. {syd-1.2.2 → syd-1.2.4}/syd/__init__.py +1 -1
  5. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/deployer.py +6 -1
  6. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/viewer.js +1 -4
  7. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/templates/index.html +1 -2
  8. {syd-1.2.2 → syd-1.2.4}/syd/viewer.py +2 -2
  9. {syd-1.2.2 → syd-1.2.4}/.gitignore +0 -0
  10. {syd-1.2.2 → syd-1.2.4}/LICENSE +0 -0
  11. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/__init__.py +0 -0
  12. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/__init__.py +0 -0
  13. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/css/styles.css +0 -0
  14. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/css/viewer.css +0 -0
  15. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/modules/api.js +0 -0
  16. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/modules/config.js +0 -0
  17. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/modules/plot.js +0 -0
  18. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/modules/state.js +0 -0
  19. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/modules/system_controls.js +0 -0
  20. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/modules/ui_controls.js +0 -0
  21. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/modules/utils.js +0 -0
  22. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/static/js/old_viewer.js +0 -0
  23. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/templates/__init__.py +0 -0
  24. {syd-1.2.2 → syd-1.2.4}/syd/flask_deployment/testing_principles.md +0 -0
  25. {syd-1.2.2 → syd-1.2.4}/syd/notebook_deployment/__init__.py +0 -0
  26. {syd-1.2.2 → syd-1.2.4}/syd/notebook_deployment/deployer.py +0 -0
  27. {syd-1.2.2 → syd-1.2.4}/syd/notebook_deployment/widgets.py +0 -0
  28. {syd-1.2.2 → syd-1.2.4}/syd/parameters.py +0 -0
  29. {syd-1.2.2 → syd-1.2.4}/syd/support.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: syd
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: A Python package for making GUIs for data science easy.
5
5
  Project-URL: Homepage, https://github.com/landoskape/syd
6
6
  Author-email: Andrew Landau <andrew+tyler+landau+getridofthisanddtheplusses@gmail.com>
@@ -12,12 +12,13 @@ Classifier: Intended Audience :: Developers
12
12
  Classifier: Intended Audience :: Science/Research
13
13
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
14
14
  Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3.8
15
16
  Classifier: Programming Language :: Python :: 3.9
16
17
  Classifier: Programming Language :: Python :: 3.10
17
18
  Classifier: Programming Language :: Python :: 3.11
18
19
  Classifier: Programming Language :: Python :: 3.12
19
20
  Classifier: Programming Language :: Python :: 3.13
20
- Requires-Python: >=3.9
21
+ Requires-Python: >=3.8
21
22
  Requires-Dist: flask
22
23
  Requires-Dist: ipykernel
23
24
  Requires-Dist: ipympl
@@ -232,6 +233,7 @@ black . # from the root directory of the repo
232
233
  ```
233
234
 
234
235
  ## To-Do List
236
+ This section doubles as a checklist for things I think could be useful and _a place to get feedback about what users think is useful_. If you think something in this is critical and should be prioritized, or if you think something is missing, please let me know by submitting an issue on the [github issues page](https://github.com/landoskape/syd/issues).
235
237
  - Layout controls
236
238
  - [ ] Add a "save" button that saves the current state of the viewer to a json file
237
239
  - [ ] Add a "load" button that loads the viewer state from a json file
@@ -202,6 +202,7 @@ black . # from the root directory of the repo
202
202
  ```
203
203
 
204
204
  ## To-Do List
205
+ This section doubles as a checklist for things I think could be useful and _a place to get feedback about what users think is useful_. If you think something in this is critical and should be prioritized, or if you think something is missing, please let me know by submitting an issue on the [github issues page](https://github.com/landoskape/syd/issues).
205
206
  - Layout controls
206
207
  - [ ] Add a "save" button that saves the current state of the viewer to a json file
207
208
  - [ ] Add a "load" button that loads the viewer state from a json file
@@ -10,7 +10,7 @@ authors = [
10
10
  ]
11
11
  description = "A Python package for making GUIs for data science easy."
12
12
  readme = "README.md"
13
- requires-python = ">=3.9"
13
+ requires-python = ">=3.8"
14
14
  dependencies = [
15
15
  "ipywidgets",
16
16
  "ipympl",
@@ -28,6 +28,7 @@ classifiers = [
28
28
  "Intended Audience :: Science/Research",
29
29
  "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
30
30
  "Operating System :: OS Independent",
31
+ "Programming Language :: Python :: 3.8",
31
32
  "Programming Language :: Python :: 3.9",
32
33
  "Programming Language :: Python :: 3.10",
33
34
  "Programming Language :: Python :: 3.11",
@@ -1,4 +1,4 @@
1
- __version__ = "1.2.2"
1
+ __version__ = "1.2.4"
2
2
 
3
3
  from .viewer import make_viewer, Viewer
4
4
  from .support import show_open_servers, close_servers
@@ -97,6 +97,7 @@ class FlaskLayoutConfig:
97
97
 
98
98
  controls_position: str = "left" # Options are: 'left', 'top', 'right', 'bottom'
99
99
  controls_width_percent: int = 15
100
+ plot_margin_percent: float = 10
100
101
 
101
102
  def __post_init__(self):
102
103
  valid_positions = ["left", "top", "right", "bottom"]
@@ -121,7 +122,8 @@ class FlaskDeployer:
121
122
  viewer: Viewer,
122
123
  controls_position: str = "left",
123
124
  fig_dpi: int = 300,
124
- controls_width_percent: int = 15,
125
+ controls_width_percent: int = 20,
126
+ plot_margin_percent: float = 2.5,
125
127
  suppress_warnings: bool = True,
126
128
  debug: bool = False,
127
129
  host: str = "127.0.0.1",
@@ -147,6 +149,8 @@ class FlaskDeployer:
147
149
  Approximate height for template layout guidance (inches)
148
150
  controls_width_percent : int, optional
149
151
  Width of the controls panel as a percentage of the total width
152
+ plot_margin_percent : float, optional
153
+ Margin around the plot (inches)
150
154
  suppress_warnings : bool, optional
151
155
  Whether to suppress ParameterUpdateWarning during updates
152
156
  debug : bool, optional
@@ -172,6 +176,7 @@ class FlaskDeployer:
172
176
  self.config = FlaskLayoutConfig(
173
177
  controls_position=controls_position,
174
178
  controls_width_percent=controls_width_percent,
179
+ plot_margin_percent=plot_margin_percent,
175
180
  )
176
181
  self.fig_dpi = fig_dpi
177
182
  self.debug = debug
@@ -44,15 +44,12 @@ document.addEventListener('DOMContentLoaded', async () => {
44
44
  await fetchInitialData();
45
45
  createControls(); // Populates #parameter-controls
46
46
  if (['left', 'right'].includes(config.controlsPosition)) {
47
- // Pass the already created systemControls element
48
47
  createSystemControls(systemControls); // Populates #system-controls
49
48
  }
50
49
  updatePlot();
51
50
  updateStatus('Ready!');
52
51
  } catch (error) {
53
52
  console.error("Initialization failed:", error);
54
- // Status might have already been updated by the failing function (e.g., fetchInitialData)
55
- // If not, uncomment the line below:
56
- // updateStatus('Initialization failed.');
53
+ updateStatus('Initialization failed.');
57
54
  }
58
55
  });
@@ -23,10 +23,9 @@
23
23
 
24
24
  <!-- Store config as data attributes for JS to access -->
25
25
  <div id="viewer-config"
26
- data-figure-width="{{ config.figure_width }}"
27
- data-figure-height="{{ config.figure_height }}"
28
26
  data-controls-position="{{ config.controls_position }}"
29
27
  data-controls-width-percent="{{ config.controls_width_percent }}"
28
+ data-plot-margin-percent="{{ config.plot_margin_percent }}"
30
29
  style="display:none;"></div>
31
30
 
32
31
  <script type="module" src="{{ url_for('static', filename='js/viewer.js') }}"></script>
@@ -276,6 +276,7 @@ class Viewer:
276
276
  controls_position: str = "left",
277
277
  fig_dpi: int = 300,
278
278
  controls_width_percent: int = 20,
279
+ plot_margin_percent: float = 2.5,
279
280
  suppress_warnings: bool = True,
280
281
  debug: bool = False,
281
282
  host: str = "127.0.0.1",
@@ -293,6 +294,7 @@ class Viewer:
293
294
  controls_position=controls_position,
294
295
  fig_dpi=fig_dpi,
295
296
  controls_width_percent=controls_width_percent,
297
+ plot_margin_percent=plot_margin_percent,
296
298
  suppress_warnings=suppress_warnings,
297
299
  debug=debug,
298
300
  host=host,
@@ -319,8 +321,6 @@ class Viewer:
319
321
 
320
322
  if "port" not in kwargs:
321
323
  kwargs["port"] = None
322
- if "continuous" in kwargs:
323
- kwargs.pop("continuous")
324
324
 
325
325
  deployer = FlaskDeployer(self, **kwargs)
326
326
  deployer.deploy()
File without changes
File without changes
File without changes
File without changes