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

Fix pycontracts incompatibility with pyparsing v3 #255

Closed
adatzer opened this issue Oct 25, 2021 · 2 comments
Closed

Fix pycontracts incompatibility with pyparsing v3 #255

adatzer opened this issue Oct 25, 2021 · 2 comments

Comments

@adatzer
Copy link
Contributor

adatzer commented Oct 25, 2021

As discussed in this Discourse post, pycontracts v1.8, that the tracker depends on, is incompatible with the recently released pyparsing, because of the deprecated operatorPrecedence that was removed in pyparsing v3.
This means that in Python 3 environments, pyparsing v3 will be installed as an indirect dependency of the tracker, resulting in error.

@DigUpTheHatchet
Copy link

@adatzer Do you have an idea of what would be the best solution to resolve this issue?

@adatzer
Copy link
Contributor Author

adatzer commented Oct 26, 2021

Hi @DigUpTheHatchet , we've just opened #257 with a possible solution. Until then, another quick fix to consider is also described in the respective pycontracts' issue, that involves explicitly pinning pyparsing to an earlier version.

cpnat added a commit to kolonialno/snowplow-python-tracker that referenced this issue Nov 16, 2021
* Fix pycontracts incompatibility with pyparsing v3 (closes snowplow#255)

* Update python versions in run-tests script (closes snowplow#256)

* Prepare for release

* Removing deprecation text from readme

* Removing deprecation text from readme

Co-authored-by: adatzer <ada@snowplowanalytics.com>
cpnat added a commit to kolonialno/snowplow-python-tracker that referenced this issue Apr 5, 2022
* Fix pycontracts incompatibility with pyparsing v3 (closes snowplow#255)

* Update python versions in run-tests script (closes snowplow#256)

* Prepare for release

* Add Python 3.10 support (close snowplow#254)

PR snowplow#260

* Remove pycontracts library that wasn't compatible with Python 3.10
* Add Python type hints to all function arguments and return values
* Remove support for Python 2 due to the type hints
* Add custom contracts (e.g., non_empty_string) evaluated at the start of functions
* Run through Flake8 linter and correct style
* Remove Python 2 from Github action build
* Add Dockerfile for running tests under all supported Python versions

* Add configurable timeout for HTTP requests (close snowplow#258)

PR snowplow#259

* Prepare for release

* Increment version

Co-authored-by: adatzer <ada@snowplowanalytics.com>
Co-authored-by: Matúš Tomlein <matus.tomlein@gmail.com>
Co-authored-by: Deyan Deyanov <deyan@insurify.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants