-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
v6 Breaking Changes #1416
Comments
All custom web3 exceptions should inherit from Web3Exception. See #1478 |
The eth-utils and web3 |
Remove Infura auto provider logic from within web3 and make a template for new auto providers to use. See issue #1736 |
Not necessary to wait for v6. Support removed in #1791. |
v6 is a probably a good time to reflect on some client namespace topics, given:
|
Drop python 3.6 support. Python 3.6 will no longer be supported after 12/23/21. See: https://endoflife.date/python |
Remove camelCase methods in |
Move websockets dependency to 10.0+ which means we can get rid of loop argument deprecation warnings. Dependent on dropping python 3.6 |
Standardize default value for |
Add black |
It would be great to integrate [testenv:lint]
basepython=python3
skip_install = true
deps = pre-commit
commands=
pre-commit run --all-files --show-diff-on-failure instead of: [testenv:lint]
basepython=python
extras=linter
commands=
flake8 {toxinidir}/web3 {toxinidir}/ens {toxinidir}/ethpm {toxinidir}/tests --exclude {toxinidir}/ethpm/ethpm-spec
isort --recursive --check-only --diff {toxinidir}/web3/ {toxinidir}/ens/ {toxinidir}/ethpm/ {toxinidir}/tests/
mypy -p web3 -p ethpm -p ens --config-file {toxinidir}/mypy.ini And then add code formatters and fixers in the - repo: local
hooks:
- id: flake8
name: Check flake8 syntax
entry: flake8 web3 ens ethpm tests --exclude ethpm/ethpm-spec
pass_filenames: false
language: system
types: [python]
- id: isort
name: Sort imports alphabetically
entry: isort --recursive --check-only --diff web3 ens ethpm tests
pass_filenames: false
language: system
types: [python]
- id: mypy
name: Check mypy static types match
entry: mypy -p web3 -p ethpm -p ens --config-file mypy.ini
pass_filenames: false
language: system
types: [python] To add - id: black
name: Run black code formatter
entry: black ethpm --exclude ethpm/ethpm-spec web3 ens tests --check
pass_filenames: false
language: system
types: [python]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-json
- id: pretty-format-json
args: ['--autofix']
- id: debug-statements
- id: mixed-line-ending
args: ['--fix=lf']
description: Forces to replace line ending by the UNIX 'lf' character.
- id: forbid-new-submodules The good news is that these modifications are backward compatible with the current What do you think about adding |
@kclowes I made the change for buildTransaction build_transaction and estimateGas -> estimate_gas in the asyncify contract branch. I did deprecate the camelCase version but maybe since this is a move to v6 they could just be removed?? Also, I can take a pass at removing all the deprecated camelCase methods from geth and eth. |
Thank you so much, @dbfreem!
They can be removed in v6 (master), but we'll need to add a deprecation warning in the v5 branch for the camelCase version.
That would be great! I've been looking forward to getting that done! |
Could ConciseContract and ImplicitContract be removed as part of v6? |
Yes! Thanks for the reminder! |
Explore raising a web3 specific error message rather than |
Should parity be removed as part of v6? It doesn't have a DeprecationWarning saying that but the docs say that Parity will be removed in v6. If we remove it I am assuming like other things we would add the DeprecationWarning to v5 and remove in v6. Thoughts?? |
Remove version module. All methods are implemented elsewhere. |
#2629 - make ipfshttpclient opt-in |
I see all checkmarks here set 🎉🥳 |
I see that this is closed and Do you know when it will be? How is the procedure to decide when this will be? I'm very excited about it, as web3 is currently blocking one of my projects from moving to Python 3.11 😅 |
Hey @MartinThoma, we are in a code merge freeze and late testing phase just to make sure we don't need to make minor adjustments. If there are no complications, To clarify, what do you mean by |
Hey @fselmo, please can you publish the code-frozen Thanks! |
The code frozen version is up as |
Now that v5 stable is out, it's time to start collecting a list of breaking changes that we might like to see in v6. I'll update this issue as they come up.
Outstanding breaking tasks:
and make a template for new auto providers to use. See issue Autoprovider repo template #1736(Remove auto provider except for local geth dev #2706)SolidityError
in favor of the more genericContractLogicError
. See issue Remove SolidityError #1901ipfshhtpclient
an optional library / backend for ethpm #2730 which closes ipfshttpclient is unmaintained #2629)start_rpc
andstop_rpc
fromgeth.admin
module (see Remove deprecatedstart_rpc
andstop_rpc
fromw3.geth.admin
module #2731)apply_formatter_to_array
functions. See Standardizeapply_formatter_to_array
#1902ValueError
when method isn't available on the node: Raise custom exception instead of ValueError when a method is unavailable at the node #2448dict
toAttributeDict
conversion via middleware choice. See Typing of AttributeDict return values is broken #1656.shouldn't be breaking:
AsyncHTTPProvider
instantiation #2736web3/eth.py
into separate file. See Organize eth module as separate files #2753contract.py
into separate files. See reorganized contract #2567The text was updated successfully, but these errors were encountered: