Smartredis

Latest version: v0.5.2

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

Scan your dependencies

Page 1 of 2

0.5.2

Released on February 16, 2024

Description

- Fixed bug which was sending tensors to the database twice (Python Client)

Detailed Notes

- A previous bug fix for the Python client which addressed a problem when sending numpy views inadvertently kept the original put_tensor call in place. This essentially doubles the cost of the operation. ([PR464](https://github.com/CrayLabs/SmartRedis/pull/464))

0.5.1

Released on February 15, 2024

Description

- Fix bug when sending an array view
- Add concurrency groups for Github Action testing
- Update license to include 2024
- Increase build space for Github Actions
- Update README python versions
- Expose Typehints
- Update supported python versions [Add 3.11, remove 3.7]
- Tweak the build system to enable building SmartRedis with Nvidia's NVHPC toolchain
- Improvements/upgrades to the container used for Github actions
- Code updates to avoid compiler warnings
- Added developer documentation on how to run a single test case and eliminated duplicative environment variables
- Resolve a linting issue with pybind-to-python error propagation
- Use mutable fields to enable Dataset get methods that store memory to be marked const

Detailed Notes

- Detect whether the tensor the user is sending is a view and if so, make an explicit copy. ([PR453](https://github.com/CrayLabs/SmartRedis/pull/453))
- Add support to concurrency groups in the `run_tests` workflow. ([PR456](https://github.com/CrayLabs/SmartRedis/pull/456))
- Update license to include 2024. ([PR454](https://github.com/CrayLabs/SmartRedis/pull/454))
- Add new Github Action that removes unneeded packages and resizes the root disk space. ([PR455](https://github.com/CrayLabs/SmartRedis/pull/455))
- Update developer documentation to reflect newly supported versions of Python ([PR450](https://github.com/CrayLabs/SmartRedis/pull/450)) ([PR452](https://github.com/CrayLabs/SmartRedis/pull/452))
- Add and ship `py.typed` marker to expose inline type hints ([PR451](https://github.com/CrayLabs/SmartRedis/pull/451))
- Deprecate support for Python 3.7 by removing from the allowed Python versions ([PR450](https://github.com/CrayLabs/SmartRedis/pull/450))
- Update Python package dependencies to add support for Python 3.11 ([PR450](https://github.com/CrayLabs/SmartRedis/pull/450))
- Change the order of arguments in our MakeFile to ensure that all dependencies are compiled with GCC ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- Add new user-configurable parameters DEP_CC, DEP_CXX to control which compiler is used to build dependencies ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- Ameliorate some compiler warnings related that were flagged in GCC 12 (unreachable code blocks, signed/unsigned mismatches) ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- CI/CD: Bump the container version used in Github Actions Ubuntu 22.04 to be able to start testing GCC 12 ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- CI/CD: Bump the versions of GCC used in testing to the currently maintained versions ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- CI/CD: Add NVHPC to the testing matrix ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- CI/CD: Test the shared/static compilations and examples with all compilers ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- CI/CD: Compile Redis and RedisAI and use those versions in testing instead of extracting from a container ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- CI/CD: Bump the version of Redis used in testing to 7.0.5, the same version as we use with SmartSim ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- CI/CD: Pin the Torch version to 1.11.0, the same as supported in SmartSim ([PR448](https://github.com/CrayLabs/SmartRedis/pull/448))
- Added developer documentation on how to run a single test case with the new test/build system and eliminated use of SMARTREDIS_TEST_DEVICE and SMARTREDIS_TEST_CLUSTER environment variables ([PR445](https://github.com/CrayLabs/SmartRedis/pull/445))
- Resolve a linting issue with pybind-to-python error propagation by changing import format and narrowing the lookup of pybind error names to the error module ([PR444](https://github.com/CrayLabs/SmartRedis/pull/444))
- Use mutable fields to enable Dataset get methods that store memory to be marked const ([PR443](https://github.com/CrayLabs/SmartRedis/pull/443))

0.5.0

Released on December 18, 2023

Description

- Unpin the Intel Fortran compiler in CI/CD
- Added a missing space in an error message
- Improved consistency of namespace declarations for C++ pybind
interface
- Improved const correctness of C++ Client
- Improved const correctness of C++ Dataset
- Updated documentation
- Added test cases for all Client construction parameter combinations
- Centralized dependency tracking to setup.cfg
- Improved robustness of Python client construction
- Updated Client and Dataset documentation
- Expanded list of allowed characters in the SSDB address
- Added coverage to SmartRedis Python API functions
- Improved responsiveness of library when attempting connection to
missing backend database
- Moved testing of examples to on-commit testing in CI/CD pipeline
- Added name retrieval function to the DataSet object
- Updated RedisAI version used in post-commit check-in testing in
Github pipeline
- Allow strings in Python interface for Client.run_script,
Client.run_script_multiGPU
- Improved support for model execution batching
- Added support for model chunking
- Updated the third-party RedisAI component
- Updated the third-party lcov component
- Add link to contributing guidelines
- Added link to contributing guidelines
- Added support for multiple backend databases via a new Client
constructor that accepts a ConfigOptions object

Detailed Notes

- Unpin the Intel Fortran compiler in CI/CD. This requires running the
compiler setup script twice, once for Fortran and once for other
languages, since they're on different releases
([PR436](https://github.com/CrayLabs/SmartRedis/pull/436))
- Added a missing space in an error message
([PR435](https://github.com/CrayLabs/SmartRedis/pull/435))
- Made the declaration of the py namespace in py\*.h consistently
outside the SmartRedis namespace declaration
([PR434](https://github.com/CrayLabs/SmartRedis/pull/434))
- Fields in several C++ API methods are now properly marked as const
([PR430](https://github.com/CrayLabs/SmartRedis/pull/430))
- The Dataset add_tensor method is now const correct, as are all
internal the methods it calls
([PR427](https://github.com/CrayLabs/SmartRedis/pull/427))
- Some broken links in the documentation were fixed, and the
instructions to run the tests were updated
([PR423](https://github.com/CrayLabs/SmartRedis/pull/423))
- Added test cases for all Client construction parameter combinations
([PR422](https://github.com/CrayLabs/SmartRedis/pull/422))
- Merged dependency lists from requirements.txt and
requirements-dev.txt into setup.cfg to have only one set of
dependencies going forward
([PR420](https://github.com/CrayLabs/SmartRedis/pull/420))
- Improved robustness of Python client construction by adding
detection of invalid kwargs
([PR419](https://github.com/CrayLabs/SmartRedis/pull/419)),
([PR421](https://github.com/CrayLabs/SmartRedis/pull/421))
- Updated the Client and Dataset API documentation to clarify which
interacts with the backend db
([PR416](https://github.com/CrayLabs/SmartRedis/pull/416))
- The SSDB address can now include '-' and '\_' as special characters
in the name. This gives users more options for naming the UDS socket
file ([PR415](https://github.com/CrayLabs/SmartRedis/pull/415))
- Added tests to increase Python code coverage
- Employed a Redis++ ConnectionsObject in the connection process to
establish a TCP timeout of 100ms during connection attempts
([PR413](https://github.com/CrayLabs/SmartRedis/pull/413))
- Moved testing of examples to on-commit testing in CI/CD pipeline
([PR412](https://github.com/CrayLabs/SmartRedis/pull/412))
- Added a function to the DataSet class and added a test
- Updated RedisAI version used in post-commit check-in testing in
Github pipeline to a version that supports fetch of model chunking
size ([PR408](https://github.com/CrayLabs/SmartRedis/pull/408))
- Allow users to pass single keys for the inputs and outputs
parameters as a string for Python run_script and run_script_multigpu
- Exposed access to the Redis.AI MINBATCHTIMEOUT parameter, which
limits the delay in model execution when trying to accumulate
multiple executions in a batch
([PR406](https://github.com/CrayLabs/SmartRedis/pull/406))
- Models will now be automatically chunked when sent to/received from
the backed database. This allows use of models greater than 511MB in
size. ([PR404](https://github.com/CrayLabs/SmartRedis/pull/404))
- Updated from RedisAI v1.2.3 (test target)/v1.2.4 and v1.2.5 (CI/CD
pipeline) to v1.2.7
([PR402](https://github.com/CrayLabs/SmartRedis/pull/402))
- Updated lcov from version 1.15 to 2.0
([PR396](https://github.com/CrayLabs/SmartRedis/pull/396))
- Create CONTRIBUTIONS.md file that points to the contribution
guideline for both SmartSim and SmartRedis
([PR395](https://github.com/CrayLabs/SmartRedis/pull/395))
- Migrated to ConfigOptions-based Client construction, adding multiple
database support
([PR353](https://github.com/CrayLabs/SmartRedis/pull/353))

0.4.2

What's Changed
* Cleanup obsolete build and test files by billschereriii in https://github.com/CrayLabs/SmartRedis/pull/366
* Update language support matrix by billschereriii in https://github.com/CrayLabs/SmartRedis/pull/379
* Fix bad kwarg when launching server via UDS by ankona in https://github.com/CrayLabs/SmartRedis/pull/378
* Update URI for installation instructions by ankona in https://github.com/CrayLabs/SmartRedis/pull/380
* Make testing more robust by billschereriii in https://github.com/CrayLabs/SmartRedis/pull/381
* Mitigate lint errors, apply formatters by ankona in https://github.com/CrayLabs/SmartRedis/pull/382
* Add support for static builds by billschereriii in https://github.com/CrayLabs/SmartRedis/pull/386
* Fix Postmerge tests by billschereriii in https://github.com/CrayLabs/SmartRedis/pull/388
* Update third-party software by billschereriii in https://github.com/CrayLabs/SmartRedis/pull/389
* Extended section on dataset aggregation by billschereriii in https://github.com/CrayLabs/SmartRedis/pull/390
* Resolve pylint error by ankona in https://github.com/CrayLabs/SmartRedis/pull/393
* Update `cibuildwheel` version by MattToast in https://github.com/CrayLabs/SmartRedis/pull/397
* Update changelog for release by MattToast in https://github.com/CrayLabs/SmartRedis/pull/398
* Bump SR version number to 0.4.2 by MattToast in https://github.com/CrayLabs/SmartRedis/pull/399
* Update to v0.4.2 by MattToast in https://github.com/CrayLabs/SmartRedis/pull/400


**Full Changelog**: https://github.com/CrayLabs/SmartRedis/compare/v0.4.1...v0.4.2

0.4.1

Released on July 5, 2023

Description

This release revamps the build and test systems for SmartRedis as well
as improving compatibility with different Fortran compilers and laying
the groundwork for future support for interacting with multiple
concurrent backend databases:

- Documentation improvements
- Improved compatibility of type hints with third-party software
- Added type hints to the Python interface layer
- Add support for Python 3.10
- Updated setup.py to work with the new build system
- Remove unneeded method from Python SRObject class
- Fixed a memory leak in the C layer
- Revamp SmartRedis test system
- Remove debug output in pybind layer
- Update Hiredis version to 1.1.0
- Enable parallel build for the SmartRedis examples
- Experimental support for Nvidia toolchain
- Major revamp of build and test systems for SmartRedis
- Refactor Fortran methods to return default logical kind
- Update CI/CD tests to use a modern version of MacOS
- Fix the spelling of the Dataset destructor's C interface (now
DeallocateDataSet)
- Update Redis++ version to 1.3.8
- Refactor third-party software dependency installation
- Add pip-install target to Makefile to automate this process going
forward (note: this was later removed)
- Added infrastructure for multiDB support

Detailed Notes

- Assorted updates and clarifications to the documentation ([PR367](https://github.com/CrayLabs/SmartRedis/pull/367))
- Turn ParamSpec usage into forward
references to not require typing-extensions at runtime ([PR365](https://github.com/CrayLabs/SmartRedis/pull/365))
- Added type hints to the Python interface layer ([PR361](https://github.com/CrayLabs/SmartRedis/pull/361))
- List Python 3.10 support and loosen PyTorch requirement to allow for
versions support Python 3.10 ([PR360](https://github.com/CrayLabs/SmartRedis/pull/360))
- Streamlined setup.py to simplify Python install (PR359)
- Remove from_pybind() from Python SRObject class as it's not needed
and didn't work properly anyway ([PR358](https://github.com/CrayLabs/SmartRedis/pull/358))
- Fixed memory leaked from the C layer when calling
get_string_option() ([PR357](https://github.com/CrayLabs/SmartRedis/pull/357))
- Major revamp to simplify use of SmartRedis test system, automating
most test processes ([PR356](https://github.com/CrayLabs/SmartRedis/pull/356))
- Remove debug output in pybind layer associated with put_dataset ([PR352](https://github.com/CrayLabs/SmartRedis/pull/352))
- Updated to the latest version of Hiredis (1.1.0) ([PR351](https://github.com/CrayLabs/SmartRedis/pull/351))
- Enable parallel build for the SmartRedis examples by moving utility
Fortran code into a small static library ([PR349](https://github.com/CrayLabs/SmartRedis/pull/349))
- For the NVidia toolchain only: Replaces the assumed rank feature of
F2018 used in the Fortran client with assumed shape arrays, making
it possible to compile SmartRedis with the Nvidia toolchain. ([PR346](https://github.com/CrayLabs/SmartRedis/pull/346))
- Rework the build and test system to improve maintainability of the
library. There have been several significant changes, including that
Python and Fortran clients are no longer built by defaults and that
there are Make variables that customize the build process. Please
review the build documentation and `make help` to see all that has
changed. ([PR341](https://github.com/CrayLabs/SmartRedis/pull/341))
- Many Fortran routines were returning logical kind = c_bool which
turns out not to be the same default kind of most Fortran compilers.
These have now been refactored so that users need not import
iso_c_binding in their own applications ([PR340](https://github.com/CrayLabs/SmartRedis/pull/340))
- Update MacOS version in CI/CD tests from 10.15 to 12.0 ([PR339](https://github.com/CrayLabs/SmartRedis/pull/339))
- Correct the spelling of the C DataSet destruction interface from
DeallocateeDataSet to DeallocateDataSet ([PR338](https://github.com/CrayLabs/SmartRedis/pull/338))
- Updated the version of Redis++ to v1.3.8 to pull in a change that
ensures the redis++.pc file properly points to the generated
libraries ([PR334](https://github.com/CrayLabs/SmartRedis/pull/334))
- Third-party software dependency installation is now handled in the
Makefile instead of separate scripts
- New pip-install target in Makefile will be a dependency of the lib
target going forward so that users don't have to manually pip
install SmartRedis in the future ([PR330](https://github.com/CrayLabs/SmartRedis/pull/330))
- Added ConfigOptions class and API, which will form the backbone of
multiDB support ([PR303](https://github.com/CrayLabs/SmartRedis/pull/303))

0.4.0

Released on April 12, 2023

Description

This release provides a variety of features to improve usability and
debugging of the SmartRedis library, notably including Unix domain
socket support, logging, the ability to print a textual representation
of a string or dataset, dataset inspection, documentation updates, fixes
to the multi-GPU support, and much more:

- Prepare 0.4.0 release
- Disable codecov CI tests
- Improved error message in to_string methods in C interface
- Streamlined PyBind interface layer
- Updated Python API documentation
- Streamlined C interface layer
- Improved performance of get, put, and copy dataset methods
- Fix a bug which prevented multi-GPU model set in some cases
- Streamline pipelined execution of tasks for backend database
- Enhance code coverage to include all 4 languages supported by
SmartRedis
- Fix a bug which resulted in wrong key prefixing when retrieving
aggregation lists in ensembles
- Correct assorted API documentation errors
- Improve documentation of exception handling in Redis server classes
- Improve error handling for setting of scripts and models
- Add support to inspect the dimensions of a tensor via
get_tensor_dims()
- Split dataset prefixing control from use_tensor_ensemble_prefix() to
use_dataset_ensemble_prefix()
- Update to the latest version of redis-plus-plus
- Update to the latest version of PyBind
- Change documentation theme to sphinx_book_theme and fix doc strings
- Add print capability for Client and DataSet
- Add support for inspection of tensors and metadata inside datasets
- Add support for user-directed logging for Python clients, using
Client, Dataset, or LogContext logging methods
- Add support for user-directed logging for C and Fortran clients
without a Client or Dataset context
- Additional error reporting for connections to and commands run
against Redis databases
- Improved error reporting capabilities for Fortran clients
- Python error messages from SmartRedis contain more information
- Added logging functionality to the SmartRedis library
- A bug related to thread pool initialization was fixed.
- This version adds new functionality in the form of support for Unix
Domain Sockets.
- Fortran client can now be optionally built with the rest of the
library
- Initial support for dataset conversions, specifically Xarray.

Detailed Notes

- Update docs and version numbers in preparation for version 0.4.0.
Clean up duplicate marking of numpy dependency
([PR321](https://github.com/CrayLabs/SmartRedis/pull/321))
- Remove codecov thresholds to avoid commits being marked as
\'failed\' due to coverage variance
([PR317](https://github.com/CrayLabs/SmartRedis/pull/317))
- Corrected the error message in to_string methods in C interface to
not overwrite the returned error message and to name the function
([PR320](https://github.com/CrayLabs/SmartRedis/pull/320))
- Streamlined PyBind interface layer to reduce repetitive boilerplate
code ([PR315](https://github.com/CrayLabs/SmartRedis/pull/315))
- Updated Python API summary table to include new methods
([PR313](https://github.com/CrayLabs/SmartRedis/pull/313))
- Streamlined C interface layer to reduce repetitive boilerplate code
([PR312](https://github.com/CrayLabs/SmartRedis/pull/312))
- Leveraged Redis pipelining to improve performance of get, put, and
copy dataset methods
([PR311](https://github.com/CrayLabs/SmartRedis/pull/311))
- <Redis::set_model_multigpu>() will now upload the correct model to
all GPUs ([PR310](https://github.com/CrayLabs/SmartRedis/pull/310))
- RedisCluster::\_run_pipeline() will no longer unconditionally apply
a retry wait before returning
([PR309](https://github.com/CrayLabs/SmartRedis/pull/309))
- Expand code coverage to all four languages and make the CI/CD more
efficent ([PR308](https://github.com/CrayLabs/SmartRedis/pull/308))
- An internal flag was set incorrectly, it resulted in wrong key
prefixing when accessing (retrieving or querying) lists created in
ensembles ([PR306](https://github.com/CrayLabs/SmartRedis/pull/306))
- Corrected a variety of Doxygen errors and omissions in the API
documentation
([PR305](https://github.com/CrayLabs/SmartRedis/pull/305))
- Added throw documentation for exception handling in redis.h,
redisserver.h, rediscluster.h
([PR301](https://github.com/CrayLabs/SmartRedis/pull/301))
- Added error handling for a rare edge condition when setting scripts
and models
([PR300](https://github.com/CrayLabs/SmartRedis/pull/300))
- Added support to inspect the dimensions of a tensor via new
get_tensor_dims() method
([PR299](https://github.com/CrayLabs/SmartRedis/pull/299))
- The use_tensor_ensemble_prefix() API method no longer controls
whether datasets are prefixed. A new API method,
use_dataset_ensemble_prefix() now manages this.
([PR298](https://github.com/CrayLabs/SmartRedis/pull/298))
- Updated from redis-plus-plus v1.3.2 to v1.3.5
([PR296](https://github.com/CrayLabs/SmartRedis/pull/296))
- Updated from PyBind v2.6.2 to v2.10.3
([PR295](https://github.com/CrayLabs/SmartRedis/pull/295))
- Change documentation theme to sphinx_book_theme to match SmartSim
documentation theme and fix Python API doc string errors
([PR294](https://github.com/CrayLabs/SmartRedis/pull/294))
- Added print capability for Client and DataSet to give details
diagnostic information for debugging
([PR293](https://github.com/CrayLabs/SmartRedis/pull/293))
- Added support for retrieval of names and types of tensors and
metadata inside datasets
([PR291](https://github.com/CrayLabs/SmartRedis/pull/291))
- Added support for user-directed logging for Python clients via
{Client, Dataset, LogContext}.{log_data, log_warning, log_error}
methods ([PR289](https://github.com/CrayLabs/SmartRedis/pull/289))
- Added support for user-directed logging without a Client or Dataset
context to C and Fortran clients via \_string() methods
([PR288](https://github.com/CrayLabs/SmartRedis/pull/288))
- Added logging to capture transient errors that arise in the \_run()
and \_connect() methods of the Redis and RedisCluster classes
([PR287](https://github.com/CrayLabs/SmartRedis/pull/287))
- Tweak direct testing of Redis and RedisCluster classes
([PR286](https://github.com/CrayLabs/SmartRedis/pull/286))
- Resolve a disparity in the construction of Python client and
database classes
([PR285](https://github.com/CrayLabs/SmartRedis/pull/285))
- Fortran clients can now access error text and source location
([PR284](https://github.com/CrayLabs/SmartRedis/pull/284))
- Add exception location information from CPP code to Python
exceptions
([PR283](https://github.com/CrayLabs/SmartRedis/pull/283))
- Added client activity and manual logging for developer use
([PR281](https://github.com/CrayLabs/SmartRedis/pull/281))
- Fix thread pool error
([PR280](https://github.com/CrayLabs/SmartRedis/pull/280))
- Update library linking instructions and update Fortran tester build
process ([PR277](https://github.com/CrayLabs/SmartRedis/pull/277))
- Added [add_metadata_for_xarray]{.title-ref} and
[transform_to_xarray]{.title-ref} methods in
[DatasetConverter]{.title-ref} class for initial support with Xarray
([PR262](https://github.com/CrayLabs/SmartRedis/pull/262))
- Change Dockerfile to use Ubuntu 20.04 LTS image
([PR276](https://github.com/CrayLabs/SmartRedis/pull/276))
- Implemented support for Unix Domain Sockets, including
refactorization of server address code, test cases, and check-in
tests. ([PR252](https://github.com/CrayLabs/SmartRedis/pull/252))
- A new make target [make lib-with-fortran]{.title-ref} now compiles
the Fortran client and dataset into its own library which
applications can link against
([PR245](https://github.com/CrayLabs/SmartRedis/pull/245))

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.