Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📦⚡️Compile Package Modules as C-Extensions via Mypyc #273

Conversation

TeoZosa
Copy link
Owner

@TeoZosa TeoZosa commented Aug 7, 2021

Leverages type annotations to optimize performance (~1.5x speed improvement), gratis.

Note: wheel builds consequently migrated from universal builds to platform-specific builds.

see: Mypyc Documentation

Description:
"""
Mypyc compiles Python modules to C extensions. It uses standard Python
type hints to generate fast code. Mypyc uses mypy to perform type
checking and type inference.

Mypyc can compile anything from one module to an entire codebase. The
mypy project has been using mypyc to compile mypy since 2019, giving it
a 4x performance boost over regular Python.
"""
See: https://github.com/mypyc/mypyc
Example error log:
```
poetry run tox --recreate -e package --
package recreate: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/package
package installdeps: poetry >= 1.1.2, twine >= 1.12.1, readme-renderer[md] >= 24.0
package installed: backports.entry-points-selectable==1.1.0,bleach==4.0.0,CacheControl==0.12.6,cachy==0.3.0,certifi==2021.5.30,cffi==1.14.6,charset-normalizer==2.0.4,cleo==0.8.1,clikit==0.6.2,cmarkgfm==0.5.3,colorama==0.4.4,crashtest==0.3.1,distlib==0.3.2,docutils==0.17.1,filelock==3.0.12,html5lib==1.1,idna==3.2,importlib-metadata==1.7.0,keyring==21.8.0,lockfile==0.12.2,msgpack==1.0.2,packaging==20.9,pastel==0.2.1,pexpect==4.8.0,pkginfo==1.7.1,platformdirs==2.2.0,poetry==1.1.7,poetry-core==1.0.3,ptyprocess==0.7.0,pycparser==2.20,Pygments==2.9.0,pylev==1.4.0,pyparsing==2.4.7,readme-renderer==29.0,requests==2.26.0,requests-toolbelt==0.9.1,rfc3986==1.5.0,shellingham==1.4.0,six==1.16.0,tomlkit==0.7.2,tqdm==4.62.0,twine==3.3.0,urllib3==1.26.6,virtualenv==20.7.0,webencodings==0.5.1,zipp==3.5.0
package run-test-pre: PYTHONHASHSEED='3700683522'
package run-test: commands[0] | poetry build
Building structlog-sentry-logger (0.8.1)
  - Building sdist
  - Built structlog-sentry-logger-0.8.1.tar.gz
  - Building wheel
Traceback (most recent call last):
  File "build.py", line 1, in <module>
    import mypyc.build
ModuleNotFoundError: No module named 'mypyc'

  CalledProcessError

  Command '['/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/package/bin/python', 'build.py']' returned non-zero exit status 1.

  at ~/.pyenv/versions/3.7.9/lib/python3.7/subprocess.py:363 in check_call
       359│     if retcode:
       360│         cmd = kwargs.get("args")
       361│         if cmd is None:
       362│             cmd = popenargs[0]
    →  363│         raise CalledProcessError(retcode, cmd)
       364│     return 0
       365│
       366│
       367│ def check_output(*popenargs, timeout=None, **kwargs):
ERROR: InvocationError for command /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/package/bin/poetry build (exited with code 1)
__________________________________________________________________________________________________________________________ summary __________________________________________________________________________________________________________________________
ERROR:   package: commands failed
make: *** [tox-package] Error 1
```
Example error log:
```

⠸ [3] py37 | py38 | py39ERROR: invocation failed (exit code 1), logfile: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/log/py38-0.log
========================================================================================================================= log start =========================================================================================================================
py38 create: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/.tmp/package/3/structlog-sentry-logger-0.8.1.tar.gz
ERROR: invocation failed (exit code 1), logfile: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/log/py38-3.log
================================== log start ===================================
Processing ./.tox/.tmp/package/3/structlog-sentry-logger-0.8.1.tar.gz
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Requirement already satisfied: structlog<22.0.0,>=21.1.0 in ./.tox/py38/lib/python3.8/site-packages (from structlog-sentry-logger==0.8.1) (21.1.0)
Requirement already satisfied: colorama<0.5.0,>=0.4.3 in ./.tox/py38/lib/python3.8/site-packages (from structlog-sentry-logger==0.8.1) (0.4.4)
Requirement already satisfied: gitpython<4.0.0,>=3.1.7 in ./.tox/py38/lib/python3.8/site-packages (from structlog-sentry-logger==0.8.1) (3.1.20)
Requirement already satisfied: orjson<4.0.0,>=3.4.0 in ./.tox/py38/lib/python3.8/site-packages (from structlog-sentry-logger==0.8.1) (3.6.0)
Requirement already satisfied: python-dotenv<0.20,>=0.17 in ./.tox/py38/lib/python3.8/site-packages (from structlog-sentry-logger==0.8.1) (0.19.0)
Requirement already satisfied: structlog-sentry<2.0.0,>=1.2.2 in ./.tox/py38/lib/python3.8/site-packages (from structlog-sentry-logger==0.8.1) (1.4.0)
Requirement already satisfied: sentry-sdk>0.17.0 in ./.tox/py38/lib/python3.8/site-packages (from structlog-sentry-logger==0.8.1) (1.3.1)
Requirement already satisfied: typing-extensions>=3.7.4.3 in ./.tox/py38/lib/python3.8/site-packages (from gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (3.10.0.0)
Requirement already satisfied: gitdb<5,>=4.0.1 in ./.tox/py38/lib/python3.8/site-packages (from gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (4.0.7)
Requirement already satisfied: smmap<5,>=3.0.1 in ./.tox/py38/lib/python3.8/site-packages (from gitdb<5,>=4.0.1->gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (4.0.0)
Requirement already satisfied: certifi in ./.tox/py38/lib/python3.8/site-packages (from sentry-sdk>0.17.0->structlog-sentry-logger==0.8.1) (2021.5.30)
Requirement already satisfied: urllib3>=1.10.0 in ./.tox/py38/lib/python3.8/site-packages (from sentry-sdk>0.17.0->structlog-sentry-logger==0.8.1) (1.26.6)
Building wheels for collected packages: structlog-sentry-logger
  Building wheel for structlog-sentry-logger (PEP 517): started
  Building wheel for structlog-sentry-logger (PEP 517): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/bin/python /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/tmpj4ix9j6f
       cwd: /private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-req-build-g8_yvn21
  Complete output (24 lines):
  Traceback (most recent call last):
    File "build.py", line 1, in <module>
      import mypyc.build
  ModuleNotFoundError: No module named 'mypyc'
  Traceback (most recent call last):
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 280, in <module>
      main()
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 204, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-h0dx710c/overlay/lib/python3.8/site-packages/poetry/core/masonry/api.py", line 68, in build_wheel
      return unicode(WheelBuilder.make_in(poetry, Path(wheel_directory)))
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-h0dx710c/overlay/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py", line 72, in make_in
      wb.build()
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-h0dx710c/overlay/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py", line 99, in build
      self._build(zip_file)
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-h0dx710c/overlay/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py", line 125, in _build
      self._run_build_script(self._package.build_script)
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-h0dx710c/overlay/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py", line 175, in _run_build_script
      subprocess.check_call([self.executable.as_posix(), build_script])
    File "/Users/TeofiloZosa/.pyenv/versions/3.8.6/lib/python3.8/subprocess.py", line 364, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/bin/python', 'build.py']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for structlog-sentry-logger
Failed to build structlog-sentry-logger
ERROR: Could not build wheels for structlog-sentry-logger which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 21.1.3; however, version 21.2.2 is available.
You should consider upgrading via the '/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py38/bin/python -m pip install --upgrade pip' command.

=================================== log end ====================================

========================================================================================================================== log end ==========================================================================================================================
✖ FAIL py38 in 51.308 seconds
⠧ [2] py37 | py39ERROR: invocation failed (exit code 1), logfile: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/log/py37-0.log
========================================================================================================================= log start =========================================================================================================================
py37 create: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37
py37 installdeps: -rrequirements-dev.txt
py37 inst: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/.tmp/package/2/structlog-sentry-logger-0.8.1.tar.gz
ERROR: invocation failed (exit code 1), logfile: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/log/py37-3.log
================================== log start ===================================
Processing ./.tox/.tmp/package/2/structlog-sentry-logger-0.8.1.tar.gz
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Requirement already satisfied: orjson<4.0.0,>=3.4.0 in ./.tox/py37/lib/python3.7/site-packages (from structlog-sentry-logger==0.8.1) (3.6.0)
Requirement already satisfied: structlog<22.0.0,>=21.1.0 in ./.tox/py37/lib/python3.7/site-packages (from structlog-sentry-logger==0.8.1) (21.1.0)
Requirement already satisfied: python-dotenv<0.20,>=0.17 in ./.tox/py37/lib/python3.7/site-packages (from structlog-sentry-logger==0.8.1) (0.19.0)
Requirement already satisfied: sentry-sdk>0.17.0 in ./.tox/py37/lib/python3.7/site-packages (from structlog-sentry-logger==0.8.1) (1.3.1)
Requirement already satisfied: structlog-sentry<2.0.0,>=1.2.2 in ./.tox/py37/lib/python3.7/site-packages (from structlog-sentry-logger==0.8.1) (1.4.0)
Requirement already satisfied: gitpython<4.0.0,>=3.1.7 in ./.tox/py37/lib/python3.7/site-packages (from structlog-sentry-logger==0.8.1) (3.1.20)
Requirement already satisfied: colorama<0.5.0,>=0.4.3 in ./.tox/py37/lib/python3.7/site-packages (from structlog-sentry-logger==0.8.1) (0.4.4)
Requirement already satisfied: gitdb<5,>=4.0.1 in ./.tox/py37/lib/python3.7/site-packages (from gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (4.0.7)
Requirement already satisfied: typing-extensions>=3.7.4.3 in ./.tox/py37/lib/python3.7/site-packages (from gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (3.10.0.0)
Requirement already satisfied: smmap<5,>=3.0.1 in ./.tox/py37/lib/python3.7/site-packages (from gitdb<5,>=4.0.1->gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (4.0.0)
Requirement already satisfied: certifi in ./.tox/py37/lib/python3.7/site-packages (from sentry-sdk>0.17.0->structlog-sentry-logger==0.8.1) (2021.5.30)
Requirement already satisfied: urllib3>=1.10.0 in ./.tox/py37/lib/python3.7/site-packages (from sentry-sdk>0.17.0->structlog-sentry-logger==0.8.1) (1.26.6)
Building wheels for collected packages: structlog-sentry-logger
  Building wheel for structlog-sentry-logger (PEP 517): started
  Building wheel for structlog-sentry-logger (PEP 517): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/bin/python /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/tmpoqaqu0l3
       cwd: /private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-req-build-lu2g18w1
  Complete output (24 lines):
  Traceback (most recent call last):
    File "build.py", line 1, in <module>
      import mypyc.build
  ModuleNotFoundError: No module named 'mypyc'
  Traceback (most recent call last):
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 280, in <module>
      main()
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 205, in build_wheel
      metadata_directory)
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-dv4eqxl0/overlay/lib/python3.7/site-packages/poetry/core/masonry/api.py", line 68, in build_wheel
      return unicode(WheelBuilder.make_in(poetry, Path(wheel_directory)))
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-dv4eqxl0/overlay/lib/python3.7/site-packages/poetry/core/masonry/builders/wheel.py", line 72, in make_in
      wb.build()
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-dv4eqxl0/overlay/lib/python3.7/site-packages/poetry/core/masonry/builders/wheel.py", line 99, in build
      self._build(zip_file)
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-dv4eqxl0/overlay/lib/python3.7/site-packages/poetry/core/masonry/builders/wheel.py", line 125, in _build
      self._run_build_script(self._package.build_script)
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-dv4eqxl0/overlay/lib/python3.7/site-packages/poetry/core/masonry/builders/wheel.py", line 175, in _run_build_script
      subprocess.check_call([self.executable.as_posix(), build_script])
    File "/Users/TeofiloZosa/.pyenv/versions/3.7.9/lib/python3.7/subprocess.py", line 363, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/bin/python', 'build.py']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for structlog-sentry-logger
Failed to build structlog-sentry-logger
ERROR: Could not build wheels for structlog-sentry-logger which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 21.1.3; however, version 21.2.2 is available.
You should consider upgrading via the '/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py37/bin/python -m pip install --upgrade pip' command.

=================================== log end ====================================

========================================================================================================================== log end ==========================================================================================================================
✖ FAIL py37 in 52.739 seconds
⠙ [1] py39ERROR: invocation failed (exit code 1), logfile: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/log/py39-0.log
========================================================================================================================= log start =========================================================================================================================
py39 create: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39
py39 installdeps: -rrequirements-dev.txt
py39 inst: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/.tmp/package/4/structlog-sentry-logger-0.8.1.tar.gz
ERROR: invocation failed (exit code 1), logfile: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/log/py39-3.log
================================== log start ===================================
Processing ./.tox/.tmp/package/4/structlog-sentry-logger-0.8.1.tar.gz
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Requirement already satisfied: structlog-sentry<2.0.0,>=1.2.2 in ./.tox/py39/lib/python3.9/site-packages (from structlog-sentry-logger==0.8.1) (1.4.0)
Requirement already satisfied: python-dotenv<0.20,>=0.17 in ./.tox/py39/lib/python3.9/site-packages (from structlog-sentry-logger==0.8.1) (0.19.0)
Requirement already satisfied: orjson<4.0.0,>=3.4.0 in ./.tox/py39/lib/python3.9/site-packages (from structlog-sentry-logger==0.8.1) (3.6.0)
Requirement already satisfied: sentry-sdk>0.17.0 in ./.tox/py39/lib/python3.9/site-packages (from structlog-sentry-logger==0.8.1) (1.3.1)
Requirement already satisfied: structlog<22.0.0,>=21.1.0 in ./.tox/py39/lib/python3.9/site-packages (from structlog-sentry-logger==0.8.1) (21.1.0)
Requirement already satisfied: gitpython<4.0.0,>=3.1.7 in ./.tox/py39/lib/python3.9/site-packages (from structlog-sentry-logger==0.8.1) (3.1.20)
Requirement already satisfied: colorama<0.5.0,>=0.4.3 in ./.tox/py39/lib/python3.9/site-packages (from structlog-sentry-logger==0.8.1) (0.4.4)
Requirement already satisfied: typing-extensions>=3.7.4.3 in ./.tox/py39/lib/python3.9/site-packages (from gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (3.10.0.0)
Requirement already satisfied: gitdb<5,>=4.0.1 in ./.tox/py39/lib/python3.9/site-packages (from gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (4.0.7)
Requirement already satisfied: smmap<5,>=3.0.1 in ./.tox/py39/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->gitpython<4.0.0,>=3.1.7->structlog-sentry-logger==0.8.1) (4.0.0)
Requirement already satisfied: urllib3>=1.10.0 in ./.tox/py39/lib/python3.9/site-packages (from sentry-sdk>0.17.0->structlog-sentry-logger==0.8.1) (1.26.6)
Requirement already satisfied: certifi in ./.tox/py39/lib/python3.9/site-packages (from sentry-sdk>0.17.0->structlog-sentry-logger==0.8.1) (2021.5.30)
Building wheels for collected packages: structlog-sentry-logger
  Building wheel for structlog-sentry-logger (PEP 517): started
  Building wheel for structlog-sentry-logger (PEP 517): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/bin/python /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/tmpw6ymez8u
       cwd: /private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-req-build-1jxg8kqu
  Complete output (24 lines):
  Traceback (most recent call last):
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-req-build-1jxg8kqu/build.py", line 1, in <module>
      import mypyc.build
  ModuleNotFoundError: No module named 'mypyc'
  Traceback (most recent call last):
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 280, in <module>
      main()
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 204, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-6l34ekzj/overlay/lib/python3.9/site-packages/poetry/core/masonry/api.py", line 68, in build_wheel
      return unicode(WheelBuilder.make_in(poetry, Path(wheel_directory)))
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-6l34ekzj/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 72, in make_in
      wb.build()
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-6l34ekzj/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 99, in build
      self._build(zip_file)
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-6l34ekzj/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 125, in _build
      self._run_build_script(self._package.build_script)
    File "/private/var/folders/d5/r8mfrh4x6ds_2frcfd5jrwh40000gn/T/pip-build-env-6l34ekzj/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 175, in _run_build_script
      subprocess.check_call([self.executable.as_posix(), build_script])
    File "/Users/TeofiloZosa/.pyenv/versions/3.9.6/lib/python3.9/subprocess.py", line 373, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/bin/python', 'build.py']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for structlog-sentry-logger
Failed to build structlog-sentry-logger
ERROR: Could not build wheels for structlog-sentry-logger which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 21.1.3; however, version 21.2.2 is available.
You should consider upgrading via the '/Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/py39/bin/python -m pip install --upgrade pip' command.

=================================== log end ====================================

========================================================================================================================== log end ==========================================================================================================================
✖ FAIL py39 in 53.186 seconds
ERROR: invocation failed (exit code 1), logfile: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/coverage/log/coverage-0.log
========================================================================================================================= log start =========================================================================================================================
coverage create: /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/coverage
coverage installdeps: coverage[toml], diff_cover
coverage installed: chardet==4.0.0,coverage==5.5,diff-cover==6.2.1,importlib-metadata==4.6.3,inflect==5.3.0,Jinja2==3.0.1,jinja2-pluralize==0.3.0,MarkupSafe==2.0.1,pluggy==0.13.1,Pygments==2.9.0,toml==0.10.2,typing-extensions==3.10.0.0,zipp==3.5.0
coverage run-test-pre: PYTHONHASHSEED='1671211613'
coverage run-test: commands[0] | coverage combine /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox
No data to combine
ERROR: InvocationError for command /Users/TeofiloZosa/Developer/SonoSim/CorSAIR/utils/structlog-sentry-logger/.tox/coverage/bin/coverage combine .tox (exited with code 1)

========================================================================================================================== log end ==========================================================================================================================
✖ FAIL coverage in 7.967 seconds
__________________________________________________________________________________________________________________________ summary __________________________________________________________________________________________________________________________
ERROR:   py37: parallel child exit code 1
ERROR:   py38: parallel child exit code 1
ERROR:   py39: parallel child exit code 1
ERROR:   coverage: parallel child exit code 1
  package: commands succeeded
make: *** [test] Error 1
```
i.e., as opposed to sdists.
@TeoZosa TeoZosa added build Changes that affect the build system or external dependencies ci Changes to CI configuration files and scripts performance A code change that improves performance labels Aug 7, 2021
@TeoZosa TeoZosa self-assigned this Aug 7, 2021
@TeoZosa TeoZosa merged commit 1d32e0f into master Aug 7, 2021
@TeoZosa TeoZosa deleted the migrate-packaging-from-pure-python-to-mypyc-compiled-platform-specific-packages branch August 7, 2021 05:11
@TeoZosa TeoZosa added the enhancement New feature or request label Aug 7, 2021
TeoZosa added a commit that referenced this pull request Aug 7, 2021
…on-to-mypyc-compiled-platform-specific-packages

📦⚡️Compile Package Modules as C-Extensions via Mypyc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Changes that affect the build system or external dependencies ci Changes to CI configuration files and scripts enhancement New feature or request performance A code change that improves performance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant