Initial beta release
- Quality of Life: Integrate with Coveralls for coverage tracking
- Documentation: Improve README and include it in package metadata
- Quality of Life: Switch to Semantic Versioning
What's Changed
- Use a better pip workflow by @brainix in #10
- Write Makefile by @brainix in #11
- Define mixins as abstract base classes by @brainix in #13
- Improve comparison ops by @brainix in #14
- Improve Makefile by @brainix in #15
- Improve type checking by @brainix in #16
- Flesh out abstract base mixins by @brainix in #17
- Misc. cleanups by @brainix in #18
- Fix brew upgrade command by @brainix in #19
- Remove context manager for containers by @brainix in #20
- Distributed Redis-powered lock by @brainix in #21
- Redis key naming conventions by @brainix in #22
- NextId by @brainix in #23
- Redis key naming conventions by @brainix in #24
- Robustly handle network errors by @brainix in #25
- Learn concurrent.futures by @brainix in #26
- Author/test doctests by @brainix in #27
- Author Redlock doctests by @brainix in #28
- Author ContextTimer doctests by @brainix in #30
- Update Makefile for new Mac by @brainix in #31
- Disable Homebrew analytics by @brainix in #32
- Improve Makefile by @brainix in #33
- Flesh out RedisCounter() code and tests by @brainix in #34
- Flesh out RedisDeque() code and tests by @brainix in #36
- Document ContextTimer by @brainix in #37
- OCD by @brainix in #38
- Flesh out RedisDeque() code and tests by @brainix in #39
- Flesh out RedisDeque() code and tests by @brainix in #40
- Prefer sets over lists if only membership matters by @brainix in #41
- Implement RedisSet.update() by @brainix in #43
- Upgrade requirements by @brainix in #44
- Upgrade requirements by @brainix in #45
- Upgrade requirements by @brainix in #46
- Define/use custom exceptions where appropriate by @brainix in #47
- Readability counts by @brainix in #48
- Upgrade requirements by @brainix in #49
- Improve README by @brainix in #50
- Upgrade requirements by @brainix in #52
- Upgrade requirements by @brainix in #53
- Upgrade Python to 3.6.2 by @brainix in #54
- Implement @redis_cache() decorator... by @brainix in #55
- Improve @redis_cache() by @brainix in #56
- Upgrade requirements by @brainix in #57
- Upgrade requirements by @brainix in #58
- Upgrade Python to 3.6.3 by @brainix in #59
- Create CODE_OF_CONDUCT.md by @brainix in #60
- Upgrade requirements by @brainix in #61
- Upgrade requirements by @brainix in #62
- Make Redlock._acquire_masters() more efficient by @brainix in #63
- Upgrade requirements by @brainix in #64
- Don't be clever by @brainix in #65
- Upgrade requirements by @brainix in #66
- Write Baby's First Bloom Filter! by @brainix in #67
- In RedisSet._update(), loop over appropriate thing by @brainix in #68
- Install Pyflakes and run it on every Travis build by @brainix in #69
- Update copyright year by @brainix in #70
- Clean up unit test output by @brainix in #71
- Combine context managers into same line /
with
by @brainix in #72 - Install pyenv from GitHub source by @brainix in #73
- Upgrade requirements by @brainix in #74
- Upgrade requirements by @brainix in #75
- Upgrade requirements by @brainix in #76
- Upgrade requirements by @brainix in #77
- Upgrade requirements by @brainix in #78
- If only used in main, import it in main by @brainix in #79
- Upgrade requirements by @brainix in #80
- Design/implement/test HyperLogLog by @brainix in #81
- Upgrade Python to 3.7.0 by @brainix in #84
- Split long lines of code by @brainix in #85
- Design/implement/test CachedOrderedDict by @brainix in #87
- Add missing import by @brainix in #88
- Retry CachedOrderedDict loads/stores... by @brainix in #89
- Make RedisSet.repr() consistent; improve docs by @brainix in #86
- Upgrade requirements by @brainix in #90
- Log stuff by @brainix in #91
- Upgrade Python to 3.7.1 by @brainix in #92
- Add SDK path to install Python on macOS Mojave by @brainix in #93
- Upgrade requirements by @brainix in #94
- Upgrade to redis-py 3.0.1 by @brainix in #95
- Modify Redlock to use 20 byte random values by @brainix in #96
- Upgrade requirements by @brainix in #97
- Upgrade urllib3 to >= 1.23 by @brainix in #98
- Upgrade Python to 3.7.2 by @brainix in #99
- Happy new year! by @brainix in #100
- Allow bypassing redis_cache() decorator by @brainix in #101
- Implement cache_info() and cache_clear() by @brainix in #102
- Upgrade pip to 19.0 by @brainix in #103
- Upgrade pip to 19.0.1 by @brainix in #104
- Upgrade requirements by @brainix in #105
- Upgrade redis-py to 3.1.0 by @brainix in #106
- Upgrade requirements by @brainix in #107
- Upgrade requirements by @brainix in #108
- Upgrade requirements by @brainix in #109
- Gracefully ignore isort import keyerror by @brainix in #110
- Upgrade requirements by @brainix in #111
- Delete isort monkey patch by @brainix in #112
- Upgrade requirements by @brainix in #113
- Upgrade requirements by @brainix in #114
- Upgrade requirements by @brainix in #115
- Upgrade requirements by @brainix in #116
- Upgrade requirements by @brainix in #117
- Upgrade requirements by @brainix in #118
- Upgrade requirements by @brainix in #119
- lol by @brainix in #120
- Upgrade requirements by @brainix in #121
- Upgrade Python to 3.7.3 by @brainix in #122
- Upgrade requirements by @brainix in #123
- Upgrade urllib3 to >= 1.24.2 by @brainix in #125
- Upgrade requirements by @brainix in #126
- Upgrade requirements by @brainix in #127
- Upgrade requirements by @brainix in #128
- Upgrade requirements by @brainix in #129
- Delete max_workers argument to ThreadPoolExecutor by @brainix in #131
- Upgrade requirements by @brainix in #132
- Upgrade requirements by @brainix in #133
- Upgrade requirements by @brainix in #134
- Upgrade requirements by @brainix in #135
- Upgrade requirements by @brainix in #136
- Upgrade requirements by @brainix in #137
- Upgrade requirements by @brainix in #138
- Upgrade Python to 3.7.4 by @brainix in #139
- Upgrade requirements by @brainix in #140
- Upgrade requirements by @brainix in #141
- Upgrade requirements by @brainix in #142
- Remove redundant self.redis assignment in tests by @brainix in #143
- Upgrade Python to 3.7.5 by @brainix in #144
- Upgrade Python to 3.8.0 by @brainix in #145
- Happy new year! by @brainix in #146
- Watch iterables before iterating through them by @brainix in #147
- Add eq() method on ConnectionPool class by @brainix in #148
- Add Python 3.8 trove classifier by @brainix in #149
- Upgrade requirements by @brainix in #150
- Write more descriptive identifier names by @brainix in #151
- Refactor CachedOrderedDict by @brainix in #152
- Fix the unittest.mock.patch import by @brainix in #153
- Remove CachedOrderedDict context manager by @brainix in #154
- Switch from PyFlakes to Flake8 by @brainix in #155
- Upgrade requirements by @brainix in #156
- Upgrade Python to 3.8.1 by @brainix in #157
- Upgrade requirements by @brainix in #158
- Upgrade requirements by @brainix in #159
- Happy new year! by @brainix in #160
- Consistently space pragma and NoQA comments by @brainix in #161
- Upgrade requirements by @brainix in #162
- Expose no expiration for redis_cache() decorator by @brainix in #163
- Include pyenv Homebrew formula in Makefile by @brainix in #164
- Upgrade requirements by @brainix in #165
- Upgrade redis-py to 3.4.0 by @brainix in #166
- Oops; make Pottery require redis-py >= 3.4.0 by @brainix in #167
- Oops; make Pottery require redis-py >= 3.4.0 by @brainix in #168
- Undo stupidity by @brainix in #169
- Avoid contention on WATCHed variable by @brainix in #170
- Upgrade requirements by @brainix in #171
- Run coverage on unit tests by @brainix in #172
- Upgrade requirements by @brainix in #173
- Bump bleach from 3.1.0 to 3.1.1 by @dependabot in #174
- Upgrade bleach to >= 3.1.1 by @brainix in #175
- Update installation steps by @brainix in #176
- Upgrade Python to 3.8.2 by @brainix in #177
- Upgrade requirements by @brainix in #178
- Upgrade requirements by @brainix in #179
- Upgrade requirements by @brainix in #181
- Upgrade requirements by @brainix in #183
- Upgrade requirements by @brainix in #184
- Upgrade requirements by @brainix in #185
- Upgrade Python to 3.8.3 by @brainix in #186
- Upgrade requirements by @brainix in #187
- Upgrade requirements by @brainix in #188
- Upgrade requirements by @brainix in #189
- Upgrade requirements by @brainix in #190
- Upgrade requirements by @brainix in #191
- Upgrade requirements by @brainix in #192
- Upgrade requirements by @brainix in #193
- Upgrade Python to 3.8.4 by @brainix in #194
- Upgrade requirements by @brainix in #195
- Upgrade requirements by @brainix in #196
- Upgrade Python to 3.8.5 by @brainix in #197
- Upgrade requirements by @brainix in #198
- Upgrade requirements by @brainix in #199
- Improve performance of
CachedOrderedDict
by @brainix in #200 - Allow creating
CachedOrderedDict
withoutkeys
by @brainix in #201 - Upgrade requirements by @brainix in #202
- Upgrade requirements by @brainix in #203
- Make minor code readability improvements by @brainix in #204
- Improve identifier names, and comment code by @brainix in #205
- Upgrade requirements by @brainix in #206
- Install wheel when creating virtual environment by @brainix in #207
- Implement static type checking by @brainix in #208
- Remove Mypy stubs by @brainix in #209
- Switch from function to class-based
NamedTuple
by @brainix in #211 - Mark Pottery as PEP 561 compatible by @brainix in #212
- Write more type annotations by @brainix in #213
- Annotate
_arg_hash()
as requiring hashable args by @brainix in #214 - Don't be afraid of floating point by @brainix in #215
- If Redlock extension fails, raise exception by @brainix in #216
- Make
Redlock.extend()
matchRedlock.release()
by @brainix in #217 - Make minor improvements by @brainix in #218
- Preserve Open-Closed Principle with name mangling by @brainix in #219
- Make RedisDict and RedisList JSONifyable by @brainix in #220
- Write more type annotations by @brainix in #221
- Preserve Open-Closed Principle with name mangling by @brainix in #222
- Preserve Open-Closed Principle with name mangling by @brainix in #223
- Preserve Open-Closed Principle with name mangling by @brainix in #224
- Improve classes per Open-Closed Principle by @brainix in #225
- Implement CachedOrderedDict.update() by @brainix in #227
- Simplify CachedOrderedDict.update() by @brainix in #228
- Override Counter.most_common() for efficiency by @brainix in #230
- Upgrade requirements by @brainix in #231
- Preserve Open-Closed Principle with name mangling by @brainix in #232
- Upgrade requirements by @brainix in #233
- Improve type annotations; stop abusing cast() by @brainix in #234
- Remove invariants from BloomFilter and HyperLogLog by @brainix in #235
- Write decorator to cache value on attr on self by @brainix in #236
- Upgrade requirements by @brainix in #237
- Use pipeline yielded by ._watch() context manager by @brainix in #238
- Upgrade requirements by @brainix in #239
- Improve Redis stubs by @brainix in #226
- Improve pipelining and watching keys over multiple Redis instances by @brainix in #240
- Upgrade Python to 3.8.6 by @brainix in #241
- Upgrade requirements by @brainix in #242
- Upgrade requirements by @brainix in #244
- Upgrade Python to 3.9.0 by @brainix in #245
- Switch from str.format() to f-strings by @brainix in #246
- Install pyenv via git clone by @brainix in #247
- Upgrade requirements by @brainix in #248
- Upgrade requirements by @brainix in #249
- Upgrade requirements by @brainix in #250
- Upgrade requirements by @brainix in #251
- Upgrade requirements by @brainix in #252
- Upgrade requirements by @brainix in #253
- Integrate with Coveralls by @brainix in #254
- Improve README by @brainix in #255
New Contributors
- @dependabot made their first contribution in #174
Full Changelog: https://github.com/brainix/pottery/commits/v1.0.0