# Adaptive Pipeline Cache
A high-performance adaptive caching system implemented in C++ with Python bindings. The cache dynamically adjusts its internal structure based on workload characteristics, combining FIFO, Approximate LRU (ALRU), and Cost-Aware LFU strategies.
## Features
- **Adaptive Architecture**: Automatically adjusts cache structure based on workload patterns
- **Multiple Eviction Policies**: Combines FIFO, ALRU, and Cost-Aware LFU in a pipeline
- **High Performance**: Implemented in C++20 with efficient memory management
- **Python Integration**: Clean Python API via pybind11
- **Cost-Aware**: Takes into account both latency and token costs for eviction decisions
## Installation
```bash
pip install adaptive-pipeline
```
### Building from Source
Requirements:
- C++20 compatible compiler
- CMake >= 3.15
- Python >= 3.7
- pybind11 >= 2.6.0
```bash
git clone <repository-url>
cd pipeline-cache
pip install -e .
```
## Usage
Notice that for this version, the size of the cache is hard-coded to be 1024, and it ignores the size parameter.
```python
from adaptive_pipeline import AdaptivePipelineCache
# Create a cache with capacity of 1024 items
cache = AdaptivePipelineCache(1024)
# Store items with (latency, tokens) tuple
cache[key] = (latency, tokens)
# Check if key exists
if key in cache:
latency, tokens = cache[key]
# Get cache statistics
print(f"Current size: {cache.currsize}")
print(f"Max size: {cache.maxsize}")
```
## How It Works
The Adaptive Pipeline Cache uses a novel approach that:
1. **Pipeline Structure**: Divides the cache into three blocks (FIFO, ALRU, Cost-Aware LFU)
2. **Dynamic Adaptation**: Periodically evaluates alternative configurations using "ghost caches"
3. **Quantum-Based Resizing**: Moves chunks of items between blocks based on performance metrics
4. **Cost-Aware Eviction**: Considers both access frequency and cost (latency × tokens) for eviction decisions
The cache automatically adapts its configuration every 10,240 operations (configurable) by comparing the performance of the current configuration against alternative configurations simulated by ghost caches.
## Interface Compatibility
The implementation follows the interface of `cacheutils` for compatibility with GPT-Cache experiments.
## License
MIT License - see LICENSE file for details
## Author
Nadav Keren (nadavker@pm.me)
Raw data
{
"_id": null,
"home_page": null,
"name": "adaptive-pipeline",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "cache, pipeline, performance, cpp, lru, lfu, fifo, adaptive",
"author": null,
"author_email": "Nadav Keren <nadavker@pm.me>",
"download_url": "https://files.pythonhosted.org/packages/e3/43/bed28a5361ad5dfc99db39a226a85ade87617821b278a6fe1c57e6ae82dd/adaptive_pipeline-0.1.3.tar.gz",
"platform": null,
"description": "# Adaptive Pipeline Cache\n\nA high-performance adaptive caching system implemented in C++ with Python bindings. The cache dynamically adjusts its internal structure based on workload characteristics, combining FIFO, Approximate LRU (ALRU), and Cost-Aware LFU strategies.\n\n## Features\n\n- **Adaptive Architecture**: Automatically adjusts cache structure based on workload patterns\n- **Multiple Eviction Policies**: Combines FIFO, ALRU, and Cost-Aware LFU in a pipeline\n- **High Performance**: Implemented in C++20 with efficient memory management\n- **Python Integration**: Clean Python API via pybind11\n- **Cost-Aware**: Takes into account both latency and token costs for eviction decisions\n\n## Installation\n\n```bash\npip install adaptive-pipeline\n```\n\n### Building from Source\n\nRequirements:\n- C++20 compatible compiler\n- CMake >= 3.15\n- Python >= 3.7\n- pybind11 >= 2.6.0\n\n```bash\ngit clone <repository-url>\ncd pipeline-cache\npip install -e .\n```\n\n## Usage\n\nNotice that for this version, the size of the cache is hard-coded to be 1024, and it ignores the size parameter.\n\n```python\nfrom adaptive_pipeline import AdaptivePipelineCache\n\n# Create a cache with capacity of 1024 items\ncache = AdaptivePipelineCache(1024)\n\n# Store items with (latency, tokens) tuple\ncache[key] = (latency, tokens)\n\n# Check if key exists\nif key in cache:\n latency, tokens = cache[key]\n\n# Get cache statistics\nprint(f\"Current size: {cache.currsize}\")\nprint(f\"Max size: {cache.maxsize}\")\n```\n\n## How It Works\n\nThe Adaptive Pipeline Cache uses a novel approach that:\n\n1. **Pipeline Structure**: Divides the cache into three blocks (FIFO, ALRU, Cost-Aware LFU)\n2. **Dynamic Adaptation**: Periodically evaluates alternative configurations using \"ghost caches\"\n3. **Quantum-Based Resizing**: Moves chunks of items between blocks based on performance metrics\n4. **Cost-Aware Eviction**: Considers both access frequency and cost (latency \u00d7 tokens) for eviction decisions\n\nThe cache automatically adapts its configuration every 10,240 operations (configurable) by comparing the performance of the current configuration against alternative configurations simulated by ghost caches.\n\n## Interface Compatibility\n\nThe implementation follows the interface of `cacheutils` for compatibility with GPT-Cache experiments.\n\n## License\n\nMIT License - see LICENSE file for details\n\n## Author\n\nNadav Keren (nadavker@pm.me)",
"bugtrack_url": null,
"license": "MIT",
"summary": "An adaptive Pipeline Cache composed of FIFO and upgraded TinyLFU with cost-awareness",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/NadavKeren/python-adaptive-pipeline-cache",
"Issues": "https://github.com/NadavKeren/python-adaptive-pipeline-cache/issues",
"Repository": "https://github.com/NadavKeren/python-adaptive-pipeline-cache"
},
"split_keywords": [
"cache",
" pipeline",
" performance",
" cpp",
" lru",
" lfu",
" fifo",
" adaptive"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "964411b4cd6e30571e7e571b2c4c669dbdd5fec2d04ad10cb459da07bef46d4c",
"md5": "671e00d5847e7dac609ecb6f03303a28",
"sha256": "bf83bad0f6761372734d218547bd518bf068f45c19c279940a1b60af4836d7a4"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp310-cp310-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "671e00d5847e7dac609ecb6f03303a28",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 199165,
"upload_time": "2025-10-22T09:54:27",
"upload_time_iso_8601": "2025-10-22T09:54:27.390779Z",
"url": "https://files.pythonhosted.org/packages/96/44/11b4cd6e30571e7e571b2c4c669dbdd5fec2d04ad10cb459da07bef46d4c/adaptive_pipeline-0.1.3-cp310-cp310-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "694d8291d0b50672f5c0423cc96b95a2cf5a1d99581204583d20aa2c20e57168",
"md5": "4372c7b3ef6d7c52c2b47f79bf8cc20a",
"sha256": "1c2ea56e1e438000eccff6b268a3ba8ce591603efc0268c9846312584ff26edd"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "4372c7b3ef6d7c52c2b47f79bf8cc20a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 206871,
"upload_time": "2025-10-22T09:54:28",
"upload_time_iso_8601": "2025-10-22T09:54:28.410883Z",
"url": "https://files.pythonhosted.org/packages/69/4d/8291d0b50672f5c0423cc96b95a2cf5a1d99581204583d20aa2c20e57168/adaptive_pipeline-0.1.3-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "802600d5789bdaa9a3dc91c2e132ada5b7e7856c4cc1bdbb1fa19373c8c328c4",
"md5": "fa365161224fdca97a6291f9edb986bd",
"sha256": "2aa2a9e48c33c0c1b29bf94023f7d28a22bf053dcf76cdb359f828a58563b7dc"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "fa365161224fdca97a6291f9edb986bd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 296609,
"upload_time": "2025-10-22T09:54:29",
"upload_time_iso_8601": "2025-10-22T09:54:29.281899Z",
"url": "https://files.pythonhosted.org/packages/80/26/00d5789bdaa9a3dc91c2e132ada5b7e7856c4cc1bdbb1fa19373c8c328c4/adaptive_pipeline-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c4fa61632a43ecb4b2d73ac33b08c4c445d00e3308a48e527908657d28a92ef5",
"md5": "bd0b502799eab9c1eab14137c9c8ff3c",
"sha256": "c24dfce0eb747fb80e079a410affdfdf27341d7f9933c5bcceb88f5ff6dd5be2"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "bd0b502799eab9c1eab14137c9c8ff3c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 104742,
"upload_time": "2025-10-22T09:54:30",
"upload_time_iso_8601": "2025-10-22T09:54:30.166598Z",
"url": "https://files.pythonhosted.org/packages/c4/fa/61632a43ecb4b2d73ac33b08c4c445d00e3308a48e527908657d28a92ef5/adaptive_pipeline-0.1.3-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0043bcfe020cb617663bfef9a0632e52045dabbea6fc921e6cf7a2183f9bc2e3",
"md5": "60ef1e61b2a27fe0d40eb57cf8c739a6",
"sha256": "0036feedca5dcdf5e82bf96fcd3a774343b67793e2fa4bd9826207ac26c3de0c"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp311-cp311-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "60ef1e61b2a27fe0d40eb57cf8c739a6",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 200103,
"upload_time": "2025-10-22T09:54:30",
"upload_time_iso_8601": "2025-10-22T09:54:30.997005Z",
"url": "https://files.pythonhosted.org/packages/00/43/bcfe020cb617663bfef9a0632e52045dabbea6fc921e6cf7a2183f9bc2e3/adaptive_pipeline-0.1.3-cp311-cp311-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23ed1061c7eb6c224960687bc28d4623f843676221a783da02ef28d47ec83041",
"md5": "f2bb76f5670e39cf500e83d5e54d595b",
"sha256": "ece924a935f7d847f5b2ecd6b63ce1e1613560bfc47fc9e24e47a5fce7149819"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f2bb76f5670e39cf500e83d5e54d595b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 207659,
"upload_time": "2025-10-22T09:54:32",
"upload_time_iso_8601": "2025-10-22T09:54:32.090017Z",
"url": "https://files.pythonhosted.org/packages/23/ed/1061c7eb6c224960687bc28d4623f843676221a783da02ef28d47ec83041/adaptive_pipeline-0.1.3-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3900868752867e4ae3a5bcc3f351f3b0ca883870bff3bd80db5ce57a47b4d947",
"md5": "ba2be861e385749f55628d7d18954acb",
"sha256": "305424c26a6f023f0686c5263083526fb4cf8a15a8d2fbc2480a9620703577b9"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ba2be861e385749f55628d7d18954acb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 297404,
"upload_time": "2025-10-22T09:54:33",
"upload_time_iso_8601": "2025-10-22T09:54:33.077111Z",
"url": "https://files.pythonhosted.org/packages/39/00/868752867e4ae3a5bcc3f351f3b0ca883870bff3bd80db5ce57a47b4d947/adaptive_pipeline-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1e2b41f484e10cb8bd54ca5826dee0495b1a7b1f0a6b91d5a930de25263709a1",
"md5": "5122a6111ccac6c43557c612352d874e",
"sha256": "9cff66b5b4cdffd33656f9dfc89be8786a1fc3d7bc3bbf373739e1830c63cd39"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "5122a6111ccac6c43557c612352d874e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 105664,
"upload_time": "2025-10-22T09:54:34",
"upload_time_iso_8601": "2025-10-22T09:54:34.358160Z",
"url": "https://files.pythonhosted.org/packages/1e/2b/41f484e10cb8bd54ca5826dee0495b1a7b1f0a6b91d5a930de25263709a1/adaptive_pipeline-0.1.3-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ce061d90fdbb73c4ee3e3edaf70c2e9b36dc52b8e90c668454badb30a6928aa8",
"md5": "90855fcad6078c94550e6c9e1b4c4e2b",
"sha256": "e4219d012375991abd9702ce73080eb944c2c5c32162dfbc485607d48321053b"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp312-cp312-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "90855fcad6078c94550e6c9e1b4c4e2b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 201165,
"upload_time": "2025-10-22T09:54:35",
"upload_time_iso_8601": "2025-10-22T09:54:35.219476Z",
"url": "https://files.pythonhosted.org/packages/ce/06/1d90fdbb73c4ee3e3edaf70c2e9b36dc52b8e90c668454badb30a6928aa8/adaptive_pipeline-0.1.3-cp312-cp312-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "68213a1954da66ea026d224978d53af64a23fc57700dbd6ffc251b8cf55c032e",
"md5": "a48d5bb76a6062bcf6b7b3b5b5156077",
"sha256": "d8b06185e67bd0240207eda42b7f776fa46f2a2741a7bae56eb58e0473bd9064"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a48d5bb76a6062bcf6b7b3b5b5156077",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 208992,
"upload_time": "2025-10-22T09:54:37",
"upload_time_iso_8601": "2025-10-22T09:54:37.959597Z",
"url": "https://files.pythonhosted.org/packages/68/21/3a1954da66ea026d224978d53af64a23fc57700dbd6ffc251b8cf55c032e/adaptive_pipeline-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "78ed40bbba99dae85ed55d9034d03b3fdf9f20a5ff2cfc703cf0e64b3c0b64f5",
"md5": "67881687676831ff83afd2cdfb50422a",
"sha256": "91628ee22ea0149537b89de962fd789cde72eb89624b497d78431c110e867f6d"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "67881687676831ff83afd2cdfb50422a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 298702,
"upload_time": "2025-10-22T09:54:38",
"upload_time_iso_8601": "2025-10-22T09:54:38.796701Z",
"url": "https://files.pythonhosted.org/packages/78/ed/40bbba99dae85ed55d9034d03b3fdf9f20a5ff2cfc703cf0e64b3c0b64f5/adaptive_pipeline-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "705a35ec2c6ef3f8d168cbc786a86185efcb3fb7f6206c4e7b36be540a90fccb",
"md5": "7b007a078fd41d5e2f1a4af454c509d0",
"sha256": "44f56b17048247ed3d2a88b67cae1f1585310b8f52a86ac238be3da24427138a"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "7b007a078fd41d5e2f1a4af454c509d0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 106789,
"upload_time": "2025-10-22T09:54:40",
"upload_time_iso_8601": "2025-10-22T09:54:40.154799Z",
"url": "https://files.pythonhosted.org/packages/70/5a/35ec2c6ef3f8d168cbc786a86185efcb3fb7f6206c4e7b36be540a90fccb/adaptive_pipeline-0.1.3-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bf0f60916138992246f69a31fdd944b095b22121774c7b99f9ffd491b56ba975",
"md5": "8ac1d2fca7828c3a6a73ae13094147fd",
"sha256": "60a845a3397e6ac92446ef817a4f1f1f011dc46db064f010f06fa5c4c32fe35c"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp313-cp313-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "8ac1d2fca7828c3a6a73ae13094147fd",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 201286,
"upload_time": "2025-10-22T09:54:40",
"upload_time_iso_8601": "2025-10-22T09:54:40.971824Z",
"url": "https://files.pythonhosted.org/packages/bf/0f/60916138992246f69a31fdd944b095b22121774c7b99f9ffd491b56ba975/adaptive_pipeline-0.1.3-cp313-cp313-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9921bc6258325c3f2af732672176caeedb5b3c41f0b1de5eb0a5c28549da4195",
"md5": "afd1cab1ca4529c7ca695b1d2c6edf8e",
"sha256": "7686f34499af9a6fe3d7dc63f3030c644ba1125e9db42a21798fe9462b50a224"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "afd1cab1ca4529c7ca695b1d2c6edf8e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 209039,
"upload_time": "2025-10-22T09:54:41",
"upload_time_iso_8601": "2025-10-22T09:54:41.878064Z",
"url": "https://files.pythonhosted.org/packages/99/21/bc6258325c3f2af732672176caeedb5b3c41f0b1de5eb0a5c28549da4195/adaptive_pipeline-0.1.3-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cfbece1f8dbc3c13a4d525308810b06c109f24e51301083ba286e391cc1fd6d3",
"md5": "3c71acc9173e23682cde187db3ecf962",
"sha256": "4c10e5547a5466a3aae527c57a12b1b9a20230ae7f9ef0766f9d8e958d204e0f"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3c71acc9173e23682cde187db3ecf962",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 298883,
"upload_time": "2025-10-22T09:54:44",
"upload_time_iso_8601": "2025-10-22T09:54:44.192035Z",
"url": "https://files.pythonhosted.org/packages/cf/be/ce1f8dbc3c13a4d525308810b06c109f24e51301083ba286e391cc1fd6d3/adaptive_pipeline-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "90238fa4a29dbfba13faaaa0475820d70eb05246f48f87ac0fca0f443c1db349",
"md5": "4229bf5b946c7b50b4082d42bcd9817c",
"sha256": "ef7ebf82ab67b4cde1abe4db8ae6393baa2c3ce988879296793e656f5897fc9e"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "4229bf5b946c7b50b4082d42bcd9817c",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 106768,
"upload_time": "2025-10-22T09:54:45",
"upload_time_iso_8601": "2025-10-22T09:54:45.650672Z",
"url": "https://files.pythonhosted.org/packages/90/23/8fa4a29dbfba13faaaa0475820d70eb05246f48f87ac0fca0f443c1db349/adaptive_pipeline-0.1.3-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0703469f1bf5418f6c0d78bb98c78c5d75ac157657fa5b762e6d4cbca90d38fa",
"md5": "79179de21b7d19f0c3c76e7a5684470a",
"sha256": "f9c15ac8312b78fd6dd5f5a63717163e56bff81cd889acadf76f0147345c9a08"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp38-cp38-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "79179de21b7d19f0c3c76e7a5684470a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 199304,
"upload_time": "2025-10-22T09:54:46",
"upload_time_iso_8601": "2025-10-22T09:54:46.474570Z",
"url": "https://files.pythonhosted.org/packages/07/03/469f1bf5418f6c0d78bb98c78c5d75ac157657fa5b762e6d4cbca90d38fa/adaptive_pipeline-0.1.3-cp38-cp38-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a35e062c0239e4c2d7684cda8b74a0ea8e251709ebda8d014d956c2f1b12cd7f",
"md5": "a5687880240588df88b42fa842f39c5e",
"sha256": "0243169b71cb643fbab2875cd4f2090f43e5122e0f72a1bb861f7e1a5988edb0"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a5687880240588df88b42fa842f39c5e",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 207104,
"upload_time": "2025-10-22T09:54:47",
"upload_time_iso_8601": "2025-10-22T09:54:47.345690Z",
"url": "https://files.pythonhosted.org/packages/a3/5e/062c0239e4c2d7684cda8b74a0ea8e251709ebda8d014d956c2f1b12cd7f/adaptive_pipeline-0.1.3-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "87d9a54de3b23083acd423057e137a3c0df0292293b2d1787753e01c1467ae9d",
"md5": "7750446c3ce66377ad2152a684f5f7b6",
"sha256": "d16658e8438d615aa656bed6adc4b5414c5eb2a89f2061cda2564aff4d2875f1"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7750446c3ce66377ad2152a684f5f7b6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 296241,
"upload_time": "2025-10-22T09:54:48",
"upload_time_iso_8601": "2025-10-22T09:54:48.229334Z",
"url": "https://files.pythonhosted.org/packages/87/d9/a54de3b23083acd423057e137a3c0df0292293b2d1787753e01c1467ae9d/adaptive_pipeline-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "27cc43ac06c7ab2cb984d31e643fffe098b635652229b2b822a6b786a5b2c667",
"md5": "a80ce2c4f3f4f35cdd7d67b7a5585a0b",
"sha256": "8cc4ba5cb725e6dfe50162cae6a8adecf65c4f71fc749b2c536ca51585513c1d"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "a80ce2c4f3f4f35cdd7d67b7a5585a0b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 104784,
"upload_time": "2025-10-22T09:54:49",
"upload_time_iso_8601": "2025-10-22T09:54:49.107576Z",
"url": "https://files.pythonhosted.org/packages/27/cc/43ac06c7ab2cb984d31e643fffe098b635652229b2b822a6b786a5b2c667/adaptive_pipeline-0.1.3-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ac1a401a2205c2de7e04a5fb265b0c3afd05b7d582947398138932d2b1df6f2f",
"md5": "5ed6b512dff7f0047ede4ea25d05606c",
"sha256": "5dd5d7181358ea5503f1b989101a53f0c7cb4e112949ad15273ca0b7aa9f2ba8"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp39-cp39-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "5ed6b512dff7f0047ede4ea25d05606c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 199354,
"upload_time": "2025-10-22T09:54:49",
"upload_time_iso_8601": "2025-10-22T09:54:49.932391Z",
"url": "https://files.pythonhosted.org/packages/ac/1a/401a2205c2de7e04a5fb265b0c3afd05b7d582947398138932d2b1df6f2f/adaptive_pipeline-0.1.3-cp39-cp39-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "49a2b4cb6f6235409a12ff1557f558dd90255810c7e657eced79d98bc7ab8392",
"md5": "05613a58de24a8192ecfe93ace477196",
"sha256": "82999a4bac6e9b2b6f482c2ea2bfc23b128bf650d39cce17659acccac5532534"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "05613a58de24a8192ecfe93ace477196",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 207125,
"upload_time": "2025-10-22T09:54:50",
"upload_time_iso_8601": "2025-10-22T09:54:50.843182Z",
"url": "https://files.pythonhosted.org/packages/49/a2/b4cb6f6235409a12ff1557f558dd90255810c7e657eced79d98bc7ab8392/adaptive_pipeline-0.1.3-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "684ad37239e5fae0b817e59e8b360244f3181b8b015b8c2fe2da8abd7a2b6472",
"md5": "6b6639633435116590602728e1a1d8cc",
"sha256": "3fdb5b5855a5772737a8fd0677b78701e6f01d506748784177257f438c9ff973"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "6b6639633435116590602728e1a1d8cc",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 296850,
"upload_time": "2025-10-22T09:54:51",
"upload_time_iso_8601": "2025-10-22T09:54:51.738080Z",
"url": "https://files.pythonhosted.org/packages/68/4a/d37239e5fae0b817e59e8b360244f3181b8b015b8c2fe2da8abd7a2b6472/adaptive_pipeline-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6b498f478bbd45abafef8a56209d37f201204994dd6781417c3332609b916fe8",
"md5": "5cc5c4b818a43a43d1e381b1c21b21d4",
"sha256": "712d7bd1d9776d8f0ec400047e464bb82f7c53504a8fc085dec66a4a69a2cfa2"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "5cc5c4b818a43a43d1e381b1c21b21d4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 106922,
"upload_time": "2025-10-22T09:54:52",
"upload_time_iso_8601": "2025-10-22T09:54:52.997022Z",
"url": "https://files.pythonhosted.org/packages/6b/49/8f478bbd45abafef8a56209d37f201204994dd6781417c3332609b916fe8/adaptive_pipeline-0.1.3-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e343bed28a5361ad5dfc99db39a226a85ade87617821b278a6fe1c57e6ae82dd",
"md5": "dfbafb55e8352431a2b80209f49022fd",
"sha256": "4674a7469a207616e8a1f4dee78c956d295f1fed92bac45534f71f5f0cc4a60e"
},
"downloads": -1,
"filename": "adaptive_pipeline-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "dfbafb55e8352431a2b80209f49022fd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1140804,
"upload_time": "2025-10-22T09:54:54",
"upload_time_iso_8601": "2025-10-22T09:54:54.814081Z",
"url": "https://files.pythonhosted.org/packages/e3/43/bed28a5361ad5dfc99db39a226a85ade87617821b278a6fe1c57e6ae82dd/adaptive_pipeline-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-22 09:54:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NadavKeren",
"github_project": "python-adaptive-pipeline-cache",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "adaptive-pipeline"
}