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

Set Python 3.9 as minimum version #1544

Merged
merged 17 commits into from
Jan 10, 2025

Conversation

franciszekjob
Copy link
Collaborator

@franciszekjob franciszekjob commented Jan 8, 2025

Closes #

Introduced changes

  • Set Python 3.9 as minimum version
  • Add minor adjustments required by Poetry 2.0.0

  • This PR contains breaking changes

@@ -32,7 +32,6 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install poetry
poetry config installer.modern-installation false
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: This poetry installer config was added in https://github.com/software-mansion/starknet.py/pull/881/files, but it looks like we don't need it anymore, thanks to python-poetry/poetry#9392

Below is part of Poetry 2.0.0 changelog 👇
image

Comment on lines -49 to +48
poetry lock --check
poetry check --lock
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: poetry lock --check is deprecated, we should use poetry check --lock

pyproject.toml Outdated
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: These changes are needed because previous configuration was partially deprecated.

@franciszekjob franciszekjob marked this pull request as ready for review January 9, 2025 16:47
@franciszekjob franciszekjob changed the base branch from development to franciszekjob/bump-artifact-actions-to-v4 January 9, 2025 17:36
@franciszekjob franciszekjob changed the base branch from franciszekjob/bump-artifact-actions-to-v4 to development January 9, 2025 17:37
Comment on lines -128 to +126
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: Bumping because of soon v3 deprecation. I know we should bump it in separate PR, but then old poetry version would cause problems on CI.

"eth-keyfile>=0.8.1,<1.0.0"
]

[project.optional-dependencies]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For confirmation, the installation of optional dependencies works as before? i.e. poetry install -E docs

Copy link
Collaborator Author

@franciszekjob franciszekjob Jan 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, example below (couldn't capture it one screenshot):

➜  starknet.py git:(franciszekjob/1540-txs-deprecation) ✗ poetry install
Installing dependencies from lock file

Package operations: 60 installs, 0 updates, 0 removals

  - Installing idna (3.8)
  - Installing typing-extensions (4.12.2)
  - Installing packaging (24.1)
  - Installing toolz (1.0.0)
  - Installing cytoolz (1.0.1)
  - Installing eth-hash (0.7.0)
  - Installing eth-typing (5.0.1)
  - Installing platformdirs (4.2.2)
  - Installing six (1.16.0)
  - Installing eth-utils (5.1.0)
  - Installing frozenlist (1.5.0)
  - Installing iniconfig (2.0.0)
  - Installing mpmath (1.3.0)
  - Installing multidict (6.1.0)
  - Installing mypy-extensions (1.0.0)
  - Installing pluggy (1.5.0)
  - Installing propcache (0.2.1)
  - Installing setuptools (70.3.0)
  - Installing aiohappyeyeballs (2.4.4)
  - Installing aiosignal (1.3.2)
  - Installing astroid (3.2.4): Installing...
  - Installing attrs (24.3.0): Installing...
  - Installing click (8.1.7): Installing...
  - Installing coverage (7.6.1): Installing...
  - Installing dill (0.3.8): Installing...
  - Installing coverage (7.6.1): Installing...
  - Installing dill (0.3.8): Installing...
  - Installing click (8.1.7)
  - Installing coverage (7.6.1): Installing...
  - Installing dill (0.3.8): Installing...
  - Installing ecdsa (0.18.0): Installing...
  - Installing click (8.1.7)
  - Installing coverage (7.6.1): Installing...
  - Installing dill (0.3.8): Installing...
  - Installing ecdsa (0.18.0): Installing...
  - Installing attrs (24.3.0)
  - Installing click (8.1.7)
  - Installing coverage (7.6.1): Installing...
  - Installing dill (0.3.8): Installing...
  - Installing ecdsa (0.18.0): Installing...
  - Installing ecdsa (0.18.0)
  - Installing ecdsa (0.18.0)
  - Installing dill (0.3.8)
  - Installing ecdsa (0.18.0)
  - Installing dill (0.3.8)
  - Installing ecdsa (0.18.0)
  - Installing coverage (7.6.1)
  - Installing dill (0.3.8)
  - Installing ecdsa (0.18.0)
  - Installing attrs (24.3.0)
  - Installing click (8.1.7)
  - Installing coverage (7.6.1)
  - Installing dill (0.3.8)
  - Installing ecdsa (0.18.0)
  - Installing astroid (3.2.4)
  - Installing attrs (24.3.0)
  - Installing click (8.1.7)
  - Installing coverage (7.6.1)
  - Installing dill (0.3.8)
  - Installing ecdsa (0.18.0)
  - Installing eth-keys (0.6.0)
  - Installing execnet (2.1.1)
  - Installing isort (5.13.2)
  - Installing marshmallow (3.24.1)
  - Installing mccabe (0.7.0)
  - Installing nodeenv (1.9.1)
  - Installing pastel (0.2.1)
  - Installing pathspec (0.12.1)
  - Installing pycryptodome (3.20.0)
  - Installing pytest (8.3.2)
  - Installing sympy (1.12.1)
  - Installing tomli (2.0.1)
  - Installing tomlkit (0.13.2)
  - Installing typeguard (4.4.1)
  - Installing typing-inspect (0.9.0)
  - Installing yarl (1.18.3)
  - Installing aiohttp (3.11.11): Installing...
  - Installing asgiref (3.8.1): Installing...
  - Installing asgiref (3.8.1)
  - Installing asgiref (3.8.1)
  - Installing aiohttp (3.11.11)
  - Installing asgiref (3.8.1)
  - Installing black (24.8.0)
  - Installing crypto-cpp-py (1.4.5)
  - Installing eth-keyfile (0.8.1)
  - Installing lark (1.2.2)
  - Installing marshmallow-dataclass (8.7.1)
  - Installing marshmallow-oneofschema (3.1.1)
  - Installing poethepoet (0.27.0)
  - Installing poseidon-py (0.1.5)
  - Installing pylint (3.2.5)
  - Installing pyright (1.1.371)
  - Installing pytest-asyncio (0.21.2)
  - Installing pytest-cov (5.0.0)
  - Installing pytest-mock (3.14.0)
  - Installing pytest-rerunfailures (14.0)
  - Installing pytest-xdist (3.6.1)
  - Installing python-dotenv (1.0.1)

Installing the current project: starknet-py (0.24.3)
➜  starknet.py git:(franciszekjob/1540-txs-deprecation) ✗ poetry run pip freeze | grep -E "sphinx|enum-tools|furo"

➜  starknet.py git:(franciszekjob/1540-txs-deprecation) ✗ poetry install -E docs
Installing dependencies from lock file

Package operations: 45 installs, 0 updates, 0 removals

  - Installing certifi (2024.8.30)
  - Installing charset-normalizer (3.3.2)
  - Installing markupsafe (2.1.5)
  - Installing natsort (8.4.0)
  - Installing urllib3 (2.2.2)
  - Installing alabaster (0.7.13)
  - Installing babel (2.16.0)
  - Installing docutils (0.20.1)
  - Installing domdf-python-tools (3.9.0)
  - Installing imagesize (1.4.1)
  - Installing jinja2 (3.1.4)
  - Installing more-itertools (10.5.0)
  - Installing pygments (2.18.0)
  - Installing requests (2.32.3)
  - Installing snowballstemmer (2.2.0)
  - Installing sphinxcontrib-applehelp (1.0.4)
  - Installing sphinxcontrib-devhelp (1.0.2)
  - Installing sphinxcontrib-htmlhelp (2.0.1)
  - Installing sphinxcontrib-jsmath (1.0.1)
  - Installing sphinxcontrib-qthelp (1.0.3)
  - Installing sphinxcontrib-serializinghtml (1.1.5)
  - Installing apeye-core (1.1.5)
  - Installing cssutils (2.11.1)
  - Installing filelock (3.16.1)
  - Installing msgpack (1.1.0)
  - Installing ruamel-yaml-clib (0.2.12)
  - Installing soupsieve (2.6)
  - Installing sphinx (7.1.2)
  - Installing webencodings (0.5.1)
  - Installing apeye (1.4.1)
  - Installing autodocsumm (0.2.14)
  - Installing beautifulsoup4 (4.12.3)
  - Installing cachecontrol (0.14.2)
  - Installing dict2css (0.3.0.post1)
  - Installing html5lib (1.1)
  - Installing ruamel-yaml (0.18.10)
  - Installing sphinx-autodoc-typehints (2.0.1)
  - Installing sphinx-jinja2-compat (0.3.0)
  - Installing sphinx-prompt (1.8.0)
  - Installing sphinx-tabs (3.4.5)
  - Installing tabulate (0.9.0)
  - Installing sphinx-basic-ng (1.0.0b2)
  - Installing sphinx-toolbox (3.8.1)
  - Installing enum-tools (0.12.0)
  - Installing furo (2024.8.6)

Installing the current project: starknet-py (0.24.3)
➜  starknet.py git:(franciszekjob/1540-txs-deprecation) ✗ poetry run pip freeze | grep -E "sphinx|enum-tools|furo"

enum-tools==0.12.0
furo==2024.8.6
sphinx-autodoc-typehints==2.0.1
sphinx-basic-ng==1.0.0b2
sphinx-jinja2-compat==0.3.0
sphinx-prompt==1.8.0
sphinx-tabs==3.4.5
sphinx-toolbox==3.8.1
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
➜  starknet.py git:(franciszekjob/1540-txs-deprecation) ✗

@franciszekjob franciszekjob merged commit 3924089 into development Jan 10, 2025
10 checks passed
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

Successfully merging this pull request may close these issues.

2 participants