Redis-dict

Latest version: v3.1.2

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

Scan your dependencies

Page 1 of 4

3.1.2

3.1.1

Fixed links in the readme, And added initial action flow of deploying with actions.


Special thanks Mark90 for finding and reporting the the issue.

3.1.0

- Comprehensive documentation improvements
- Sphinx integration

Redis Compatibility
- Now requires Redis 6.2.0+ to fix race conditions in `setdefault` and `pop` methods
- Implemented atomic operations for improved data consistency

Closed Issues
- 68: Modern conventions and best practices
- 60: Race condition under certain circumstances `setdefault`, `pop`

Contributors:
Special thanks to these contributors:

shughes-uk - Bug identification and reporting
jvllmr - Feature implementation

---
This release represents a major modernization effort, bringing RedisDict up to current Python Standards

3.0.0

Major Changes

Project Structure
- Reorganised project structure
- Reorganized test suite into subdirectories (150+ tests)
- Added dedicated scripts directory for CI/CD and documentation
- Implemented modern project configuration with `pyproject.toml`

Python Modernization
- Removed Python 2.x legacy code, including `iter` methods
- Added Python 3.9+ dictionary union operator support (`dict | other_dict`)
- Implemented all standard `dict` methods for full compatibility

Type System Improvements
- Added `py.typed` file for improved type checker compliance .[PEP 561](https://peps.python.org/pep-0561/)
- Added mypy configuration with `pyproject.toml`
- Added nested type support through JSON encoding/decoding
- Exposed JSON encoders/decoders for custom type handling

Quality
- Enhanced docstring consistency for upcoming Sphinx documentation
- Added examples in Readme for nested types, and JSON encoders/decoders
- Updated the links in Readme for docs/tests
- Added pypi badge to Readme

Breaking Changes
- Removed Python 2.x legacy methods
- Minimum Redis version requirement: 6.2.0
- Changed iteration behavior of methods `items`, `values`, `keys` to align with Python 3.x standards

2.7.0

RedisDict will now offer wider support for a wider range of Python data types, from basic types to nested structures. Basic types are handled natively, while complex data types, such as: lists and dictionaries. Are managed through JSON serialization. This choice avoids using pickle, a module with known [security vulnerabilities](https://docs.python.org/3/library/pickle.html) in distributed computing.

Although RedisDict supports nested structures, using RedisDict as a shallow dictionary is recommended for optimal performance. This approach minimizes transformations and aligns with Redis’s key-value solution while preserving RedisDict’s Pythonic interface.

Supported Types:
str, int, float, bool, NoneType, list, dict, tuple, set, datetime, date, time, timedelta, Decimal, complex, bytes, UUID, OrderedDict, defaultdict, frozenset

2.6.0

v.2.6.0

Added extended types, allowing for custom types to be added and even storing values encrypted. Additionally, various housekeeping updates have been made to improve overall code quality and maintainability.

- Added support for extended types and custom type additions
- Example encrypted value storage
- Added testing for extended types and encryption
- Refactored transform functionality for improved encoding/decoding
- Updated README with new sections on extended types and examples

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.