From 129cf58d4168b9306e9c817cf43412311be81fe9 Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Mon, 20 May 2024 10:52:48 -0400 Subject: [PATCH] Bump deps for Py3.12, go PyQt6, tweak ruff rules Code base is already ported for `Qt6` so this removes the pyqt5 dep, adds latest pyqt6 as well as buncha other updates: - add `xonsh` and ptk as dev deps for those of us using wacky shells ;P - bump compiled deps as needed for python 3.12 (`numpy`, `numba`) - add `httpx` and drop `asks` since the latter is zombied and not compat with other libs on 3.12. - add `ruff` linting ignore rules for the new `.ui.qt` shim mod layer. - few other deps updates to latest versions. - add in the `keywords` and `classifiers` sections from the old `setup.py`. --- pyproject.toml | 98 ++++++++++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 43 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index efaf8336..c97841e3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,40 +20,31 @@ build-backend = "poetry.core.masonry.api" # ------ - ------ +[tool.ruff.lint] +# https://docs.astral.sh/ruff/settings/#lint_ignore +ignore = [] + +# https://docs.astral.sh/ruff/settings/#lint_per-file-ignores +"piker/ui/qt.py" = [ + "E402", + 'F401', # unused imports (without __all__ or blah as blah) + # "F841", # unused variable rules +] +# ignore-init-module-imports = false + +# ------ - ------ + [tool.poetry] name = "piker" version = "0.1.0.alpha0.dev0" description = "trading gear for hackers" -authors = ["Tyler Goodlet "] +authors = ["Tyler Goodlet "] license = "AGPLv3" readme = "README.rst" -# TODO: add meta-data from setup.py -# keywords=[ -# "async", -# "trading", -# "finance", -# "quant", -# "charting", -# ], -# classifiers=[ -# 'Development Status :: 3 - Alpha', -# 'License :: OSI Approved :: ', -# 'Operating System :: POSIX :: Linux', -# "Programming Language :: Python :: Implementation :: CPython", -# "Programming Language :: Python :: 3 :: Only", -# "Programming Language :: Python :: 3.10", -# "Programming Language :: Python :: 3.11", -# 'Intended Audience :: Financial and Insurance Industry', -# 'Intended Audience :: Science/Research', -# 'Intended Audience :: Developers', -# 'Intended Audience :: Education', -# ], - # ------ - ------ [tool.poetry.dependencies] -asks = "^3.0.0" async-generator = "^1.10" attrs = "^23.1.0" bidict = "^0.22.1" @@ -63,41 +54,40 @@ cython = "^3.0.0" greenback = "^1.1.1" ib-insync = "^0.9.86" msgspec = "^0.18.0" -numba = "^0.57.1" -numpy = "1.24" -pendulum = "^2.1.2" +numba = "^0.59.0" +numpy = "^1.25" polars = "^0.18.13" pygments = "^2.16.1" -python = "^3.10" +python = ">=3.11, <3.13" rich = "^13.5.2" # setuptools = "^68.0.0" tomli = "^2.0.1" tomli-w = "^1.0.0" -trio = "^0.22.2" trio-util = "^0.7.0" trio-websocket = "^0.10.3" typer = "^0.9.0" +rapidfuzz = "^3.5.2" +pdbp = "^1.5.0" +trio = "^0.24" +pendulum = "^3.0.0" +httpx = "^0.27.0" +[tool.poetry.dependencies.tractor] +develop = true +git = 'https://github.com/goodboy/tractor.git' +branch = 'asyncio_debugger_support' +# path = "../tractor" [tool.poetry.dependencies.asyncvnc] git = 'https://github.com/pikers/asyncvnc.git' branch = 'main' [tool.poetry.dependencies.tomlkit] +develop = true git = 'https://github.com/pikers/tomlkit.git' branch = 'piker_pin' -develop = true # path = "../tomlkit/" -[tool.poetry.dependencies.tractor] -git = 'https://github.com/goodboy/tractor.git' -branch = 'asyncio_debugger_support' -# branch = 'piker_pin' -develop = true -# path = '../tractor/' - -# ------ - ------ - [tool.poetry.group.uis] optional = true [tool.poetry.group.uis.dependencies] @@ -106,11 +96,10 @@ optional = true # rapidfuzz = {extras = ["speedup"], version = "^0.18.0"} rapidfuzz = "^3.2.0" qdarkstyle = ">=3.0.2" -pyqt5 = "^5.15.9" pyqtgraph = { git = 'https://github.com/pikers/pyqtgraph.git' } -pyqt6 = "^6.5.2" # ------ - ------ +pyqt6 = "^6.7.0" [tool.poetry.group.dev] optional = true @@ -118,6 +107,8 @@ optional = true # testing / CI pytest = "^6.0.0" elasticsearch = "^8.9.0" +xonsh = "^0.14.2" +prompt-toolkit = "3.0.40" # console ehancements and eventually remote debugging # extras/helpers. @@ -126,8 +117,6 @@ elasticsearch = "^8.9.0" # - xonsh + xxh # - rsyscall + pdbp # - actor runtime control console like BEAM/OTP -xonsh = "^0.14.0" # XXX: explicit env install for shell use w nix -prompt-toolkit = "^3.0.39" # ------ - ------ @@ -140,3 +129,26 @@ prompt-toolkit = "^3.0.39" piker = 'piker.cli:cli' pikerd = 'piker.cli:pikerd' ledger = 'piker.accounting.cli:ledger' + + +[project] +keywords=[ + "async", + "trading", + "finance", + "quant", + "charting", +] +classifiers=[ + 'Development Status :: 3 - Alpha', + "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", + 'Operating System :: POSIX :: Linux', + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + 'Intended Audience :: Financial and Insurance Industry', + 'Intended Audience :: Science/Research', + 'Intended Audience :: Developers', + 'Intended Audience :: Education', +]