Compare commits
	
		
			11 Commits 
		
	
	
		
			e75ea473fa
			...
			f4a53b157f
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | f4a53b157f | |
|  | 6c438a20e7 | |
|  | 8e0c1ec31b | |
|  | dcba69e1e9 | |
|  | 1dd8ebf2f8 | |
|  | 16480bd2d4 | |
|  | 733b58250f | |
|  | 564cd63014 | |
|  | 17249205c9 | |
|  | b646133ead | |
|  | cb436048d2 | 
							
								
								
									
										148
									
								
								default.nix
								
								
								
								
							
							
						
						
									
										148
									
								
								default.nix
								
								
								
								
							|  | @ -1,130 +1,82 @@ | ||||||
| with (import <nixpkgs> {}); | with (import <nixpkgs> {}); | ||||||
|  | with python312Packages; | ||||||
| let | let | ||||||
|   glibStorePath = lib.getLib glib; |   glibStorePath = lib.getLib glib; | ||||||
|   zstdStorePath = lib.getLib zstd; |   qtpyStorePath = lib.getLib qtpy; | ||||||
|   dbusStorePath = lib.getLib dbus; |   pyqt6StorePath = lib.getLib pyqt6; | ||||||
|   libGLStorePath = lib.getLib libGL; |   pyqt6SipStorePath = lib.getLib pyqt6-sip; | ||||||
|   freetypeStorePath = lib.getLib freetype; |  | ||||||
|   qt6baseStorePath = lib.getLib qt6.qtbase; |   qt6baseStorePath = lib.getLib qt6.qtbase; | ||||||
|   fontconfigStorePath = lib.getLib fontconfig; |   rapidfuzzStorePath = lib.getLib rapidfuzz; | ||||||
|   libxkbcommonStorePath = lib.getLib libxkbcommon; |   qdarkstyleStorePath = lib.getLib qdarkstyle; | ||||||
|   xcbutilcursorStorePath = lib.getLib xcb-util-cursor; |  | ||||||
| 
 |  | ||||||
|   qtpyStorePath = lib.getLib python312Packages.qtpy; |  | ||||||
|   pyqt6StorePath = lib.getLib python312Packages.pyqt6; |  | ||||||
|   pyqt6SipStorePath = lib.getLib python312Packages.pyqt6-sip; |  | ||||||
|   rapidfuzzStorePath = lib.getLib python312Packages.rapidfuzz; |  | ||||||
|   qdarkstyleStorePath = lib.getLib python312Packages.qdarkstyle; |  | ||||||
| 
 |  | ||||||
|   xorgLibX11StorePath = lib.getLib xorg.libX11; |  | ||||||
|   xorgLibxcbStorePath = lib.getLib xorg.libxcb; |  | ||||||
|   xorgxcbutilwmStorePath = lib.getLib xorg.xcbutilwm; |  | ||||||
|   xorgxcbutilimageStorePath = lib.getLib xorg.xcbutilimage; |  | ||||||
|   xorgxcbutilerrorsStorePath = lib.getLib xorg.xcbutilerrors; |  | ||||||
|   xorgxcbutilkeysymsStorePath = lib.getLib xorg.xcbutilkeysyms; |  | ||||||
|   xorgxcbutilrenderutilStorePath = lib.getLib xorg.xcbutilrenderutil; |  | ||||||
| in | in | ||||||
| stdenv.mkDerivation { | stdenv.mkDerivation { | ||||||
|   name = "piker-qt6-uv"; |   name = "piker-qt6-poetry-shell"; | ||||||
|   buildInputs = [ |   buildInputs = [ | ||||||
|     # System requirements. |     # System requirements. | ||||||
|     glib |     glib | ||||||
|     dbus |  | ||||||
|     zstd |  | ||||||
|     libGL |  | ||||||
|     freetype |  | ||||||
|     qt6.qtbase |     qt6.qtbase | ||||||
|     libgcc.lib |     libgcc.lib | ||||||
|     fontconfig |  | ||||||
|     libxkbcommon |  | ||||||
| 
 |  | ||||||
|     # Xorg requirements |  | ||||||
|     xcb-util-cursor |  | ||||||
|     xorg.libxcb |  | ||||||
|     xorg.libX11 |  | ||||||
|     xorg.xcbutilwm |  | ||||||
|     xorg.xcbutilimage |  | ||||||
|     xorg.xcbutilerrors |  | ||||||
|     xorg.xcbutilkeysyms |  | ||||||
|     xorg.xcbutilrenderutil |  | ||||||
| 
 | 
 | ||||||
|     # Python requirements. |     # Python requirements. | ||||||
|     python312Full |     python312Full | ||||||
|     python312Packages.uv |     poetry-core | ||||||
|     python312Packages.qdarkstyle |     qdarkstyle | ||||||
|     python312Packages.rapidfuzz |     rapidfuzz | ||||||
|     python312Packages.pyqt6 |     pyqt6 | ||||||
|     python312Packages.qtpy |     qtpy | ||||||
|   ]; |   ]; | ||||||
|   src = null; |   src = null; | ||||||
|   shellHook = '' |   shellHook = '' | ||||||
|     set -e |     set -e | ||||||
| 
 | 
 | ||||||
|  |     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${libgcc.lib}/lib:${glibStorePath}/lib | ||||||
|  | 
 | ||||||
|     # Set the Qt plugin path |     # Set the Qt plugin path | ||||||
|     # export QT_DEBUG_PLUGINS=1 |     # export QT_DEBUG_PLUGINS=1 | ||||||
| 
 | 
 | ||||||
|     QTBASE_PATH="${qt6baseStorePath}/lib" |     QTBASE_PATH="${qt6baseStorePath}" | ||||||
|     QT_PLUGIN_PATH="$QTBASE_PATH/qt-6/plugins" |     echo "qtbase path:    $QTBASE_PATH" | ||||||
|     QT_QPA_PLATFORM_PLUGIN_PATH="$QT_PLUGIN_PATH/platforms" |     echo "" | ||||||
|  |     export QT_PLUGIN_PATH="$QTBASE_PATH/lib/qt-6/plugins" | ||||||
|  |     export QT_QPA_PLATFORM_PLUGIN_PATH="$QT_PLUGIN_PATH/platforms" | ||||||
|  |     echo "qt plugin path: $QT_PLUGIN_PATH" | ||||||
|  |     echo "" | ||||||
| 
 | 
 | ||||||
|     LIB_GCC_PATH="${libgcc.lib}/lib" |     # Maybe create venv & install deps | ||||||
|     GLIB_PATH="${glibStorePath}/lib" |     poetry install --with uis | ||||||
|     ZSTD_PATH="${zstdStorePath}/lib" |  | ||||||
|     DBUS_PATH="${dbusStorePath}/lib" |  | ||||||
|     LIBGL_PATH="${libGLStorePath}/lib" |  | ||||||
|     FREETYPE_PATH="${freetypeStorePath}/lib" |  | ||||||
|     FONTCONFIG_PATH="${fontconfigStorePath}/lib" |  | ||||||
|     LIB_XKB_COMMON_PATH="${libxkbcommonStorePath}/lib" |  | ||||||
| 
 | 
 | ||||||
|     XCB_UTIL_CURSOR_PATH="${xcbutilcursorStorePath}/lib" |     # Use pyqt6 from System, patch activate script | ||||||
|     XORG_LIB_X11_PATH="${xorgLibX11StorePath}/lib" |     ACTIVATE_SCRIPT_PATH="$(poetry env info --path)/bin/activate" | ||||||
|     XORG_LIB_XCB_PATH="${xorgLibxcbStorePath}/lib" |  | ||||||
|     XORG_XCB_UTIL_IMAGE_PATH="${xorgxcbutilimageStorePath}/lib" |  | ||||||
|     XORG_XCB_UTIL_WM_PATH="${xorgxcbutilwmStorePath}/lib" |  | ||||||
|     XORG_XCB_UTIL_RENDER_UTIL_PATH="${xorgxcbutilrenderutilStorePath}/lib" |  | ||||||
|     XORG_XCB_UTIL_KEYSYMS_PATH="${xorgxcbutilkeysymsStorePath}/lib" |  | ||||||
|     XORG_XCB_UTIL_ERRORS_PATH="${xorgxcbutilerrorsStorePath}/lib" |  | ||||||
| 
 | 
 | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$QTBASE_PATH" |     export RPDFUZZ_PATH="${rapidfuzzStorePath}/lib/python3.12/site-packages" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$QT_PLUGIN_PATH" |     export QDRKSTYLE_PATH="${qdarkstyleStorePath}/lib/python3.12/site-packages" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$QT_QPA_PLATFORM_PLUGIN_PATH" |     export QTPY_PATH="${qtpyStorePath}/lib/python3.12/site-packages" | ||||||
|  |     export PYQT6_PATH="${pyqt6StorePath}/lib/python3.12/site-packages" | ||||||
|  |     export PYQT6_SIP_PATH="${pyqt6SipStorePath}/lib/python3.12/site-packages" | ||||||
|  |     echo "rapidfuzz at:   $RPDFUZZ_PATH" | ||||||
|  |     echo "qdarkstyle at:  $QDRKSTYLE_PATH" | ||||||
|  |     echo "qtpy at:        $QTPY_PATH"  | ||||||
|  |     echo "pyqt6 at:       $PYQT6_PATH" | ||||||
|  |     echo "pyqt6-sip at:   $PYQT6_SIP_PATH" | ||||||
|  |     echo "" | ||||||
| 
 | 
 | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_GCC_PATH" |     PATCH="export PYTHONPATH=\"" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DBUS_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GLIB_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ZSTD_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIBGL_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$FONTCONFIG_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$FREETYPE_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_XKB_COMMON_PATH" |  | ||||||
| 
 | 
 | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XCB_UTIL_CURSOR_PATH" |     PATCH="$PATCH\$RPDFUZZ_PATH" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_LIB_X11_PATH" |     PATCH="$PATCH:\$QDRKSTYLE_PATH" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_LIB_XCB_PATH" |     PATCH="$PATCH:\$QTPY_PATH" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_IMAGE_PATH" |     PATCH="$PATCH:\$PYQT6_PATH" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_WM_PATH" |     PATCH="$PATCH:\$PYQT6_SIP_PATH" | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_RENDER_UTIL_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_KEYSYMS_PATH" |  | ||||||
|     LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_ERRORS_PATH" |  | ||||||
| 
 | 
 | ||||||
|     export LD_LIBRARY_PATH |     PATCH="$PATCH\"" | ||||||
| 
 | 
 | ||||||
|     RPDFUZZ_PATH="${rapidfuzzStorePath}/lib/python3.12/site-packages" |     if grep -q "$PATCH" "$ACTIVATE_SCRIPT_PATH"; then | ||||||
|     QDRKSTYLE_PATH="${qdarkstyleStorePath}/lib/python3.12/site-packages" |         echo "venv is already patched." | ||||||
|     QTPY_PATH="${qtpyStorePath}/lib/python3.12/site-packages" |     else | ||||||
|     PYQT6_PATH="${pyqt6StorePath}/lib/python3.12/site-packages" |         echo "patching $ACTIVATE_SCRIPT_PATH to use pyqt6 from nixos..." | ||||||
|     PYQT6_SIP_PATH="${pyqt6SipStorePath}/lib/python3.12/site-packages" |         sed -i "\$i$PATCH" $ACTIVATE_SCRIPT_PATH | ||||||
| 
 |     fi | ||||||
|     PATCH="$PATCH:$RPDFUZZ_PATH" |  | ||||||
|     PATCH="$PATCH:$QDRKSTYLE_PATH" |  | ||||||
|     PATCH="$PATCH:$QTPY_PATH" |  | ||||||
|     PATCH="$PATCH:$PYQT6_PATH" |  | ||||||
|     PATCH="$PATCH:$PYQT6_SIP_PATH" |  | ||||||
| 
 |  | ||||||
|     export PATCH |  | ||||||
| 
 |  | ||||||
|     # Install deps |  | ||||||
|     uv lock |  | ||||||
| 
 | 
 | ||||||
|  |     poetry shell | ||||||
|   ''; |   ''; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										197
									
								
								pyproject.toml
								
								
								
								
							
							
						
						
									
										197
									
								
								pyproject.toml
								
								
								
								
							|  | @ -15,8 +15,8 @@ | ||||||
| # You should have received a copy of the GNU Affero General Public License | # You should have received a copy of the GNU Affero General Public License | ||||||
| # along with this program.  If not, see <https://www.gnu.org/licenses/>. | # along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
| [build-system] | [build-system] | ||||||
| requires = ["hatchling"] | requires = ["poetry-core"] | ||||||
| build-backend = "hatchling.build" | build-backend = "poetry.core.masonry.api" | ||||||
| 
 | 
 | ||||||
| # ------ - ------ | # ------ - ------ | ||||||
| 
 | 
 | ||||||
|  | @ -34,14 +34,102 @@ ignore = [] | ||||||
| 
 | 
 | ||||||
| # ------ - ------ | # ------ - ------ | ||||||
| 
 | 
 | ||||||
| [project] | [tool.poetry] | ||||||
| name = "piker" | name = "piker" | ||||||
| version = "0.1.0a0dev0" | version = "0.1.0.alpha0.dev0" | ||||||
| description = "trading gear for hackers" | description = "trading gear for hackers" | ||||||
| authors = [{ name = "Tyler Goodlet", email = "goodboy_foss@protonmail.com" }] | authors = ["Tyler Goodlet <goodboy_foss@protonmail.com>"] | ||||||
| requires-python = ">=3.12, <3.13" | license = "AGPLv3" | ||||||
| license = "AGPL-3.0-or-later" |  | ||||||
| readme = "README.rst" | readme = "README.rst" | ||||||
|  | 
 | ||||||
|  | # ------ - ------ | ||||||
|  | 
 | ||||||
|  | [tool.poetry.dependencies] | ||||||
|  | async-generator = "^1.10" | ||||||
|  | attrs = "^23.1.0" | ||||||
|  | bidict = "^0.22.1" | ||||||
|  | colorama = "^0.4.6" | ||||||
|  | colorlog = "^6.7.0" | ||||||
|  | ib-insync = "^0.9.86" | ||||||
|  | msgspec = "^0.18.6" | ||||||
|  | numba = "^0.59.0" | ||||||
|  | numpy = "^1.25" | ||||||
|  | polars = "^0.18.13" | ||||||
|  | pygments = "^2.16.1" | ||||||
|  | python = ">=3.11, <3.13" | ||||||
|  | rich = "^13.5.2" | ||||||
|  | # setuptools = "^68.0.0" | ||||||
|  | tomli = "^2.0.1" | ||||||
|  | tomli-w = "^1.0.0" | ||||||
|  | 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" | ||||||
|  | cryptofeed = "^2.4.0" | ||||||
|  | pyarrow = "^17.0.0" | ||||||
|  | 
 | ||||||
|  | tractor = {path = "../tractor", develop = true} | ||||||
|  | websockets = "12.0" | ||||||
|  | [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' | ||||||
|  | # path = "../tomlkit/" | ||||||
|  | 
 | ||||||
|  | [tool.poetry.group.uis] | ||||||
|  | optional = true | ||||||
|  | [tool.poetry.group.uis.dependencies] | ||||||
|  | # https://python-poetry.org/docs/managing-dependencies/#dependency-groups | ||||||
|  | # TODO: make sure the levenshtein shit compiles on nix.. | ||||||
|  | # rapidfuzz = {extras = ["speedup"], version = "^0.18.0"} | ||||||
|  | rapidfuzz = "^3.2.0" | ||||||
|  | qdarkstyle = ">=3.0.2" | ||||||
|  | pyqtgraph = { git = 'https://github.com/pikers/pyqtgraph.git' } | ||||||
|  | 
 | ||||||
|  | # ------ - ------ | ||||||
|  | pyqt6 = "^6.7.0" | ||||||
|  | 
 | ||||||
|  | [tool.poetry.group.dev] | ||||||
|  | optional = true | ||||||
|  | [tool.poetry.group.dev.dependencies] | ||||||
|  | # testing / CI | ||||||
|  | pytest = "^6.0.0" | ||||||
|  | elasticsearch = "^8.9.0" | ||||||
|  | xonsh = "^0.14.2" | ||||||
|  | prompt-toolkit = "3.0.40" | ||||||
|  | cython = "^3.0.0" | ||||||
|  | greenback = "^1.1.1" | ||||||
|  | 
 | ||||||
|  | # console ehancements and eventually remote debugging | ||||||
|  | # extras/helpers. | ||||||
|  | # TODO: add a toolset that makes debugging a `pikerd` service | ||||||
|  | # (tree) easy to hack on directly using more or less the local env: | ||||||
|  | # - xonsh + xxh | ||||||
|  | # - rsyscall + pdbp | ||||||
|  | # - actor runtime control console like BEAM/OTP | ||||||
|  | 
 | ||||||
|  | # ------ - ------ | ||||||
|  | 
 | ||||||
|  | # TODO: add an `--only daemon` group for running non-ui / pikerd | ||||||
|  | # service tree in distributed mode B) | ||||||
|  | # https://python-poetry.org/docs/managing-dependencies/#installing-group-dependencies | ||||||
|  | # [tool.poetry.group.daemon.dependencies] | ||||||
|  | 
 | ||||||
|  | [tool.poetry.scripts] | ||||||
|  | piker = 'piker.cli:cli' | ||||||
|  | pikerd = 'piker.cli:pikerd' | ||||||
|  | ledger = 'piker.accounting.cli:ledger' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | [project] | ||||||
| keywords=[ | keywords=[ | ||||||
|   "async", |   "async", | ||||||
|   "trading", |   "trading", | ||||||
|  | @ -50,98 +138,15 @@ keywords = [ | ||||||
|   "charting", |   "charting", | ||||||
| ] | ] | ||||||
| classifiers=[ | classifiers=[ | ||||||
|     "Development Status :: 3 - Alpha", |   'Development Status :: 3 - Alpha', | ||||||
|   "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", |   "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", | ||||||
|     "Operating System :: POSIX :: Linux", |   'Operating System :: POSIX :: Linux', | ||||||
|   "Programming Language :: Python :: Implementation :: CPython", |   "Programming Language :: Python :: Implementation :: CPython", | ||||||
|   "Programming Language :: Python :: 3 :: Only", |   "Programming Language :: Python :: 3 :: Only", | ||||||
|   "Programming Language :: Python :: 3.11", |   "Programming Language :: Python :: 3.11", | ||||||
|   "Programming Language :: Python :: 3.12", |   "Programming Language :: Python :: 3.12", | ||||||
|     "Intended Audience :: Financial and Insurance Industry", |   'Intended Audience :: Financial and Insurance Industry', | ||||||
|     "Intended Audience :: Science/Research", |   'Intended Audience :: Science/Research', | ||||||
|     "Intended Audience :: Developers", |   'Intended Audience :: Developers', | ||||||
|     "Intended Audience :: Education", |   'Intended Audience :: Education', | ||||||
| ] | ] | ||||||
| dependencies = [ |  | ||||||
|     "async-generator >=1.10, <2.0.0", |  | ||||||
|     "attrs >=23.1.0, <24.0.0", |  | ||||||
|     "bidict >=0.22.1, <0.23.0", |  | ||||||
|     "colorama >=0.4.6, <0.5.0", |  | ||||||
|     "colorlog >=6.7.0, <7.0.0", |  | ||||||
|     "ib-insync >=0.9.86, <0.10.0", |  | ||||||
|     "numba >=0.59.0, <0.60.0", |  | ||||||
|     "numpy >=1.25, <2.0", |  | ||||||
|     "polars >=0.18.13, <0.19.0", |  | ||||||
|     "pygments >=2.16.1, <3.0.0", |  | ||||||
|     "rich >=13.5.2, <14.0.0", |  | ||||||
|     "tomli >=2.0.1, <3.0.0", |  | ||||||
|     "tomli-w >=1.0.0, <2.0.0", |  | ||||||
|     "trio-util >=0.7.0, <0.8.0", |  | ||||||
|     "trio-websocket >=0.10.3, <0.11.0", |  | ||||||
|     "typer >=0.9.0, <1.0.0", |  | ||||||
|     "rapidfuzz >=3.5.2, <4.0.0", |  | ||||||
|     "pdbp >=1.5.0, <2.0.0", |  | ||||||
|     "trio >=0.24, <0.25", |  | ||||||
|     "pendulum >=3.0.0, <4.0.0", |  | ||||||
|     "httpx >=0.27.0, <0.28.0", |  | ||||||
|     "cryptofeed >=2.4.0, <3.0.0", |  | ||||||
|     "pyarrow >=17.0.0, <18.0.0", |  | ||||||
|     "websockets ==12.0", |  | ||||||
|     "msgspec", |  | ||||||
|     "tractor", |  | ||||||
|     "asyncvnc", |  | ||||||
|     "tomlkit", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [project.optional-dependencies] |  | ||||||
| uis = [ |  | ||||||
|     # https://docs.astral.sh/uv/concepts/projects/dependencies/#optional-dependencies |  | ||||||
|     # TODO: make sure the levenshtein shit compiles on nix.. |  | ||||||
|     # rapidfuzz = {extras = ["speedup"], version = "^0.18.0"} |  | ||||||
|     "rapidfuzz >=3.2.0, <4.0.0", |  | ||||||
|     "qdarkstyle >=3.0.2, <4.0.0", |  | ||||||
|     "pyqt6 >=6.7.0, <7.0.0", |  | ||||||
|     "pyqtgraph", |  | ||||||
|      |  | ||||||
|     # ------ - ------ |  | ||||||
|      |  | ||||||
|     # TODO: add an `--only daemon` group for running non-ui / pikerd |  | ||||||
|     # service tree in distributed mode B) |  | ||||||
|     # https://docs.astral.sh/uv/concepts/projects/dependencies/#optional-dependencies |  | ||||||
|     # [project.optional-dependencies] |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [dependency-groups] |  | ||||||
| dev = [ |  | ||||||
|     "pytest >=6.0.0, <7.0.0", |  | ||||||
|     "elasticsearch >=8.9.0, <9.0.0", |  | ||||||
|     "xonsh >=0.14.2, <0.15.0", |  | ||||||
|     "prompt-toolkit ==3.0.40", |  | ||||||
|     "cython >=3.0.0, <4.0.0", |  | ||||||
|     "greenback >=1.1.1, <2.0.0", |  | ||||||
|     # console ehancements and eventually remote debugging |  | ||||||
|     # extras/helpers. |  | ||||||
|     # TODO: add a toolset that makes debugging a `pikerd` service |  | ||||||
|     # (tree) easy to hack on directly using more or less the local env: |  | ||||||
|     # - xonsh + xxh |  | ||||||
|     # - rsyscall + pdbp |  | ||||||
|     # - actor runtime control console like BEAM/OTP |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [project.scripts] |  | ||||||
| piker = "piker.cli:cli" |  | ||||||
| pikerd = "piker.cli:pikerd" |  | ||||||
| ledger = "piker.accounting.cli:ledger" |  | ||||||
| 
 |  | ||||||
| [tool.hatch.build.targets.sdist] |  | ||||||
| include = ["piker"] |  | ||||||
| 
 |  | ||||||
| [tool.hatch.build.targets.wheel] |  | ||||||
| include = ["piker"] |  | ||||||
| 
 |  | ||||||
| [tool.uv.sources] |  | ||||||
| pyqtgraph = { git = "https://github.com/pikers/pyqtgraph.git" } |  | ||||||
| asyncvnc = { git = "https://github.com/pikers/asyncvnc.git", branch = "main" } |  | ||||||
| tomlkit = { git = "https://github.com/pikers/tomlkit.git", branch ="piker_pin" } |  | ||||||
| msgspec = { git = "https://github.com/jcrist/msgspec.git" } |  | ||||||
| tractor = { path = "../tractor" } |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue