Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Grant Jenks Newsgroups: comp.lang.python.announce Subject: ANN: DiskCache 4.0.0 Released Date: Tue, 2 Jul 2019 22:23:38 -0700 Lines: 76 Approved: python-announce-list@python.org Message-ID: <156260609281.14687.784530612439210119@mail.python.org> Reply-To: python-list@python.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de Wc+xuiSSfQQ0xj3hd9smEAzLEKHesOA9pGprCWpjOfCA== X-Spam-Status: OK 0.006 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'url:github': 0.03; 'django.': 0.05; 'subject:ANN': 0.05; 'licensed': 0.07; 'al.': 0.09; 'compiler': 0.09; 'consistency': 0.09; 'decorator': 0.09; 'download:': 0.09; 'url:pypi': 0.09; 'python': 0.13; '[1]:': 0.16; '[2]:': 0.16; 'barrier': 0.16; 'deque': 0.16; 'deque,': 0.16; 'illustrating': 0.16; 'parameter': 0.16; 'peek': 0.16; 'subject:Released': 0.16; 'types.': 0.16; 'library': 0.18; '3.7': 0.20; 'index': 0.20; 'url-ip:151.101.0.223/32': 0.23; 'url- ip:151.101.128.223/32': 0.23; 'url-ip:151.101.192.223/32': 0.23; 'url-ip:151.101.64.223/32': 0.23; 'received:209.85.222': 0.23; 'files,': 0.24; 'library,': 0.24; 'tests': 0.25; 'url- ip:151.101.192/24': 0.28; 'running': 0.28; 'url-ip:140/8': 0.28; 'url-ip:151.101.0/24': 0.29; 'url-ip:151.101.128/24': 0.29; 'url- ip:151.101.64/24': 0.29; 'cache': 0.29; 'disk': 0.29; 'leveraging': 0.29; 'stress': 0.29; 'to:addr:python-announce- list': 0.29; 'url-ip:151.101/16': 0.31; 'url-ip:151/8': 0.31; 'message-id:@mail.gmail.com': 0.32; 'url:docs': 0.33; 'function': 0.34; 'methods': 0.34; 'testing': 0.34; 'received:google.com': 0.34; 'file': 0.36; 'written': 0.36; 'subject:: ': 0.36; 'unit': 0.36; 'backed': 0.37; 'received:209.85': 0.37; 'received:209': 0.37; 'there\xe2\x80\x99s': 0.38; 'version': 0.39; 'using': 0.40; 'based': 0.61; 'url:html': 0.61; '----': 0.62; 'announcing': 0.62; 'tested': 0.62; 'touch': 0.62; 'hours': 0.62; 'production.': 0.67; 'links': 0.68; 'average': 0.68; 'database': 0.69; 'offer': 0.72; 'exceed': 0.74; 'industry': 0.77; '100%': 0.78; 'transactions': 0.84; 'url-ip:104.198.0/24': 0.84; 'improved': 0.85; 'landing': 0.91; 'url-ip:104.198/16': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=3kZmb9V+y7fzTgGWDAHpuYlKCqavungUDJOHg9R/F40=; b=TArkySV4YeG5x8Cr1z8aLVm5WBnXKSACcRtI+VUAbS4a+WQ46B+3yTRBzJcJfmjoc2 OCNj7XRYlwt48uR0vmUbjgC5Xs9ERglM5ZF1Q0Q3hk3Iw0YYnKLi4rttdIlzKFCRhlWM zfQRg4XG2mscHY2+iGRnyH28ABJ0tQ+REVUBBMn6MjFDMqqgMmVdZEWMt0dQYcIq8/O3 1yVSMb0UHYxjGk2J+Yj276SDhEoQP0x2jz2yV71TZq84AAoerBQVGLlXFAcgI9qvzsK4 7sDrcx0/KA9H3jLe3IAkVhdwM1qDRXBceL6Kgdv0kkpUbs2W59iLDk6puky0ZtKFtDHz nTTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=3kZmb9V+y7fzTgGWDAHpuYlKCqavungUDJOHg9R/F40=; b=r8nDytX3qOuREhoxAmPw/6cX7DDBqF1t4/PVujhaur/4+5DL2WzfhhwrtAjqmnSib8 ZKRGFQjB/2MfGRAQT8gNxc2bVMm3m7lBTwXk/kXrgrtpleiRiChJhaSi46tOTdgUj9DI oyBmzZf6KYbCkSkPGr8ky5REeXauj1/mOuBGAK9EV6H+bsVoZJyEuAb9t4Q+wFCLmB2/ QIWR5cYlSmlq5oKrzabImFrKuI7N/nzsEjgczDk5Jq/QaMTytblk/7kEKIklAVPHnNzK TYirKp77zsE7BVsCDDfYZ/6Set6DOr7XHpnCFAIkSIJQMjTaeZrGj/WN7COCFBGxQHg1 S9YQ== X-Gm-Message-State: APjAAAWXpbhfCwdoQwLUGLbtpYYKKgeEBG1/d63lyf7XVsj2diI/ficD LEWI8BTqx5VrwnIlenrzFXzbPzS5lJm/1kx+mVCu6Vs2OUU= X-Google-Smtp-Source: APXvYqyzHakCHwAsEpxbpNQVcVnQhTTrJHOVf3OR4nJg3i9FUIk+W0kv97LGb1oJi6l0ZGDT2LT3pzrhBCuh9kttT9w= X-Received: by 2002:a67:cd09:: with SMTP id u9mr7067017vsl.222.1562131434249; Tue, 02 Jul 2019 22:23:54 -0700 (PDT) X-MailFrom: grant.jenks@gmail.com X-Mailman-Rule-Hits: emergency X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved Message-ID-Hash: K4RJJH2BY3ALI2K32JZ7FY2VPZKRLS3P X-Message-ID-Hash: K4RJJH2BY3ALI2K32JZ7FY2VPZKRLS3P X-Mailman-Approved-At: Mon, 08 Jul 2019 13:14:25 -0400 X-Mailman-Version: 3.2.3 Precedence: list List-Id: Announcement-only list for the Python programming language Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Xref: csiph.com comp.lang.python.announce:3143 Announcing the release of DiskCache version 4.0.0 What is DiskCache? ---- [DiskCache][1] is an Apache2 licensed disk and file backed cache library, written in pure-Python, and compatible with Django. By leveraging a rock-so= lid database library and memory-mapped files, cache performance can match and exceed industry standard solutions. There=E2=80=99s no need for a C compil= er or running another process. [Performance is a feature][2] and testing has 100% coverage with unit tests and hours of stress in production. [1]: http://www.grantjenks.com/docs/diskcache/ [2]: http://www.grantjenks.com/docs/diskcache/cache-benchmarks.html What's new in 4.0.0? ---- * Cache, Deque, and Index data types now support transactions for consisten= cy and improved performance. * Add memoization with cache-stampede mitigation using probabilistic early recomputation based on research by Vattani, et al. * Published: "Case Study: Landing Page Caching" illustrating memoization wi= th cache-stampede mitigation: http://www.grantjenks.com/docs/diskcache/case-study-landing-page-caching.= html * Cache methods offer `retry` parameter just like FanoutCache and DjangoCac= he methods. * Memoization decorator added to Cache, Index, and DjangoCache data types. * Add peek method to Cache and Deque data types. * Add peekitem method to Cache and Index data types. * Add touch method to Cache, FanoutCache, and DjangoCache data types. * Add Averager data type for calculating a running average across threads a= nd processes. * Add Lock, RLock, and BoundedSemaphore data types for synchronization acro= ss threads and processes. * Add throttle decorator to rate-limit calls to a function across threads a= nd processes. * Add barrier decorator to synchronize calls to a function across threads a= nd processes. * Developed, benchmarked, and tested on Python 3.7 * Numerous small documentation and performance improvements. Links ---- - Documentation: http://www.grantjenks.com/docs/diskcache/ - Download: https://pypi.python.org/pypi/diskcache - Source: https://github.com/grantjenks/python-diskcache - Issues: https://github.com/grantjenks/python-diskcache/issues Please upgrade.