Skip to content

Tags: uniswap-python/uniswap-python

Tags

v0.8.0

Toggle v0.8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
build(deps): bump minimum Python to 3.12, update deps, drop typed_ast (

…#473)

* build(deps): bump Python to 3.12, drop typed_ast and ruff-replaced linters

- Require Python ^3.12 (from ^3.7.2)
- Drop typing-extensions: Concatenate/ParamSpec now in stdlib typing (3.10+)
- Drop black and flake8: superseded by ruff (already in pre-commit config)
- Bump pytest ^6 → ^8, Sphinx * → ^9 (requires Python 3.12)
- Unpin pydata-sphinx-theme (sphinx-book-theme#711 long resolved)
- Drop allow-prereleases on web3 (stable 6.x line is sufficient)
- Loosen click ^8.0.3 → ^8
- Update build backend: poetry.masonry.api → poetry.core.masonry.api
- CI: test and typecheck jobs now use Python 3.12
- Move [tool.ruff] → [tool.ruff.lint] (deprecation fix)
- Silence unused _token_two variable (second-token approval was never wired up)

Note: web3 7.x upgrade deferred (major async-first rewrite, breaking API changes).

* ci: fix Poetry 2.x compat and bump docs to Python 3.12

- Remove deprecated 'installer.modern-installation' setting (removed in Poetry 2.0)
- Bump docs.yml from Python 3.8 to 3.12 to match the new package floor
  (Python 3.8 + cytoolz 0.12.1 failed to build via Cython under PEP 517)

* fix(makefile): replace flake8/black with ruff lint/format targets

flake8 and black were removed as direct dependencies in the Python 3.12 dep bump;
the Makefile still referenced them. Ruff already handles both roles.

* fix(deps): add explicit floors for Python 3.12-incompatible Cython packages

cytoolz 0.12.1, frozenlist 1.3.3, yarl 1.8.2, and multidict 6.0.4 all
declare python-versions=>=3.6 but have no pre-built cp312 wheels, causing
Cython compilation failures when installing under Python 3.12.

Add explicit minimum constraints in pyproject.toml so poetry resolves to
versions that ship cp312 wheels:
- cytoolz >=0.12.3  (locked to 1.1.0)
- frozenlist >=1.5.0  (locked to 1.8.0)
- multidict >=6.0.5  (locked to 6.7.1)
- yarl >=1.10.0  (locked to 1.24.5)

propcache 0.5.2 added as a new transitive dep from yarl 1.24.5.

* fix(deps): add aiohttp floor to unblock Python 3.12 CI

aiohttp 3.8.4 (transitive via web3) has no cp312 wheels and fails
to build from source on Python 3.12 — PyLongObject.ob_digit was
removed in 3.12. Added aiohttp = ">=3.9.0" (first release with
cp312 wheels) as a direct dependency constraint; poetry re-locked
to 3.14.3 which ships cp312 wheels.

This fixes all 6 failing CI jobs (build + 4 test matrix + typecheck).

* fix(deps): pin setuptools<82 and bump doc theme versions for Python 3.12 CI

Two independent CI failures after the Python 3.12 bump:

- Test/typecheck jobs: eth-keyfile (pulled in via web3->eth-account) still
  imports pkg_resources, which setuptools dropped starting in 82.0.0 (last
  shipped in 81.0.0). eth-account>=0.12 fixes this upstream but requires
  hexbytes>=1.2.0, which conflicts with web3 6.x's hexbytes<0.4.0 pin — that
  needs the (deliberately deferred) web3 7.x migration. Pin setuptools<82 as
  a stopgap; also floor typing-extensions>=4.12.0, since 4.5.0 crashes under
  Python 3.12.13's stricter TypeVar base-class check (docs build failure).

- Docs build: sphinx-book-theme was resolving to 0.0.11 (a 2020-era release,
  incompatible with Sphinx 9's theme API — missing 'get_edit_url'). Floor it
  to ^1.1, which also pulls a compatible pydata-sphinx-theme (0.20.0).
  Along the way, Sphinx 9 hard-fails on the old implicit-%s extlinks caption
  format ("issue #" -> "issue #%s").

Verified locally: full install, docs build (make html), pytest collection
(250 tests), and mypy --pretty all pass in an isolated poetry venv.

* fix(deps): add ruff as explicit dev dependency

Makefile lint/format targets call `poetry run ruff` but ruff was
absent from [tool.poetry.dev-dependencies]. A fresh `poetry install`
would succeed without it, making `make lint` fail immediately.

Lock file regenerated with Poetry 2.3.2 / Python 3.12.3.

Verified

This tag was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt

v0.7.1

Toggle v0.7.1's commit message

Verified

This commit was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt
ci: added release CI (uploads to PyPi)

Verified

This tag was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt

0.6.2

Toggle 0.6.2's commit message

Verified

This tag was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt
v0.6.2

0.6.1

Toggle 0.6.1's commit message

Verified

This tag was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt
v0.6.1

0.6.0

Toggle 0.6.0's commit message

Verified

This tag was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt
v0.6.0

0.5.5

Toggle 0.5.5's commit message

Verified

This tag was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt
v0.5.5

0.5.4

Toggle 0.5.4's commit message

Verified

This commit was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt
chore: release 0.5.4

0.5.3

Toggle 0.5.3's commit message

Verified

This tag was signed with the committer’s verified signature.
ErikBjare Erik Bjäreholt
Release 0.5.3