{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":6534153,"defaultBranch":"main","name":"plyvel","ownerLogin":"wbolster","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-11-04T19:01:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/748944?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715775274.0","currentOid":""},"activityList":{"items":[{"before":"98397ff1d1decd5aa374be46efcacf8baf5fbeed","after":"89d40186432be24c814bb02085917995f92d77dd","ref":"refs/heads/leveldb-1-23","pushedAt":"2024-05-15T12:47:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"bump to leveldb 1.23 and snappy 1.2.0 for wheel builds","shortMessageHtmlLink":"bump to leveldb 1.23 and snappy 1.2.0 for wheel builds"}},{"before":"d32894220cdf406c3fb89e62f739d6d6b8d01b9c","after":"d4c233dc0b006fc1269782b71d41b8140349597d","ref":"refs/heads/main","pushedAt":"2024-05-15T12:47:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"remove obsolete py2 trove classifier","shortMessageHtmlLink":"remove obsolete py2 trove classifier"}},{"before":"b8558b88aef4b49a9413dec709198f5b53cc6af9","after":"98397ff1d1decd5aa374be46efcacf8baf5fbeed","ref":"refs/heads/leveldb-1-23","pushedAt":"2024-05-15T12:46:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"bump to leveldb 1.23 and snappy 1.2.0 for wheel builds","shortMessageHtmlLink":"bump to leveldb 1.23 and snappy 1.2.0 for wheel builds"}},{"before":"d7d0be5d3af2d6b4981b94cd38fef77cb26948c5","after":null,"ref":"refs/heads/dunder-contains","pushedAt":"2024-05-15T12:14:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"}},{"before":"7395215fb19e01796d51474d40331eebbae28dc0","after":"d32894220cdf406c3fb89e62f739d6d6b8d01b9c","ref":"refs/heads/main","pushedAt":"2024-05-15T12:14:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"Raise TypeError when attempting ‘in’, ‘not in’, and __contains__ (#162)\n\nThe ‘in’ operator has fallback behaviour for objects that do not\r\nspecify __contains__, see\r\nhttps://docs.python.org/3/reference/expressions.html#membership-test-details\r\n\r\nVarious Plyvel classes have `.__iter__()` methods, so this means that\r\n‘key in db’ actually iterates over the db, which yields ‘(key, value)’\r\ntuples, none of which will be equal to plain ‘key’. For\r\ncomparison, (key, value) in db actually works… accidentally!\r\n\r\nFor non-matches (always in practice) such as an innocent looking key\r\nlookup means the whole database is iterated (extremely slow for larger\r\ndatabases), and will always return False in the end. This is\r\nunexpected and bad behaviour.\r\n\r\nInstead, detect this and raise TypeError with a helpful error message.\r\n\r\nCloses #26.","shortMessageHtmlLink":"Raise TypeError when attempting ‘in’, ‘not in’, and __contains__ (#162)"}},{"before":null,"after":"d7d0be5d3af2d6b4981b94cd38fef77cb26948c5","ref":"refs/heads/dunder-contains","pushedAt":"2024-05-14T16:26:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"Raise TypeError when attempting ‘in’, ‘not in’, and __contains__\n\nThe ‘in’ operator has fallback behaviour for objects that do not\nspecify __contains__, see\nhttps://docs.python.org/3/reference/expressions.html#membership-test-details\n\nVarious Plyvel classes have `.__iter__()` methods, so this means that\n‘key in db’ actually iterates over the db, which yields ‘(key, value)’\ntuples, none of which will be equal to plain ‘key’. For\ncomparison, (key, value) in db actually works… accidentally!\n\nFor non-matches (always in practice) such as an innocent looking key\nlookup means the whole database is iterated (extremely slow for larger\ndatabases), and will always return False in the end. This is\nunexpected and bad behaviour.\n\nInstead, detect this and raise TypeError with a helpful error message.\n\nCloses #26.","shortMessageHtmlLink":"Raise TypeError when attempting ‘in’, ‘not in’, and __contains__"}},{"before":"d4f16110cdfb19d2b367939e2184aef4254b0b74","after":"b8558b88aef4b49a9413dec709198f5b53cc6af9","ref":"refs/heads/leveldb-1-23","pushedAt":"2024-01-16T12:14:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"wip leveldb 1.23","shortMessageHtmlLink":"wip leveldb 1.23"}},{"before":"21efff8850e5a625cb86abd007105248da74d377","after":"7395215fb19e01796d51474d40331eebbae28dc0","ref":"refs/heads/main","pushedAt":"2024-01-15T17:30:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"docs: add readthedocs config file","shortMessageHtmlLink":"docs: add readthedocs config file"}},{"before":"fc99b8ebdd1e93ff53138c98bc3f90d786158cad","after":"21efff8850e5a625cb86abd007105248da74d377","ref":"refs/heads/main","pushedAt":"2024-01-15T17:11:46.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"prepare for 1.5.1 release (with python 3.12 support)","shortMessageHtmlLink":"prepare for 1.5.1 release (with python 3.12 support)"}},{"before":"29f6ff77e88e79200a5de984882dd00705df87b6","after":null,"ref":"refs/heads/accept-any-bytes-like-values","pushedAt":"2023-09-15T20:11:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"}},{"before":"dca71452532f7f6ecff326f7a7bedc24b4e874da","after":"fc99b8ebdd1e93ff53138c98bc3f90d786158cad","ref":"refs/heads/main","pushedAt":"2023-03-10T10:28:57.352Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"wbolster","name":"wouter bolsterlee","path":"/wbolster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/748944?s=80&v=4"},"commit":{"message":"Allow using plyvel.DB as a context manager (#151)\n\nAdd __enter__ and __exit__ methods to plyvel.DB.\r\n\r\nThis is more convenient then using things like contextlib.closing().","shortMessageHtmlLink":"Allow using plyvel.DB as a context manager (#151)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESomaOQA","startCursor":null,"endCursor":null}},"title":"Activity · wbolster/plyvel"}