DataDog / dd-trace-py

Datadog Python APM Client
https://ddtrace.readthedocs.io/
Other
543 stars 411 forks source link

'bytecode' has no attribute 'BinaryOp' #5512

Closed esauser closed 1 year ago

esauser commented 1 year ago

Summary of problem

Which version of dd-trace-py are you using?

1.11.1

Which version of pip are you using?

22.3.1, but technically we're using poetry version 1.3.2

Which libraries and their versions are you using?

Since we're using poetry, pip freeze yields nothing. Including the output of poetry show.

`poetry show` aiohttp 3.8.4 Async http client/server framework (asyncio) aiohttp-retry 2.8.3 Simple retry client for aiohttp aiosignal 1.3.1 aiosignal: a list of registered asynchronous callbacks amqp 5.1.1 Low-level AMQP client for Python (fork of amqplib). analytics-python 1.4.0 The hassle-free way to integrate analytics into any python application. appnope 0.1.3 Disable App Nap on macOS >= 10.9 arabic-reshaper 3.0.0 Reconstruct Arabic sentences to be used in applications that do not support Arabic arrow 0.17.0 Better dates & times for Python asgiref 3.6.0 ASGI specs, helper code, and adapters asn1crypto 1.5.1 Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKC... astroid 2.15.0 An abstract syntax tree for Python with inference support. asttokens 2.2.1 Annotate AST trees with source code positions async-timeout 4.0.2 Timeout context manager for asyncio programs asyncio 3.4.3 reference implementation of PEP 3156 attrs 22.2.0 Classes Without Boilerplate azure-common 1.1.28 Microsoft Azure Client Library for Python (Common) azure-core 1.26.3 Microsoft Azure Core Library for Python azure-identity 1.12.0 Microsoft Azure Identity Library for Python azure-keyvault-secrets 4.7.0 Microsoft Azure Key Vault Secrets Client Library for Python azure-storage-blob 12.15.0 Microsoft Azure Blob Storage Client Library for Python backcall 0.2.0 Specifications for callback functions passed in to an API backoff 1.10.0 Function decoration for backoff and retry bcrypt 4.0.1 Modern password hashing for your software and your servers beautifulsoup4 4.11.2 Screen-scraping library billiard 3.6.4.0 Python multiprocessing fork with improvements and bugfixes black 23.3.0 The uncompromising code formatter. blinker 1.5 Fast, simple object-to-object and broadcast signaling boto 2.49.0 Amazon Web Services Library boto3 1.26.72 The AWS SDK for Python botocore 1.29.72 Low-level, data-driven core of boto 3. cachetools 5.3.0 Extensible memoizing collections and decorators celery 5.2.7 Distributed Task Queue. certifi 2022.12.7 Python package for providing Mozilla's CA Bundle. cffi 1.15.1 Foreign Function Interface for Python calling C code. chardet 5.1.0 Universal encoding detector for Python 3 charset-normalizer 3.0.1 The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. click 8.1.3 Composable command line interface toolkit click-didyoumean 0.3.0 Enables git-like *did-you-mean* feature in click click-plugins 1.1.1 An extension module for click to enable registering CLI commands via setuptools entry-points. click-repl 0.2.0 REPL plugin for Click codecov 2.1.12 Hosted coverage reports for GitHub, Bitbucket and Gitlab colorama 0.4.6 Cross-platform colored terminal text. coreapi 2.3.3 Python client library for Core API. coreschema 0.0.4 Core Schema. coverage 7.1.0 Code coverage measurement for Python cron-descriptor 1.2.35 A Python library that converts cron expressions into human readable strings. cryptography 39.0.1 cryptography is a package which provides cryptographic recipes and primitives to Python developers. cssselect2 0.7.0 CSS selectors for Python ElementTree decorator 5.1.1 Decorators for Humans deprecated 1.2.13 Python @deprecated decorator to deprecate old python classes, functions or methods. dill 0.3.6 serialize all of python dj-database-url 1.3.0 Use Database URLs in your Django Application. django 4.1.7 A high-level Python web framework that encourages rapid development and clean, pragmatic design. django-action-framework 1.5.0 Easily create actions and various interfaces around them. django-appconf 1.0.5 A helper class for handling configuration defaults of packaged apps gracefully. django-args 1.4.0 Django wrappers for python-args functions. django-bootstrap-datepicker-plus 5.0.3 Bootstrap3/Bootstrap4/Bootstrap5 DatePickerInput, TimePickerInput, DateTimePickerInput, MonthPickerInput, YearPickerInput django-bootstrap4 23.1 Bootstrap 4 for Django django-celery-beat 2.5.0 Database-backed Periodic Tasks. django-celery-results 2.5.0 Celery result backends for Django. django-chunkator 2.0.0 Chunk large QuerySets into small chunks, and iterate over them without killing your RAM. django-configurations 2.4 A helper for organizing Django settings. django-cors-headers 3.14.0 django-cors-headers is a Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS). django-cte 1.2.1 Common Table Expressions (CTE) for Django django-debug-toolbar 4.0.0 A configurable set of panels that display various debug information about the current request/response. django-dynamic-fixture 3.1.2 A full library to create dynamic model instances for testing purposes. django-extensions 3.2.1 Extensions for Django django-filter 23.1 Django-filter is a reusable Django application for allowing users to filter querysets dynamically. django-formtools 2.3 A set of high-level abstractions for Django forms django-fsm 2.8.1 Django friendly finite state machine support. django-guid 3.3.0 Middleware that enables single request-response cycle tracing by injecting a unique ID into project logs django-hosts 5.2 Dynamic and static host resolving for Django. Maps hostnames to URLconfs. django-ical 1.9.0 iCal feeds for Django based on Django's syndication feed framework. django-icons 23.1 Icons for Django django-ipware 5.0.0 A Django application to retrieve user's IP address django-mail-templated 2.6.5 Send emails using Django template system django-model-utils 4.3.1 Django model mixins and utilities django-oauth-toolkit 2.2.0 OAuth2 Provider for Django django-object-actions 4.1.0 A Django app for adding object tools for models in the admin django-pgbulk 1.3.0 Native postgres bulk update and upsert operations. django-pgclone 2.3.3 Dump and restore Postgres databases with Django. django-pgconnection 1.0.3 Route postgres connections and hook into cursor execution django-pghistory 2.6.0 History tracking for Django and Postgres django-pglocks 1.0.4 django_pglocks provides useful context managers for advisory locks for PostgreSQL. django-pgstats 1.0.8 Commands and models for tracking internal postgres stats. django-pgtrigger 4.6.0 Postgres trigger support integrated with Django models. django-pgviews 0.5.7 Create and manage Postgres SQL Views in Django django-recurrence 1.11.1 Django utility wrapping dateutil.rrule django-rest-swagger 2.2.0 Swagger UI for Django REST Framework 3.5+ django-s3direct 2.0.3 Add direct uploads to S3 functionality with a progress bar to file input fields. django-select2 8.1.0 This is a Django_ integration of Select2_. django-ses 3.3.0 A Django email backend for Amazon's Simple Email Service django-sslserver 0.22 An SSL-enabled development server for Django django-strict-fields 1.0.6 A collection of fields and utilities to help make model fields more strict. django-structlog 5.0.1 Structured Logging for Django django-tables2 2.5.2 Table/data-grid framework for Django django-timezone-field 5.0 A Django app providing DB, form, and REST framework fields for zoneinfo and pytz timezone objects. django-waffle 3.0.0 A feature flipper for Django. djangorestframework 3.14.0 Web APIs for Django, made easy. djangorestframework-gis 1.0 Geographic add-ons for Django Rest Framework djangorestframework-simplejwt 5.2.2 A minimal JSON Web Token authentication plugin for Django REST Framework drf-api-tracking 1.8.0 Utils to log Django Rest Framework requests to the database drf-dynamic-fields 0.4.0 Dynamically return subset of Django REST Framework serializer fields drf-nested-routers 0.93.4 Nested resources for the Django Rest Framework drf-proxy-pagination 0.2.0 Pagination class for Django REST Framework to choose pagination class by query parameter drf-tweaks 0.9.7 Set of tweaks for Django Rest Framework ecdsa 0.18.0 ECDSA cryptographic signature library (pure python) execnet 1.9.0 execnet: rapid multi-Python deployment executing 1.2.0 Get the currently executing AST node of a frame, and other information expiringdict 1.2.2 Dictionary with auto-expiring values for caching purposes factory-boy 3.2.1 A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby. faker 18.3.0 Faker is a Python package that generates fake data for you. fancycompleter 0.9.1 colorful TAB completion for Python prompt flake8 6.0.0 the modular source code checker: pep8 pyflakes and co flake8-import-order 0.18.2 Flake8 and pylama plugin that checks the ordering of import statements. freezegun 1.2.2 Let your Python tests travel through time frozenlist 1.3.3 A list-like structure which implements collections.abc.MutableSequence future 0.18.3 Clean single-source support for Python 3 and 2 geocoder 1.38.1 Geocoder is a simple and consistent geocoding library. geographiclib 2.0 The geodesic routines from GeographicLib geojson 3.0.1 Python bindings and utilities for GeoJSON geopy 2.3.0 Python Geocoding Toolbox google-api-core 2.11.0 Google API client core library google-api-python-client 2.84.0 Google API Client Library for Python google-auth 2.17.0 Google Authentication Library google-auth-httplib2 0.1.0 Google Authentication Library: httplib2 transport google-auth-oauthlib 1.0.0 Google Authentication Library googleapis-common-protos 1.58.0 Common protobufs used in Google APIs googlemaps 4.10.0 Python client library for Google Maps Platform gspread 5.8.0 Google Spreadsheets Python API gunicorn 20.1.0 WSGI HTTP Server for UNIX h3 3.7.6 Hierarchical hexagonal geospatial indexing system html5lib 1.1 HTML parser based on the WHATWG HTML specification httplib2 0.21.0 A comprehensive HTTP client library. icalendar 5.0.4 iCalendar parser/generator idna 3.4 Internationalized Domain Names in Applications (IDNA) imgix 4.0.0 Python client library for imgix. iniconfig 2.0.0 brain-dead simple config-ini parsing ipython 8.12.0 IPython: Productive Interactive Computing isodate 0.6.1 An ISO 8601 date/time/duration parser and formatter isort 5.12.0 A Python utility / library to sort Python imports. isoweek 1.3.3 Objects representing a week itypes 1.2.0 Simple immutable types for python. jedi 0.18.2 An autocompletion tool for Python that can be used for text editors. jinja2 3.1.2 A very fast and expressive template engine. jmespath 1.0.1 JSON Matching Expressions jsonschema 4.17.3 An implementation of JSON Schema validation for Python junitparser 2.8.0 Manipulates JUnit/xUnit Result XML files jwcrypto 1.4.2 Implementation of JOSE Web standards kombu 5.2.4 Messaging library for Python. lazy-object-proxy 1.9.0 A fast and thorough lazy object proxy. ldclient-py 6.9.1 LaunchDarkly SDK for Python line-profiler 4.0.2 Line-by-line profiler lxml 4.9.2 Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. markupsafe 2.1.2 Safely add untrusted strings to HTML/XML markup. matplotlib-inline 0.1.6 Inline Matplotlib backend for Jupyter mccabe 0.7.0 McCabe checker, plugin for flake8 monotonic 1.6 An implementation of time.monotonic() for Python 2 & < 3.3 moto 4.1.2 msal 1.21.0 The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authen... msal-extensions 1.0.0 Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Win... multidict 6.0.4 multidict implementation mypy-extensions 1.0.0 Type system extensions for programs checked with the mypy type checker. nplusone 1.0.0 Detecting the n+1 queries problem in Python numpy 1.24.2 Fundamental package for array computing in Python oauthlib 3.2.2 A generic, spec-compliant, thorough implementation of the OAuth request-signing logic openapi-codec 1.3.2 An OpenAPI codec for Core API. oscrypto 1.3.0 TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not ... packaging 23.0 Core utilities for Python packages paramiko 3.0.0 SSH2 protocol library parso 0.8.3 A Python Parser pathspec 0.11.0 Utility library for gitignore style pattern matching of file paths. pdbpp 0.10.3 pdb++, a drop-in replacement for pdb pendulum 2.1.2 Python datetimes made easy pep8 1.7.1 Python style guide checker pexpect 4.8.0 Pexpect allows easy control of interactive console applications. phonenumbers 8.13.6 Python version of Google's common library for parsing, formatting, storing and validating international phone numbers. pickleshare 0.7.5 Tiny 'shelve'-like database with concurrency support piexif 1.1.3 To simplify exif manipulations with python. Writing, reading, and more... pillow 9.5.0 Python Imaging Library (Fork) pkce 1.0.3 PKCE Pyhton generator. platformdirs 3.0.0 A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir". pluggy 1.0.0 plugin and hook calling mechanisms for python portalocker 2.7.0 Wraps the portalocker recipe for easy usage prompt-toolkit 3.0.36 Library for building powerful interactive command lines in Python protobuf 4.22.0 psycopg2-binary 2.9.5 psycopg2 - Python-PostgreSQL Database Adapter ptyprocess 0.7.0 Run a subprocess in a pseudo terminal pudb 2022.1.3 A full-screen, console-based Python debugger pure-eval 0.2.2 Safely evaluate AST nodes without side effects pyasn1 0.4.8 ASN.1 types and codecs pyasn1-modules 0.2.8 A collection of ASN.1-based protocols modules. pycodestyle 2.10.0 Python style guide checker pycparser 2.21 C parser in Python pydantic 1.10.5 Data validation and settings management using python type hints pyflakes 3.0.1 passive checker of Python programs pygments 2.14.0 Pygments is a syntax highlighting package written in Python. pyhanko 0.17.0 Tools for stamping and signing PDF files pyhanko-certvalidator 0.20.0 Validates X.509 certificates and paths; forked from wbond/certvalidator pyjwt 2.6.0 JSON Web Token implementation in Python pylint 2.17.0 python code static checker pymsteams 0.2.2 Format messages and post to Microsoft Teams. pynacl 1.5.0 Python binding to the Networking and Cryptography (NaCl) library pyparsing 3.0.9 pyparsing module - Classes and methods to define and execute parsing grammars pypdf 3.4.1 A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files pypng 0.20220715.0 Pure Python library for saving and loading PNG images pyrepl 0.9.0 A library for building flexible command line interfaces pyrfc3339 1.1 Generate and parse RFC 3339 timestamps pyrsistent 0.19.3 Persistent/Functional/Immutable data structures pysftp 0.2.9 A friendly face on SFTP pytest 7.2.1 pytest: simple powerful testing with Python pytest-cov 4.0.0 Pytest plugin for measuring coverage. pytest-django 4.5.2 A Django plugin for pytest. pytest-django-ordering 1.2.0 A pytest plugin for preserving the order in which Django runs tests. pytest-dotenv 0.5.2 A py.test plugin that parses environment files before running tests pytest-json 0.4.0 Generate JSON test reports pytest-lazy-fixture 0.6.3 It helps to use fixtures in pytest.mark.parametrize pytest-mock 3.10.0 Thin-wrapper around the mock package for easier use with pytest pytest-repeat 0.9.1 pytest plugin for repeating tests pytest-responses 0.5.1 py.test integration for responses pytest-socket 0.6.0 Pytest Plugin to disable socket calls during tests pytest-xdist 3.2.0 pytest xdist plugin for distributed testing, most importantly across multiple CPUs python-args 1.0.2 Python argument design patterns in a composable interface. python-bidi 0.4.2 Pure python implementation of the BiDi layout algorithm python-crontab 2.7.1 Python Crontab API python-dateutil 2.8.2 Extensions to the standard Python datetime module python-dotenv 1.0.0 Read key-value pairs from a .env file and set them as environment variables python-jose 3.3.0 JOSE implementation in Python python-json-logger 2.0.7 A python library adding a json log formatter pytz 2023.3 World timezone definitions, modern and historical pytz-deprecation-shim 0.1.0.post0 Shims to make deprecation of pytz easier pytzdata 2020.1 The Olson timezone database for Python. pyyaml 6.0 YAML parser and emitter for Python qrcode 7.4.2 QR Code image generator ratelim 0.1.6 Makes it easy to respect rate limits. redis 4.5.4 Python client for Redis database and key-value store reportlab 3.6.12 The Reportlab Toolkit requests 2.28.2 Python HTTP for Humans. requests-oauthlib 1.3.1 OAuthlib authentication support for Requests. responses 0.22.0 A utility library for mocking out the `requests` Python library. rollbar 0.16.3 Easy and powerful exception tracking with Rollbar. Send messages and exceptions with arbitrary context, get back aggregates, and d... rsa 4.9 Pure-Python RSA implementation s3transfer 0.6.0 An Amazon S3 Transfer Manager scipy 1.10.0 Fundamental algorithms for scientific computing in Python semver 2.13.0 Python helper for Semantic Versioning (http://semver.org/) setuptools 67.3.2 Easily download, build, install, upgrade, and uninstall Python packages simplejson 3.18.3 Simple, fast, extensible JSON encoder/decoder for Python six 1.16.0 Python 2 and 3 compatibility utilities slackclient 2.9.4 Slack API clients for Web API and RTM API (Legacy) - Please use https://pypi.org/project/slack-sdk/ instead. smartystreets-python-sdk 4.11.12 An official library to help Python developers easily access the SmartyStreets APIs soupsieve 2.4 A modern CSS selector implementation for Beautiful Soup. sqlparse 0.4.3 A non-validating SQL parser. stack-data 0.6.2 Extract data from python stack frames and tracebacks for informative displays stringcase 1.2.0 String case converter. structlog 22.3.0 Structured Logging for Python svglib 1.5.1 A pure-Python library for reading and converting SVG tablib 3.4.0 Format agnostic tabular data library (XLS, JSON, YAML, CSV, etc.) timezonefinder 6.2.0 fast python package for finding the timezone of any point on earth (coordinates) offline tinycss2 1.2.1 A tiny CSS parser toml 0.10.2 Python Library for Tom's Obvious, Minimal Language tomlkit 0.11.6 Style preserving TOML library tqdm 4.65.0 Fast, Extensible Progress Meter traitlets 5.9.0 Traitlets Python configuration system twilio 8.0.0 Twilio API client and TwiML generator types-toml 0.10.8.4 Typing stubs for toml typing-extensions 4.5.0 Backported and Experimental Type Hints for Python 3.7+ tzdata 2022.7 Provider of IANA time zone data tzlocal 4.2 tzinfo object for the local timezone uritemplate 4.1.1 Implementation of RFC 6570 URI Templates uritools 4.0.1 URI parsing, classification and composition urllib3 1.26.14 HTTP library with thread-safe connection pooling, file post, and more. urwid 2.1.2 A full-featured console (xterm et al.) user interface library urwid-readline 0.13 A textbox edit widget for urwid that supports readline shortcuts vine 5.0.0 Promises, promises, promises. wcwidth 0.2.6 Measures the displayed width of unicode strings in a terminal webencodings 0.5.1 Character encoding aliases for legacy web content werkzeug 2.2.3 The comprehensive WSGI web application library. whitenoise 6.4.0 Radically simplified static file serving for WSGI applications wmctrl 0.4 A tool to programmatically control windows inside X wrapt 1.14.1 Module for decorators, wrappers and monkey patching. xhtml2pdf 0.2.9 PDF generator using HTML and CSS xlrd 2.0.1 Library for developers to extract data from Microsoft Excel (tm) .xls spreadsheet files xlwt 1.3.0 Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform, with Python 2.6, 2.7, 3.3+ xmltodict 0.13.0 Makes working with XML feel like you are working with JSON yarl 1.8.2 Yet another URL library

You'll notice that dd-trace-py is not included above. That is because we're using the admission controller to inject all the things at runtime. Since the container is failing to start, it dies instantly and I can't get on there to run the commands from there post injection. If you need those, I can try to add a sleep allowing me time to get one.

How can we reproduce your problem?

Short of having our project with the admission controller annotations I'm not sure what's causing it. I suspect there is an incompatibility at some level or an issue with the injection.

What is the result that you get?

We are seeing the following error when our application starts.

datadog autoinstrumentation: ddtrace successfully installed
datadog autoinstrumentation: ddtrace successfully installed
Skipping virtualenv creation, as specified in config file.
datadog autoinstrumentation: ddtrace successfully installed
datadog autoinstrumentation: ddtrace successfully installed
[2023-04-10 14:53:25 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2023-04-10 14:53:25 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2023-04-10 14:53:25 +0000] [1] [INFO] Using worker: gthread
[2023-04-10 14:53:25 +0000] [18] [INFO] Booting worker with pid: 18
[2023-04-10 14:53:25 +0000] [18] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.11/site-packages/gunicorn/workers/gthread.py", line 89, in init_process
    self.tpool = self.get_thread_pool()
                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/gunicorn/workers/gthread.py", line 96, in get_thread_pool
    return futures.ThreadPoolExecutor(max_workers=self.cfg.threads)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/__init__.py", line 49, in __getattr__
    from .thread import ThreadPoolExecutor as te
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "/datadog-lib/ddtrace_pkgs/ddtrace/vendor/wrapt/importer.py", line 177, in _exec_module
    notify_module_loaded(module)
  File "/datadog-lib/ddtrace_pkgs/ddtrace/vendor/wrapt/decorators.py", line 470, in _synchronized
    return wrapped(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/datadog-lib/ddtrace_pkgs/ddtrace/vendor/wrapt/importer.py", line 136, in notify_module_loaded
    hook(module)
  File "/datadog-lib/ddtrace_pkgs/ddtrace/_monkey.py", line 158, in on_import
    imported_module.patch()
  File "/datadog-lib/ddtrace_pkgs/ddtrace/contrib/futures/patch.py", line 26, in patch
    _w(thread.ThreadPoolExecutor.submit, _wrap_submit)
  File "/datadog-lib/ddtrace_pkgs/ddtrace/internal/wrapping.py", line 443, in wrap
    code = wrap_bytecode(wrapper, wrapped)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/datadog-lib/ddtrace_pkgs/ddtrace/internal/wrapping.py", line 342, in wrap_bytecode
    else Instr("BINARY_OP", b.BinaryOp.ADD, lineno=lineno),
                            ^^^^^^^^^^
AttributeError: module 'bytecode' has no attribute 'BinaryOp'

The command we're running is: poetry run gunicorn config.wsgi --config gunicorn.conf.py --bind 0.0.0.0:8000

What is the result that you expected?

Expected the app to boot (just as it does without injection) and send APM data to Datadog.

esauser commented 1 year ago

This issue is occurring because the version of bytecode injected by the admission controller does not contain a definition for BinaryOp. It seems to have some older version of the dependency.

P403n1x87 commented 1 year ago

The BinaryOp enum was introduced in version 0.14.0 of the bytecode library. We need this version to provide support for Python 3.11, so I'm afraid I currently do not see an alternative to ensuring that the admission controller can get access to the latest release of this particular dependency. @esauser Is this something that you would be able to do on your end?

tjarratt-backmarket commented 1 year ago

I'm still seeing this behavior even in release 1.12.1 (version 1.11.3 was never published, so I can't easily test that version).

@esauser have you tried release 1.12.1 ? Does that fix the issue for you, or are you still seeing the same error with module 'byte code' has no attribute 'BinaryOp' ?

edit : I figured out what the problem was. We had another dependency that pinned bytecode to v0.13, which didn't work with version 1.12.1. Fixing that dependency and updating bytecode along with it solved this problem for me 🎉

esauser commented 1 year ago

@tjarratt-backmarket we're good on 12.1.0.