Skip to main content

ReplayBuffer for Reinforcement Learning written by C++ and Cython

Project description

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-10.5.0.tar.gz (409.5 kB view details)

Uploaded Source

Built Distributions

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

cpprb-10.5.0-cp39-cp39-win_amd64.whl (329.3 kB view details)

Uploaded CPython 3.9Windows x86-64

cpprb-10.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

cpprb-10.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

cpprb-10.5.0-cp39-cp39-macosx_10_15_x86_64.whl (421.5 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

cpprb-10.5.0-cp38-cp38-win_amd64.whl (332.2 kB view details)

Uploaded CPython 3.8Windows x86-64

cpprb-10.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

cpprb-10.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

cpprb-10.5.0-cp38-cp38-macosx_10_14_x86_64.whl (414.3 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

cpprb-10.5.0-cp37-cp37m-win_amd64.whl (319.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

cpprb-10.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

cpprb-10.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

cpprb-10.5.0-cp37-cp37m-macosx_10_14_x86_64.whl (406.3 kB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

cpprb-10.5.0-cp36-cp36m-win_amd64.whl (319.1 kB view details)

Uploaded CPython 3.6mWindows x86-64

cpprb-10.5.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

cpprb-10.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

cpprb-10.5.0-cp36-cp36m-macosx_10_14_x86_64.whl (404.5 kB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: cpprb-10.5.0.tar.gz
  • Upload date:
  • Size: 409.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for cpprb-10.5.0.tar.gz
Algorithm Hash digest
SHA256 fa975d333398e1c1d8005780a0f3c24619df2a9d39812cbc5c7f372eec6d6011
MD5 ac9d3341798c2b665e60e47b787031c4
BLAKE2b-256 3e61b20677b8aef81586f0f6116e6c4d2bf565f023be36f1891cc3c69a0df70a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cpprb-10.5.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 329.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

File hashes

Hashes for cpprb-10.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 53e206226b2d5d8fd0d94b5d8ec5e58b43627356d71f75fb72ac475104873ba3
MD5 686c311f2d7e32ab53a9181ae52f9ed8
BLAKE2b-256 6bf4addf043a25dad3ff7ad0d247fb298f17ac152a80608d7d44424779a06836

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cpprb-10.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for cpprb-10.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ea3659dd17e8950681a5b1fca99b6aa5ba2af00b97d7a3c96093a88be6ae8dd2
MD5 cdb6bcc6a4f7190727e936e6b61953fc
BLAKE2b-256 32e17d369ca880005d1a49bbb8fc5cef07c2c691e1a16982b2d32a6be934fd3f

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-10.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7681a6d53f27d2384cfe45bf60f2678430a2595a167086b25c12ae2a1c848fc8
MD5 40978391661df7ddd20219eaf1ddf188
BLAKE2b-256 15fc9ae954b493d8c6597613748c945e6771136b984dc3780a27f1787c0d907f

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 421.5 kB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for cpprb-10.5.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 720e495641fca19905b38c6af94a0ea563c4e39d8d7b6cd8d3300d38448de55c
MD5 77aa1b36413e7895bdc64bf584a8c87f
BLAKE2b-256 cae7a696ae28322dabca88f09d17fb1b623377dc1471db623e7ebb58a223b2d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cpprb-10.5.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 332.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for cpprb-10.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e2087d63ed775222e52d0292510706febb4a6feedf4425763d503d3c2d51241f
MD5 0b84eb5a401f40dfd505b944f8abf398
BLAKE2b-256 ca2b5b7823332bdc34b858ae5d26eedaa4d4325ece05454cf64c8a98380fe4b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cpprb-10.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.8, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for cpprb-10.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 103bf8da1c6b672168962b4f6bd73ca115e9e83fc7266c6995fdd890f94c9a71
MD5 57e1d84f616c4340ea03c34e613829f5
BLAKE2b-256 ce4ba2a5d378b2d8f072df48fae28f8060145610be8ac7e5680413ddd2e168e9

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-10.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 58a10a1a21d7c416e20b6a08e624717d0375c99f900b2cc6acbf6215736e3612
MD5 5c9fcda7f8b1c9c1e27efd6f1779397d
BLAKE2b-256 e044762a87bdb4e3def12fea18debd4d6af6ed47893d8d41c11012a03739e693

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 414.3 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for cpprb-10.5.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 e4295490a28524c48154688bbe2034edf869cfb79e6165c42ac7833360f6ea0c
MD5 6d84df62b6db095e2553bce767bdbfb0
BLAKE2b-256 d854da513ca9c6d9b3ae49b8befeb606a7bde6887bcfd73d0d3c41e3a5b25385

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 319.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.9

File hashes

Hashes for cpprb-10.5.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 775812f1877f4d32ba8c72c8763d35e9d36dd2f65f600f897683be8c876a98d6
MD5 da85f4d9fabdc28f50d897187382b274
BLAKE2b-256 7365bee7f5211a4f50b4b69561d6717224dd1dc8afd6073d24ae2adc0e1c1408

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for cpprb-10.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 69c2e77e7d1177d8584e2b78f053b42ab0f861e050fb29cb21566d35236fe59c
MD5 e4632e785ccc8705c8304d34cfcddd35
BLAKE2b-256 27f607d0e59aa5dc349f67b92dfd8b7f8b3ceda90449cdd609359379793d3f34

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-10.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0adf19342bca3ba0dacdb80615e7f3f4cd707148e1a78cbc2274020609065f60
MD5 4ee6a652a50428fcc8f3e6f3a6c4a43a
BLAKE2b-256 151aaa4f22cd5fee821c78e38bf2f3f327e4edcc1940276a6c00e9d5dc76f96f

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 406.3 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12

File hashes

Hashes for cpprb-10.5.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 bf297a4c10455c95fe6f17fbd741aa080d9b4144053f6cae1163ba7c8e91596d
MD5 065e321b0b13fed37d0b1c071cba71ed
BLAKE2b-256 98fceb1d997b4e9fc037b69217f6bd377cf9e93b6b63da57ed47ee344451ad50

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 319.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.8

File hashes

Hashes for cpprb-10.5.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 fea31dc885e021b9b5a830c7534afd6e35fc90bd2ad83c82d8c320b7440239cf
MD5 bc9b048cf6780250034e9f5b93227a0a
BLAKE2b-256 37de8c293d832b9846ae0cc84e68f00478182a39f347b5a330853a28fbc05c56

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for cpprb-10.5.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04b681850f8460212471fe257a14baa4a0713be41e1dbf8954f66b219df05af9
MD5 cecf305d7fdbd73f896c09d64f9770a5
BLAKE2b-256 add4e94c4ae14574a7ecf06fb01a7f9f5e1785d520dde98d5f43d3365a00b5f6

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for cpprb-10.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f4978e6dc1174e060f43acde5b31eb9365963bceeb13ebde2006b26ef20e4cd7
MD5 718ef140ec6e79c8d5ef7c292196ee15
BLAKE2b-256 c65cb8f474c1dbb11cfbbe230a052e40c9d0c6fa629a29399fdfcb64bce179ac

See more details on using hashes here.

File details

Details for the file cpprb-10.5.0-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: cpprb-10.5.0-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 404.5 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for cpprb-10.5.0-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 101c46d464e3a327bc07dbd51da68e40b0b87e1d2412f434fdee8e16c6f4d2fd
MD5 e3fcad160ef6216f3b79d55c6c791df3
BLAKE2b-256 7c733b8016aa8cd379b4d7815c752bb2595a31ca29ffa02a285e237cfd093854

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