Skip to main content

ReplayBuffer for Reinforcement Learning written by C++ and Cython

Project description

img img img img img

img img img

img

Overview

cpprb is a python (CPython) module providing replay buffer classes for reinforcement learning.

Major target users are researchers and library developers.

You can build your own reinforcement learning algorithms together with your favorite deep learning library (e.g. TensorFlow, PyTorch).

cpprb forcuses speed, flexibility, and memory efficiency.

By utilizing Cython, complicated calculations (e.g. segment tree for prioritized experience replay) are offloaded onto C++. (The name cpprb comes from "C++ Replay Buffer".)

In terms of API, initially cpprb referred to OpenAI Baselines' implementation. The current version of cpprb has much more flexibility. Any NumPy compatible types of any numbers of values can be stored (as long as memory capacity is sufficient). For example, you can store the next action and the next next observation, too.

Installation

cpprb requires following softwares before installation.

  • C++17 compiler (for installation from source)
  • Python 3
  • pip

Additionally, here are user's good feedbacks for installation at Ubuntu. (Thanks!)

Install from PyPI (Recommended)

The following command installs cpprb together with other dependencies.

pip install cpprb

Depending on your environment, you might need sudo or --user flag for installation.

On supported platflorms (Linux x86-64, Windows amd64, and macOS x8664), binary packages hosted on PyPI can be used, so that you don't need C++ compiler. On the other platforms, such as 32bit or arm-architectured Linux and Windows, you cannot install from binary, and you need to compile by yourself. Please be patient, we plan to support wider platforms in future.

If you have any troubles to install from binary, you can fall back to source installation by passing --no-binary option to the above pip command. (In order to avoid NumPy source installation, it is better to install NumPy beforehand.)

pip install numpy
pip install --no-binary cpprb

Install from source code

First, download source code manually or clone the repository;

git clone https://gitlab.com/ymd_h/cpprb.git

Then you can install in the same way;

cd cpprb
pip install .

For this installation, you need to convert extended Python (.pyx) to C++ (.cpp) during installation, it takes longer time than installation from PyPI.

Usage

Basic Usage

Basic usage is following step;

  1. Create replay buffer (ReplayBuffer.__init__)
  2. Add transitions (ReplayBuffer.add)
    1. Reset at episode end (ReplayBuffer.on_episode_end)
  3. Sample transitions (ReplayBuffer.sample)

Example Code

Here is a simple example for storing standard environment (aka. obs, act, rew, next_obs, and done).

from cpprb import ReplayBuffer

buffer_size = 256
obs_shape = 3
act_dim = 1
rb = ReplayBuffer(buffer_size,
		  env_dict ={"obs": {"shape": obs_shape},
			     "act": {"shape": act_dim},
			     "rew": {},
			     "next_obs": {"shape": obs_shape},
			     "done": {}})

obs = np.ones(shape=(obs_shape))
act = np.ones(shape=(act_dim))
rew = 0
next_obs = np.ones(shape=(obs_shape))
done = 0

for i in range(500):
    rb.add(obs=obs,act=act,rew=rew,next_obs=next_obs,done=done)

    if done:
	# Together with resetting environment, call ReplayBuffer.on_episode_end()
	rb.on_episode_end()

batch_size = 32
sample = rb.sample(batch_size)
# sample is a dictionary whose keys are 'obs', 'act', 'rew', 'next_obs', and 'done'

Construction Parameters

(See also API reference)

Name Type Optional Discription
size int No Buffer size
env_dict dict Yes (but unusable) Environment definition (See here)
next_of str or array-like of str Yes Memory compression (See here)
stack_compress str or array-like of str Yes Memory compression (See here)
default_dtype numpy.dtype Yes Fall back data type
Nstep dict Yes Nstep configuration (See here)
mmap_prefix str Yes mmap file prefix (See here)

Notes

Flexible environment values are defined by env_dict when buffer creation. The detail is described at document.

Since stored values have flexible name, you have to pass to ReplayBuffer.add member by keyword.

Features

cpprb provides buffer classes for building following algorithms.

Algorithms cpprb class Paper
Experience Replay ReplayBuffer L. J. Lin
Prioritized Experience Replay PrioritizedReplayBuffer T. Schaul et. al.
Multi-step (Nstep) Learning ReplayBuffer, PrioritizedReplayBuffer  
Multiprocess Learning (Ape-X) MPReplayBuffer MPPrioritizedReplayBuffer D. Horgan et. al.
Large Batch Experience Replay (LaBER) LaBERmean, LaBERlazy, LaBERmax T. Lahire et al.
Reverse Experience Replay (RER) ReverseReplayBuffer E. Rotinov
Hindsight Experience Replay (HER) HindsightReplayBuffer M. Andrychowicz et al.

cpprb features and its usage are described at following pages:

Design

Column-oriented and Flexible

One of the most distinctive design of cpprb is column-oriented flexibly defined transitions. As far as we know, other replay buffer implementations adopt row-oriented flexible transitions (aka. array of transition class) or column-oriented non-flexible transitions.

In deep reinforcement learning, sampled batch is divided into variables (i.e. obs, act, etc.). If the sampled batch is row-oriented, users (or library) need to convert it into column-oriented one. (See doc, too)

Batch Insertion

cpprb can accept addition of multiple transitions simultaneously. This design is convenient when batch transitions are moved from local buffers to a global buffer. Moreover it is more efficient because of not only removing pure-Python for loop but also suppressing unnecessary priority updates for PER. (See doc, too)

Minimum Dependency

We try to minimize dependency. Only NumPy is required during its execution. Small dependency is always preferable to avoid dependency hell.

Contributing to cpprb

Any contribution are very welcome!

Making Community Larger

Bigger commumity makes development more active and improve cpprb.

Q & A at Forum

When you have any problems or requests, you can check Discussions on GitHub.com. If you still cannot find any information, you can post your own.

We keep issues on GitLab.com and users are still allowed to open issues, however, we mainly use the place as development issue tracker.

Merge Request (Pull Request)

cpprb follows local rules:

  • Branch Name
    • "HotFix***" for bug fix
    • "Feature***" for new feature implementation
  • docstring
  • Unit Test
    • Put test code under "test/" directory
    • Can test by python -m unittest <Your Test Code> command
    • Continuous Integration on GitLab CI configured by .gitlab-ci.yaml
  • Open an issue and associate it to Merge Request

Step by step instruction for beginners is described at here.

Links

cpprb sites

cpprb users' repositories

Example usage at Kaggle competition

Japanese Documents

License

cpprb is available under MIT license.

MIT License

Copyright (c) 2019 Yamada Hiroyuki

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Citation

We would be very happy if you cite cpprb in your papers.

@misc{Yamada_cpprb_2019,
author = {Yamada, Hiroyuki},
month = {1},
title = {{cpprb}},
url = {https://gitlab.com/ymd_h/cpprb},
year = {2019}
}

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cpprb-11.0.0.tar.gz (532.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cpprb-11.0.0-cp312-cp312-win_amd64.whl (352.6 kB view details)

Uploaded CPython 3.12Windows x86-64

cpprb-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cpprb-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

cpprb-11.0.0-cp312-cp312-macosx_10_9_universal2.whl (800.0 kB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)

cpprb-11.0.0-cp311-cp311-win_amd64.whl (366.6 kB view details)

Uploaded CPython 3.11Windows x86-64

cpprb-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cpprb-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

cpprb-11.0.0-cp311-cp311-macosx_10_9_universal2.whl (804.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

cpprb-11.0.0-cp310-cp310-win_amd64.whl (362.4 kB view details)

Uploaded CPython 3.10Windows x86-64

cpprb-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cpprb-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

cpprb-11.0.0-cp310-cp310-macosx_11_0_x86_64.whl (427.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

cpprb-11.0.0-cp310-cp310-macosx_10_9_universal2.whl (800.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

cpprb-11.0.0-cp39-cp39-win_amd64.whl (363.7 kB view details)

Uploaded CPython 3.9Windows x86-64

cpprb-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cpprb-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

cpprb-11.0.0-cp39-cp39-macosx_11_0_x86_64.whl (428.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

cpprb-11.0.0-cp39-cp39-macosx_10_9_universal2.whl (803.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

cpprb-11.0.0-cp38-cp38-win_amd64.whl (364.0 kB view details)

Uploaded CPython 3.8Windows x86-64

cpprb-11.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

cpprb-11.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

cpprb-11.0.0-cp38-cp38-macosx_11_0_x86_64.whl (423.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ x86-64

cpprb-11.0.0-cp38-cp38-macosx_11_0_universal2.whl (795.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file cpprb-11.0.0.tar.gz.

File metadata

  • Download URL: cpprb-11.0.0.tar.gz
  • Upload date:
  • Size: 532.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.8.18

File hashes

Hashes for cpprb-11.0.0.tar.gz
Algorithm Hash digest
SHA256 67ebfc61729610337619fcb8e809bc2863fc16f05e3432e21bf890a40cf5a0e3
MD5 e478e2bb3642f72c31ffdead25ec5d88
BLAKE2b-256 727ffc5a23c7c72a1e2c0f4e7536d7a23c943badbeba9c50d5dbac7eb0980c72

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cpprb-11.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 352.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for cpprb-11.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 beea414f7678e8d848295680e86ded95ed8935043eda891ffd60620d952faa1f
MD5 3e33ea30bc269e093d20afa054d2bf45
BLAKE2b-256 8ab3c284c5b1a792fba08893993d70575741bbc8787ec52b82f90d0dfeba0a73

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3fdc1d1a76304fce9f0eebcaff01b379ddd94dc61eb0c737db99c018fc7ce753
MD5 13bf0ba9d088196b6def0e306ac4ec16
BLAKE2b-256 be4362d7cdb0e783362818e7d1af8d073373ad77962358bcfebd8a41fb12795c

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cf2aca06d20b4c8dfd34d1fdc1a18ce9d73f2b8c0f326b3a4a1e3191690512e3
MD5 6cd92f10dfb074cbb651fdebfbdc8b18
BLAKE2b-256 7b2841d47acdebdf0b253dbdd42fbbba57a11a3e8d57a9e82f093d0b3e9abb04

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 01523dd24ac9c9c119ccd695acf6ee145e4d6f6dc11a2620b2babe246007b608
MD5 968e47bfd09b6c21e3ecbaab98899709
BLAKE2b-256 1e73504fa0222276017bc9bf85a28b22622698adc3cfe3fa7190ba6d8f640d6f

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cpprb-11.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 366.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for cpprb-11.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e577715c478d25dab310d34211cfbc74f775d279c1f4d135dffa7982d56c21dd
MD5 ed0cb946e674be4721d13a1f837e339c
BLAKE2b-256 0cdfde3373c936a1ef36fa365399a189cdbf4738fa3c291045d70225a303a8e8

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 79ed8f7cae7501f2012a18df7f1dda7c2173a85eb08df637c9e40ebcb804a43b
MD5 a6cda06c0a62981671e5c0b4f3607bd8
BLAKE2b-256 04865f47d254d69afabba611044f6cb8410d34fe4df76e3e2c61e7730ef64967

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b464dd7874ca70edd0ad83ae875c49a6f121ce1f72febae24482309dad85ab7b
MD5 673f79507609534a10463043222a694a
BLAKE2b-256 02275bdae82c8e7759684c63be0a17d2da14cee720c9f00650ba4d35ff62765b

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7afbd93f434d87ee47511ef9ebf8732f178720af8c6844bc2c5c9c22779d75a5
MD5 3970261a03589419c0da5d34d63fd298
BLAKE2b-256 7fc87df3ed21dc61fba97543c1fb3d907f3fbe5fe38627a9c3adf17a3d8ba9c6

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cpprb-11.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 362.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for cpprb-11.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b777166c713cc3e37170ff394feabf00cfe9ccc2626b7b2fb0a1bffd8442f79f
MD5 92613e10d8a9e781a0988c18618d92d7
BLAKE2b-256 f8ab39ecdd0a12a2ff87e234e4c231602da9f08a536cdad8931e880f765a5d6f

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6aacad306c62b27b615e4807857d6f85e6291ec58a9f91ecebf5ff9f23f01dd7
MD5 9f7652de8dea6bae245cc39fdad4837e
BLAKE2b-256 b366bf106c426f22e55abd94e0079ea4296e67c33f2d82f1200b662442e86e34

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 92dfa8198ba7c2f52a3959c6083a7b4098ae4668d817c020fe9b19ac5882a394
MD5 d27f27d7fee6e19ce5737041d3c0f071
BLAKE2b-256 e1de8e1a3342bff706d344b3609853e2f565a31b444f9f7ef641d478ebf7be24

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 47da92f3fdefb3218f776b6bdfb1af2f3e9dceb9183b5590e4d9ba82aeac3c13
MD5 d1d78dee1581b1e58926eee944edffe0
BLAKE2b-256 958b073b583b1b967b999f3c6d6cc81632076eef822614c06556ea6f71c564a9

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 634a84933b1aa5c0d78c4703cad493e9db4aa8e8a8015bce4a6c78a9b131cc16
MD5 6052c95d4098509515b64d56eddce843
BLAKE2b-256 0d5eb41a988ca62b788c37981489d2e8f52d5ec9f91ba3b93eb322c6a5e21a42

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cpprb-11.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 363.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for cpprb-11.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a334cb045867980280ed6dd1449a281693641935146be8279cbef6460982acaf
MD5 cb577f5388c366fbffb55b19c27c3e8b
BLAKE2b-256 a7405bfaf0aaa9f982d8c646caa2068e151e0d878a6c0234a48842e74e9a8af2

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa5b07028a7f9326052f8c963cbb26cad0fdcf4c27d1db4e2cc69846528fb792
MD5 a11bd75a40bd39a4b76140e485a95087
BLAKE2b-256 aeee60bbfda581048d8b1e1a48ba3b18dbd96565c2c01c4f380163dfc0b6b3ca

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da002631d8edd4c29851e9d41eda00372b78fd533fee56814f278dff8c117d28
MD5 c69fa57c2ca27a9e693750f3abb6f1c7
BLAKE2b-256 95ef9073d4e67b72c97b1685548bc4ad865723e4f7ea169e93601aad4c66bb96

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9d921904c2634792efd10647b71058df6ecb0885a42b9478f2bd30973a840df3
MD5 53755b9a3b40e0fb91edf0ac4616969b
BLAKE2b-256 a00ff47bd1eace9ed2a5c5867a2d263e389ae0fe04dbcf1890389af3b46d64db

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 84f20237ff4cb67922dc0ed87053ca242ca25ecfcee9eb1c9a0b3abc7f1f6f8c
MD5 99b138f8004e0cf90ac60b89121eaa12
BLAKE2b-256 23fbb8e02522241d1016fc286a6d1400e813c4a751d4c5084052035472b2d4aa

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: cpprb-11.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 364.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for cpprb-11.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ace5909e181192ec69be7ac0ff0ecb3a7ab45efd340c0321ec7a218c93ee3737
MD5 81d5c1d75ec31d735e4fe06c2f9b3ab4
BLAKE2b-256 0af60b45d6f478274588c26d0b1783653273ab0a77110ce12ba9405094f980a4

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24f9c35e8053a50ca0e57acbed0e9fcae6773ebe798bee6d8da51fcaddd0f48d
MD5 3e8cb5635d3070b5184d939f067f2975
BLAKE2b-256 2ddc317c6503fae0d4fa8e7f1dc44d4318064ebe8f0844dc9653a3c976983ba0

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ba040d9a0ac9ec64f6e7050d7a85ea091045ed3024086623d15737b4f80250e1
MD5 a0716427acd189bbcd7a4d6f560ed6e7
BLAKE2b-256 7407db0d18af273068bd185893d36322543fb5e15aec35009340940694ea70d5

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3f14cc5e23e99ac8e3c890ba9cd7642a1f3e039d625663b01214ccae3c65b478
MD5 bab6e72a8d9328f52c197c013f821730
BLAKE2b-256 e651758aa81f96245bea26798b76567b45543d1cef0255de6eef3c511a654ee6

See more details on using hashes here.

File details

Details for the file cpprb-11.0.0-cp38-cp38-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for cpprb-11.0.0-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 2fe272adc65102d3dd9c7c3a954f8dbb79c75500879c59d869a178494090d3b9
MD5 3ad6d83adb08729418b11d78581f33ca
BLAKE2b-256 0f99b5409eab7474d865c522f922e98c54d1f7e55b090340c94ee2e0161fd367

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page