Nspyre

Latest version: v0.6.1

Safety actively analyzes 688775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.4.5

**CHANGELOG:**
* added 'step' feature to *Instrument Manager* to adjust the *QSpinBox* increment magnitude
* removed *Actions* tab for devices in the *Instrument Manager* if it is empty
* the instrument server reports appropriate error if it cannot connect to MongoDB successfully
* the instrument server correctly passes exception error messages through custom `NSpyreError` class

0.4.4

**CHANGELOG:**
* added separate `Logger` classes and handlers for stdout and stderr to preserve stderr output formatting to console
* fix to `NSpyreError` class preventing exception messages from being used
* NSpyre main startup window temporarily using *Popen* instead of *QProcess* to launch GUI windows so stdin, stdout, and stderr can be passed back to main window
* meta-data updates to documentation
* meta-data updates to default instrument server config file

0.4.3

**CHANGELOG:**
* *Instrument Manager* GUI now resizes normally
* added missing setting in default client config file
* added custom logging handler for nspyre
* improved exception handling when reading configuration files
* added kill signal handling to instrument server
* added unit testing for spyrelet convenience functions
* added settings for local and CI use of pytesting suite
* added settings for CI linting and formatting checks
* added pre-commit hooks to repository for flake8, black, and mypy
* added linting (flake8), formatting (black), and static typing config files for managing repository

0.4.2

**CHANGELOG:**
* added optional 'dev' install packages in setuptools for inclusion of pytests in published distributions
* added base `NSpyreError` class for exception handling and moved all custom exceptions to new error sub-module
* modified `NSpyreApp` application name so it is labelled correctly by OS
* improved Windows OS MongoDB startup script checking for successful startup of mongo and creation of databases
* improved how the `Spyrelet` class loads devices from the instrument server using the `InservGateway`
* linting and reformatting of various files:
- `/__init__.py`
- `/config/config_files.py`
- `/gui/instrument_manager.py`
- `/gui/main_window.py`
- `/gui/view_manager.py`
- `/inserv/__init__.py`
- `/inserv/gateway.py`
- `/inserv/inserv.py`
- `/mongodb/__init__.py`
- `/spyrelet/spyrelet.py`

0.4.1

**CHANGELOG:**
* `nspyre-inserv` command line tool:
- removed `--mongo/-m` flag to set the MongoDB server address
- added `--config/-c` flag to provide a config file to load, instead of the currently active file
* fixed an issue with the base units displayed in the *Instrument Manager*
* small improvements to gateway handling instrument server connections
* small improvements to how the instrument server connects to MongoDB servers
* reverted startup GUI to use `python` executable instead of `python3` executable to launch additional GUI windows because of Windows quirk in conda
* MongoDB startup scripts now wait to check that the MongoDB servers are running successfully before exiting
* added universal `load_meta_config` function to get the current active client config file and changed `load_config` function to reflect this
- now `load_config` must be explicitly passed a config file path instead of implicitly determining the active file itself
* removed individual log files for separate nspyre sub-modules
* added a singular system-wide nspyre logger for all sub-modules, with logging to stdout and, optionally, a file
* added instrument server config parameters to client config files with `instrument_servers` key
- updated default client config file settings to reflect addition
- removed `server_settings` key from instrument server config files
* removed command line arguments for `nspyre` command line tool
- it will only launch the startup GUI
* added initial nspyre units tests for pytesting suite
* renamed `util` sub-module to `misc`

0.4.0

**CHANGELOG:**
* access to devices on the gateway has changed; to access a device through the gateway, use the following syntax: <br/> `[gateway].[server_name].[device_name]`
- the gateway `servers` dictionary is now a dunder variable `_servers` and should not be accessed; the gateway `devs` dictionary has been removed.
- the instrument server `devs` dictionary is now a dunder variable `_devs` and should not be accessed
* release of new *Instrument Manager* GUI:
- uses `InservGateway` connection to communication to instrument servers (no longer uses MongoDB)
- device updates are set from the manager as soon as you finish typing (do not need to press enter)
- instrument manager GUI automatically updates values whenever the instrument server values update (*Note:* if the hardware updates, but the device driver on the instrument server does not get notified, then the instrument manager will not reflect this updated state either)
* rewrite of base `NSpyreApp` *Qt QApplication* class
* rewrite of *NSpyre Startup* GUI
* improvements to how NSpyre component GUI windows are launched
* improvements to the display settings and fonts of NSpyre GUIs for high resolution displays
* fixed an issue where the active config file changes if a config file above the active file in the config list is deleted
* `InservGateway` now spawns RPyC connections to instrument servers as background threads to prevent blocking of the Qt event loop for GUI applications
* implemented `on_about_to_disconnect` methods to `InstrumentServer` by monkey-wrapping RPyC `Service` class; this prevents callback functions between the instrument server and instrument manager from causing the server to crash on disconnect
* meta-data update to documentation, including installing nspyre, testing a successful install, and writing configuration files

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.