Modern(-ish) password hashing for your software and your servers

Overview

bcrypt

Latest Version https://github.com/pyca/bcrypt/workflows/CI/badge.svg?branch=main

Good password hashing for your software and your servers

Installation

To install bcrypt, simply:

$ pip install bcrypt

Note that bcrypt should build very easily on Linux provided you have a C compiler, headers for Python (if you're not using pypy), and headers for the libffi libraries available on your system.

For Debian and Ubuntu, the following command will ensure that the required dependencies are installed:

$ sudo apt-get install build-essential libffi-dev python-dev

For Fedora and RHEL-derivatives, the following command will ensure that the required dependencies are installed:

$ sudo yum install gcc libffi-devel python-devel

For Alpine, the following command will ensure that the required dependencies are installed:

$ apk add --update musl-dev gcc libffi-dev

Alternatives

While bcrypt remains a good choice for password storage depending on your specific use case you may also want to consider using scrypt (either via standard library or cryptography) or argon2id via argon2_cffi.

Changelog

UNRELEASED

  • Added support for compilation on z/OS

3.2.0

  • Added typehints for library functions.
  • Dropped support for Python versions less than 3.6 (2.7, 3.4, 3.5).
  • Shipped abi3 Windows wheels (requires pip >= 20).

3.1.7

  • Set a setuptools lower bound for PEP517 wheel building.
  • We no longer distribute 32-bit manylinux1 wheels. Continuing to produce them was a maintenance burden.

3.1.6

  • Added support for compilation on Haiku.

3.1.5

  • Added support for compilation on AIX.
  • Dropped Python 2.6 and 3.3 support.
  • Switched to using abi3 wheels for Python 3. If you are not getting a wheel on a compatible platform please upgrade your pip version.

3.1.4

  • Fixed compilation with mingw and on illumos.

3.1.3

  • Fixed a compilation issue on Solaris.
  • Added a warning when using too few rounds with kdf.

3.1.2

  • Fixed a compile issue affecting big endian platforms.
  • Fixed invalid escape sequence warnings on Python 3.6.
  • Fixed building in non-UTF8 environments on Python 2.

3.1.1

  • Resolved a UserWarning when used with cffi 1.8.3.

3.1.0

  • Added support for checkpw, a convenience method for verifying a password.
  • Ensure that you get a $2y$ hash when you input a $2y$ salt.
  • Fixed a regression where $2a hashes were vulnerable to a wraparound bug.
  • Fixed compilation under Alpine Linux.

3.0.0

  • Switched the C backend to code obtained from the OpenBSD project rather than openwall.
  • Added support for bcrypt_pbkdf via the kdf function.

2.0.0

  • Added support for an adjustible prefix when calling gensalt.
  • Switched to CFFI 1.0+

Usage

Password Hashing

Hashing and then later checking that a password matches the previous hashed password is very simple:

>>> import bcrypt
>>> password = b"super secret password"
>>> # Hash a password for the first time, with a randomly-generated salt
>>> hashed = bcrypt.hashpw(password, bcrypt.gensalt())
>>> # Check that an unhashed password matches one that has previously been
>>> # hashed
>>> if bcrypt.checkpw(password, hashed):
...     print("It Matches!")
... else:
...     print("It Does not Match :(")

KDF

As of 3.0.0 bcrypt now offers a kdf function which does bcrypt_pbkdf. This KDF is used in OpenSSH's newer encrypted private key format.

>>> import bcrypt
>>> key = bcrypt.kdf(
...     password=b'password',
...     salt=b'salt',
...     desired_key_bytes=32,
...     rounds=100)

Adjustable Work Factor

One of bcrypt's features is an adjustable logarithmic work factor. To adjust the work factor merely pass the desired number of rounds to bcrypt.gensalt(rounds=12) which defaults to 12):

>>> import bcrypt
>>> password = b"super secret password"
>>> # Hash a password for the first time, with a certain number of rounds
>>> hashed = bcrypt.hashpw(password, bcrypt.gensalt(14))
>>> # Check that a unhashed password matches one that has previously been
>>> #   hashed
>>> if bcrypt.checkpw(password, hashed):
...     print("It Matches!")
... else:
...     print("It Does not Match :(")

Adjustable Prefix

Another one of bcrypt's features is an adjustable prefix to let you define what libraries you'll remain compatible with. To adjust this, pass either 2a or 2b (the default) to bcrypt.gensalt(prefix=b"2b") as a bytes object.

As of 3.0.0 the $2y$ prefix is still supported in hashpw but deprecated.

Maximum Password Length

The bcrypt algorithm only handles passwords up to 72 characters, any characters beyond that are ignored. To work around this, a common approach is to hash a password with a cryptographic hash (such as sha256) and then base64 encode it to prevent NULL byte problems before hashing the result with bcrypt:

>>> password = b"an incredibly long password" * 10
>>> hashed = bcrypt.hashpw(
...     base64.b64encode(hashlib.sha256(password).digest()),
...     bcrypt.gensalt()
... )

Compatibility

This library should be compatible with py-bcrypt and it will run on Python 3.6+, and PyPy 3.

C Code

This library uses code from OpenBSD.

Security

bcrypt follows the same security policy as cryptography, if you identify a vulnerability, we ask you to contact us privately.

Comments
  • Convert bcrypt to use OpenBSD code

    Convert bcrypt to use OpenBSD code

    This allows us to add bcrypt_pbkdf to support OpenSSH keys much more easily.

    Some review things:

    • Verify that the files added are the OpenBSD files (with a few changes like removing static on a definition, adding a header, and removing unused functions.)
    • Verify that the changes to sha2.c to use be64toh, htobe64, and le32toh are correct.
    • Carefully check portable_endian.h to verify it does what we expect on our supported platforms.
    opened by reaperhulk 14
  • Can't install on PyPy

    Can't install on PyPy

    It seems that there are no binary wheels for PyPy, and build from source now requires a Rust toolchain. This is a major problem for installation.

    $ docker run -ti --rm pypy:3.9 bash
    
    /# pip install -U pip
    Successfully installed pip-22.2.2
    
    /# pip install bcrypt
    Collecting bcrypt
      Downloading bcrypt-4.0.0.tar.gz (25 kB)
      Installing build dependencies ... done
      Getting requirements to build wheel ... done
      Preparing metadata (pyproject.toml) ... done
    Building wheels for collected packages: bcrypt
      Building wheel for bcrypt (pyproject.toml) ... error
      error: subprocess-exited-with-error
      
      ร— Building wheel for bcrypt (pyproject.toml) did not run successfully.
      โ”‚ exit code: 1
      โ•ฐโ”€> [58 lines of output]
          running bdist_wheel
          running build
          running build_py
          creating build
          creating build/lib.linux-x86_64-pypy39
          creating build/lib.linux-x86_64-pypy39/bcrypt
          copying src/bcrypt/__about__.py -> build/lib.linux-x86_64-pypy39/bcrypt
          copying src/bcrypt/__init__.py -> build/lib.linux-x86_64-pypy39/bcrypt
          running egg_info
          writing src/bcrypt.egg-info/PKG-INFO
          writing dependency_links to src/bcrypt.egg-info/dependency_links.txt
          writing requirements to src/bcrypt.egg-info/requires.txt
          writing top-level names to src/bcrypt.egg-info/top_level.txt
          reading manifest file 'src/bcrypt.egg-info/SOURCES.txt'
          reading manifest template 'MANIFEST.in'
          warning: no previously-included files found matching 'requirements.txt'
          warning: no previously-included files found matching 'release.py'
          warning: no previously-included files found matching 'mypy.ini'
          warning: no previously-included files matching '*' found under directory '.github'
          warning: no previously-included files matching '*' found under directory '.circleci'
          warning: no previously-included files found matching 'src/_bcrypt/target'
          warning: no previously-included files matching '*' found under directory 'src/_bcrypt/target'
          adding license file 'LICENSE'
          writing manifest file 'src/bcrypt.egg-info/SOURCES.txt'
          copying src/bcrypt/_bcrypt.pyi -> build/lib.linux-x86_64-pypy39/bcrypt
          copying src/bcrypt/py.typed -> build/lib.linux-x86_64-pypy39/bcrypt
          running build_ext
          running build_rust
          
              =============================DEBUG ASSISTANCE=============================
              If you are seeing a compilation error please try the following steps to
              successfully install bcrypt:
              1) Upgrade to the latest pip and try again. This will fix errors for most
                 users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
              2) Ensure you have a recent Rust toolchain installed. bcrypt requires
                 rustc >= 1.56.0.
          
              Python: 3.9.12
              platform: Linux-5.15.0-48-generic-x86_64-with-glibc2.31
              pip: n/a
              setuptools: 65.4.1
              setuptools_rust: 1.5.2
              rustc: n/a
              =============================DEBUG ASSISTANCE=============================
          
          error: can't find Rust compiler
          
          If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
          
          To update pip, run:
          
              pip install --upgrade pip
          
          and then retry package installation.
          
          If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
          
          This package requires Rust >=1.56.0.
          [end of output]
      
      note: This error originates from a subprocess, and is likely not a problem with pip.
      ERROR: Failed building wheel for bcrypt
    Failed to build bcrypt
    ERROR: Could not build wheels for bcrypt, which is required to install pyproject.toml-based projects
    

    Installing 3.2.2 works.

    opened by remram44 13
  • ValueError: Invalid salt

    ValueError: Invalid salt

    Full exception:

    Traceback (most recent call last):
      File "/opt/app/current/app/models.py", line 626, in check_password
        return bcrypt.check_password_hash(self.password, password)
      File "/opt/app/current/venv/local/lib/python2.7/site-packages/flask_bcrypt.py", line 193, in check_password_hash
        return safe_str_cmp(bcrypt.hashpw(password, pw_hash), pw_hash)
      File "/opt/app/current/venv/local/lib/python2.7/site-packages/bcrypt/__init__.py", line 66, in hashpw
        raise ValueError("Invalid salt")
    ValueError: Invalid salt
    
    opened by alanhamlett 13
  • Wondering if bcrypt planned to support AIX?

    Wondering if bcrypt planned to support AIX?

    Hi, I pip install paramiko on AIX 6.1 and occured an error which said bcypt does't support the platform. I wonder if there is a plan to support AIX?

    Thank you very much!
    
    opened by Prodesire 11
  • bcrypt with pypy error

    bcrypt with pypy error

    Latest stable pypy version, bcrypt installed via pip, running on Win7 64bit:

    C:\Users\...snip...>pypy
    Python 3.2.5 (b2091e973da6, Oct 19 2014, 21:25:51)
    [PyPy 2.4.0 with MSC v.1500 32 bit] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>> import bcrypt
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Program Files (x86)\pypy3-2.4.0-win32\site-packages\bcrypt\__init__.py", line 23, in <module>
        from bcrypt import _bcrypt
    ImportError: cannot import name '_bcrypt'
    

    I've compared the pypy site-packages/bcrypt directory with the corresponding python site-packages/bcrypt, and the python directory has a file _bcrypt.pyd which is not present under pypy.

    Any idea?

    Thanks!

    opened by avnr 11
  • Python 3.9.12 with Pip 22.2.2 on Windows OS (32bit)

    Python 3.9.12 with Pip 22.2.2 on Windows OS (32bit)

    Based on an application upgrade, python and pip were upgraded to latest version on our Win32 system. Unfortunately the installed bcrypt version 3.2.0 (bcrypt-3.2.0-cp36-abi3-win32.whl) doesn't work anymore (DLL load failed while importing _bcrypt) and even an upgrade using latest wheel build (3.2.2) is not supported (ERROR: bcrypt-3.2.2-cp36-abi3-win32.whl is not a supported wheel on this platform).

    Will there be a newer bcrypt wheel build for cp39 available soon or do we need to proceed a workaround being able to use bcrypt again?

    Thank you for the support.

    opened by amacons 10
  • Wheel support for linux aarch64

    Wheel support for linux aarch64

    Summary Installing bcrypt on aarch64 via pip using command "pip3 install bcrypt" tries to build wheel from source code

    Problem description bcrypt don't have wheel for aarch64 on PyPI repository. So, while installing bcrypt via pip on aarch64, pip builds wheel for same resulting in it takes more time to install bcrypt. Making wheel available for aarch64 will benefit aarch64 users by minimizing bcrypt installation time.

    Expected Output Pip should be able to download bcrypt wheel from PyPI repository rather than building it from source code.

    @bcrypt-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make bcrypt wheel available for aarch64. It will be a great opportunity for me to work with you.

    opened by odidev 9
  • Fix compile issue for PowerPC

    Fix compile issue for PowerPC

    There seems to be one opening parenthesis too many here on both lines.

    Discovered after running into the following errors while cross-compiling for PowerPC/Qoriq:

    src/_csrc/sha2.c: In function 'SHA256Final':
    src/_csrc/sha2.c:484: error: expected ')' before ';' token
    src/_csrc/sha2.c:485: error: expected ')' before '}' token
    src/_csrc/sha2.c:485: error: expected ';' before '}' token
    
    opened by Dr-Bean 9
  • pip wheel bcrypt fails with ValueError: path '/Users/dstufft/projects/bcrypt/bcrypt/crypt_blowfish-1.2/crypt_blowfish.c' cannot be absolute

    pip wheel bcrypt fails with ValueError: path '/Users/dstufft/projects/bcrypt/bcrypt/crypt_blowfish-1.2/crypt_blowfish.c' cannot be absolute

    I suspect that this is because the sdist hosted on PyPI includes an egg-info directory with SOURCES.txt containing absolute filenames. Probably as a result of the line

    ext_modules = [_ffi.verifier.get_extension()]
    

    in setup.py, which seems to add the absolute paths. Uninstalling cffi and doing setup.py sdist produces a workable sdist.

    opened by pfmoore 9
  • Build is failing on Alpine Linux & Python 3.5

    Build is failing on Alpine Linux & Python 3.5

    I get a build error with the latest bcrypt release on Alpine Linux and Python 3.5:

    src/_csrc/bcrypt_pbkdf.c: In function 'bcrypt_pbkdf':
    src/_csrc/bcrypt_pbkdf.c:137:3: warning: implicit declaration of function 'bcrypt_hash' [-Wimplicit-function-declaration]
       bcrypt_hash(sha2pass, sha2salt, tmpout);
       ^
    error: command 'gcc' failed with exit status 1
    

    The complete output and the Dockerfile are attached. To reproduce the error you may run (after placing Dockerfile.txt to the same dir):

    docker build . -f Dockerfile.txt -t bcrypt-test
    

    error-output.txt Dockerfile.txt

    opened by rudyryk 8
  • 4.0.0 issue  Runtime.ImportModuleError: Unable to import module

    4.0.0 issue Runtime.ImportModuleError: Unable to import module

    [ERROR] Runtime.ImportModuleError: Unable to import module 'main': /lib64/libc.so.6: version GLIBC_2.28' not found (required by /var/task/bcrypt/_bcrypt.abi3.so)

    I have used Github action to run a workflow with required packages in requirements.txt

    bcrypt
    cryptography
    

    But the above issue is raised while executing the code after above packages are installed. But the issue is solved by downgrading bcrypt to 3.2.2 and cryptography to 3.4.8.

    In documentation , it is mentioned to use updated pip version and since github action works to fetch new version.

    How to solve this issue to upgrade bcrypt package?

    opened by himalacharya 7
  • Bump base64 from 0.13.1 to 0.20.0 in /src/_bcrypt

    Bump base64 from 0.13.1 to 0.20.0 in /src/_bcrypt

    Bumps base64 from 0.13.1 to 0.20.0.

    Changelog

    Sourced from base64's changelog.

    0.20.0

    Breaking changes

    • Update MSRV to 1.57.0
    • Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require correct padding.
      • The NO_PAD config now requires that padding be absent when decoding.

    0.20.0-alpha.1

    Breaking changes

    • Extended the Config concept into the Engine abstraction, allowing the user to pick different encoding / decoding implementations.
      • What was formerly the only algorithm is now the FastPortable engine, so named because it's portable (works on any CPU) and relatively fast.
      • This opens the door to a portable constant-time implementation (#153, presumably ConstantTimePortable?) for security-sensitive applications that need side-channel resistance, and CPU-specific SIMD implementations for more speed.
      • Standard base64 per the RFC is available via DEFAULT_ENGINE. To use different alphabets or other settings (padding, etc), create your own engine instance.
    • CharacterSet is now Alphabet (per the RFC), and allows creating custom alphabets. The corresponding tables that were previously code-generated are now built dynamically.
    • Since there are already multiple breaking changes, various functions are renamed to be more consistent and discoverable.
    • MSRV is now 1.47.0 to allow various things to use const fn.
    • DecoderReader now owns its inner reader, and can expose it via into_inner(). For symmetry, EncoderWriter can do the same with its writer.
    • encoded_len is now public so you can size encode buffers precisely.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Include a wheel for linux_armv7l

    Include a wheel for linux_armv7l

    I have a number of armv7l based computers and currently I need to install the whole build environement on all of them to be able to use bcrypt.

    The code builds fine but building on each platform and "polluting" the production devices with development packages is something I would like to avoid. Also a bigger risk that there is a difference between the binaries when building on each platform and trigger really hard to find bugs.

    Could you include a wheel for linux armv7l?

    /Morgan

    opened by MorganLindqvist 1
  • Add a gate/check job to the GHA CI workflow

    Add a gate/check job to the GHA CI workflow

    This is an incarnation of https://github.com/pyca/pyopenssl/pull/1146 and https://github.com/pyca/cryptography/pull/7643.

    https://github.com/marketplace/actions/alls-green#why

    opened by webknjaz 0
  • Add footnote warning to hashing a hash

    Add footnote warning to hashing a hash

    It's generally not recommended to use bcrypt on top of another hashing algorithm. While doing it over sha256 is obviously not as bad as doing it over md5, I think it's important to note in the README that OWASP recommends against the practice.

    opened by FWDekker 3
  • Emphasise difference between round and work factor

    Emphasise difference between round and work factor

    I think it's confusing that the API uses rounds to describe the work factor of bcrypt; the two are similar but not quite the same, since rounds = 2^(work factor). I think it's important with cryptography that terminology is used unambiguously to prevent implementation mistakes. Would you consider changing the name of this parameter to work_factor, perhaps at some point in the future when you plan a new major release?

    opened by FWDekker 2
  • bcrypt 4.0.0 test failure on 32bit arch

    bcrypt 4.0.0 test failure on 32bit arch

    Tests fails due to a segfault on 32bit Mageia Cauldron, the development version of the distro. I can reproduce the issue also with Fedora 36 bcrypt mock build. Mock is a tool for a reproducible build of RPM packages.

    + /usr/bin/python3 -m tox --current-env -q --recreate -e py310
    ============================= test session starts ==============================
    platform linux -- Python 3.10.6, pytest-7.1.3, pluggy-1.0.0
    cachedir: .tox/py310/.pytest_cache
    rootdir: /builddir/build/BUILD/bcrypt-4.0.0
    collected 150 items
    
    tests/test_bcrypt.py ................................................... [ 34%]
    ........................................................................ [ 82%]
    ..Fatal Python error: Segmentation fault
    
    Current thread 0xf7938700 (most recent call first):
      File "/builddir/build/BUILDROOT/python-bcrypt-4.0.0-1.mga9.i386/usr/lib/python3.10/site-packages/bcrypt/__init__.py", line 127 in kdf
      File "/builddir/build/BUILD/bcrypt-4.0.0/tests/test_bcrypt.py", line 443 in test_kdf
      File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 1761 in runtest
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 166 in pytest_runtest_call
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 259 in <lambda>
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 338 in from_call
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 258 in call_runtest_hook
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 219 in call_and_report
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 130 in runtestprotocol
      File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 347 in pytest_runtestloop
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 322 in _main
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 268 in wrap_session
      File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 315 in pytest_cmdline_main
      File "/usr/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
      File "/usr/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
      File "/usr/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
      File "/usr/lib/python3.10/site-packages/_pytest/config/__init__.py", line 164 in main
      File "/usr/lib/python3.10/site-packages/_pytest/config/__init__.py", line 187 in console_main
      File "/usr/lib/python3.10/site-packages/pytest/__main__.py", line 5 in <module>
      File "/usr/lib/python3.10/site-packages/coverage/execfile.py", line 199 in run
      File "/usr/lib/python3.10/site-packages/coverage/cmdline.py", line 830 in do_run
      File "/usr/lib/python3.10/site-packages/coverage/cmdline.py", line 659 in command_line
      File "/usr/lib/python3.10/site-packages/coverage/cmdline.py", line 943 in main
      File "/usr/bin/coverage", line 8 in <module>
    ERROR: InvocationError for command /usr/bin/coverage run -m pytest --strict-markers (exited with code -11 (SIGSEGV)) (exited with code -11)
    ___________________________________ summary ____________________________________
    ERROR:   py310: commands failed
    

    Full build logs available in Fedora COPR, mageia-cauldron-i586 builder-live.log.gz.

    opened by wally-mageia 4
Owner
Python Cryptographic Authority
Python Cryptographic Authority
๐Ÿธ Coqui STT is an open source Speech-to-Text toolkit which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers

Coqui STT ( ?? STT) is an open-source deep-learning toolkit for training and deploying speech-to-text models. ?? STT is battle tested in both producti

Coqui.ai 1.7k Jan 2, 2023
DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.

Project DeepSpeech DeepSpeech is an open-source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu's Deep Spee

Mozilla 20.8k Jan 9, 2023
VNOpenAI 31 Dec 26, 2022
Radeon Rays is ray intersection acceleration library for hardware and software multiplatforms using CPU and GPU

RadeonRays 4.1 Summary RadeonRays is a ray intersection acceleration library. AMD developed RadeonRays to help developers make the most of GPU and to

GPUOpen Libraries & SDKs 980 Dec 29, 2022
A fast and modern voxel based raytracing engine

CubiCAD A fast and modern voxel based raytracing engine Currently in heavy development and unusable at its current state. This reposity will hold the

RedNicStone 14 Sep 6, 2022
Ikomia Studio software

Ikomia Studio Presentation Ikomia Studio is an Open Source desktop application that aims to simplify use, reproducibility and sharing of state of the

Ikomia 24 Dec 26, 2022
A software pipeline to decode the Falcon 9 telemetry from the 6MS/s baseband file.

falcon9_pipeline A software pipeline to decode the Falcon 9 telemetry from the 6MS/s baseband file. This is a work in progress, and you need to source

Mike Field 12 May 13, 2021
Frog is an integration of memory-based natural language processing (NLP) modules developed for Dutch. All NLP modules are based on Timbl, the Tilburg memory-based learning software package.

Frog - A Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch Copyright 2006-2020 Ko van der Sloot, Maarten van Gompel, Antal van den

Language Machines 70 Dec 14, 2022
Extracts high-precision mouse/pointer motion data on Windows. Good for drawing software!

window_mouse_queue This is a wrapper for GetMouseMovePointsEx function that allows to extract high-precision mouse/pointer motion data on Windows. Goo

YellowAfterlife's GameMaker Things 6 Feb 21, 2022
BLAS-like Library Instantiation Software Framework

Contents Introduction Education and Learning What's New What People Are Saying About BLIS Key Features How to Download BLIS Getting Started Example Co

null 1.4k Dec 30, 2022
Basic Autonomous Driving Software

Basic_Autonomous-Driving-Software 2021๋…„๋„ 2ํ•™๊ธฐ ํ”„๋กœ์ ํŠธ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ ์ฐธ๊ณ . ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ๋ฐ ๊ณผ์ • ??๏ธ ํ™˜๊ฒฝ์„ค์ • ๋ฐ ๋ฒ„์ „ ํ™˜๊ฒฝ์„ค์ • ๋ฒ„์ „ OS Ubuntu 18.04 ์‚ฌ์šฉ์–ธ์–ด C++ ์‚ฌ์šฉ IDE QT Creater

Sang Hyun Park 8 Oct 11, 2022
This is a list of hardware which is supports Intel SGX - Software Guard Extensions.

SGX-hardware list This is a list of hardware which supports Intel SGX - Software Guard Extensions. Desktop The CPU and the motherboard BIOS must suppo

Lars Lรผhr 513 Dec 16, 2022
Code for Paper A Systematic Framework to Identify Violations of Scenario-dependent Driving Rules in Autonomous Vehicle Software

Code for Paper A Systematic Framework to Identify Violations of Scenario-dependent Driving Rules in Autonomous Vehicle Software

Qingzhao Zhang 6 Nov 28, 2022
C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library

Build Status Travis CI VM: Linux x64: Raspberry Pi 3: Jetson TX2: Backstory I set to build ccv with a minimalism inspiration. That was back in 2010, o

Liu Liu 6.9k Jan 6, 2023
๐Ÿ“š Modern C++ Tutorial: C++11/14/17/20 On the Fly

The book claims to be "On the Fly". Its intent is to provide a comprehensive introduction to the relevant features regarding modern C++ (before 2020s). Readers can choose interesting content according to the following table of content to learn and quickly familiarize the new features you would like to learn. Readers should be aware that not all of these features are required. Instead, it should be learned when you really need it.

Changkun Ou 19.6k Jan 1, 2023
A modern object detector inside fragment shaders

YOLOv4 Tiny in UnityCG/HLSL Video Demo: https://twitter.com/SCRNinVR/status/1380238589238206465?s=20 Overview YOLOv4 Tiny is one of the fastest object

null 47 Dec 8, 2022
A Modern C++ Data Sciences Toolkit

MeTA: ModErn Text Analysis Please visit our web page for information and tutorials about MeTA! Build Status (by branch) master: develop: Outline Intro

null 656 Dec 25, 2022
A collection of as simple as possible, modern CMake projects

Modern CMake Examples Overview This repository is a collection of as simple as possible CMake projects (with a focus on installing). The idea is to tr

Tom Hulton-Harrop 990 Dec 17, 2022