Happi

Latest version: v2.6.1

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

Scan your dependencies

Page 1 of 7

2.6.1

What's Changed
* BLD: Try swapping to line_profiler, seems the same as line-profiler by tangkong in https://github.com/pcdshub/happi/pull/352

This is a packaging release, no functional difference from v2.6.0

**Full Changelog**: https://github.com/pcdshub/happi/compare/v2.6.0...v2.6.1

2.6.0

Features
--------
- Updated `happi load` to support searching and loading in one user-friendly expression. The load function now gathers the results of each search term individually and loads the union of the results.

Maintenance
-----------
- Make running happi repair only saves an item if it actually got changed during the repair process
- Fixes issue in test suite, making tst_base_pim2 a loadable SimpleNamespacce
- Add example .cfg and some more instructions on using happi cli
- Make pre-release notes script default to just using vi if EDITOR env var is not set.
- Fix a few dead links in the docs, add to contributing doc to make 1st time dev instructions bit more clear

Contributors
------------
- janeliu-slac
- nstelter-slac
- tangkong

**Full Changelog**: https://github.com/pcdshub/happi/compare/v2.5.0...v2.6.0

2.5.0

Features
--------
- Adds more user-friendly qt search widget

Bugfixes
--------
- Fixes audit output table, preventing names from being dropped

Maintenance
-----------
- Adjusts cli audit output to work better for file redirects
- Fix conda recipe to use "run_constrained" not "run-constrained"

Contributors
------------
- tangkong
- klauer

2.4.0

Features
--------
- Added ``happi.audit.audit()`` which can be used to programmatically audit
happi items.

Bugfixes
--------
- Fixes bug where `happi transfer` was not filling default values properly
- Fixes conftest.trim_split_output, which was effectively a no-op. Touches up affected tests
- Issue 302: Add functionality to happi 'repair' that ensures that the name and id fields of a device are the same.
- Removes an extra pcdsutils import from test_cli.py that is not properly caught by error handling

Maintenance
-----------
- Adds error handling for the temporary file created when initializing a json backend object.
- Changes format of temporary file name generation to contain only a unique hash.
- Tests modified to no longer assert stdout matches expected strings. Rather the effect of the
command being tested is verified independently. The `assert_match_expected` helper is still
used, but will now print mismatches instead of asserting them.
- Allows `happi update` to handle json-backend-type payloads
- Adds pcdsutils and pcdsdevices to environment requirements in conda recipe and dev requirements
- Removes pcdsutils and pcdsdevices from extra testing requirements in github workflow
- The ``happi audit`` CLI entrypoint has been modified to use
``happi.audit.audit()``.
- Updates mongo backend to handle authSource, require connection information (host, user, etc)
- Documents bson dependency. Bson is vendored by pymongo, which instructs
users to not install bson from pypi (`pymongo readme <https://github.com/mongodb/mongo-python-driver/tree/master#installation>`)

Contributors
------------
- klauer
- laura-king
- tangkong

2.3.0

Features
--------
- CLI command ``happi config edit`` - open config file in ``$EDITOR``
- CLI command ``happi config init`` - create new config file with default options
- CLI command ``happi config show`` - show location & contents of config file
- Extend the config searching mechanism to check the platformdirs config directory. The happi config file path is taken from the ``HAPPI_CFG`` environment variable, but if the variable is not set then the following locations are searched in order for files named ``.happi.cfg`` or ``happi.cfg``:

- The location specified by the ``XDG_CONFIG_HOME`` environment variable
- ``~/.config``
- (**new**) The location specified by ``platformdirs.user_config_dir("happi")``

Maintenance
-----------
- Add dependency on `platformdirs` https://pypi.org/project/platformdirs/
- Update build requirements to use pip-provided extras for documentation and test builds

Contributors
------------
- tangkong
- untzag

2.2.0

Features
--------
- Adds a hook in ``happi.loader.from_container`` that runs the method ``post_happi_md`` on an instantiated object after the metadata container has been attached. This allows a clear method for objects to interact with happi metadata if desired.

Maintenance
-----------
- Makes ``HappiDeviceTreeView`` more tolerant of items with missing metadata keys. Items missing the key used to group the tree view will be organized into a catch-all "[KEY NOT FOUND]" group.

Contributors
------------
- tangkong

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.