Compare commits
32 Commits
ae6e5f5994
...
5c1c0f1738
Author | SHA1 | Date |
---|---|---|
|
5c1c0f1738 | |
|
c8ca1430e8 | |
|
de94ce8c71 | |
|
543579b0bc | |
|
47adfeee32 | |
|
f6cefbbc31 | |
|
f6f93c4b56 | |
|
402c4b5046 | |
|
7157b7bf49 | |
|
afcfb2dd66 | |
|
17788bfcaf | |
|
7e63cb8a1c | |
|
00c4624f2e | |
|
26d79e6449 | |
|
83cf341c0c | |
|
6b48bbca3c | |
|
6b30b17afb | |
|
0ec2c76c6e | |
|
fe59ffc63f | |
|
01081e1d80 | |
|
a30c6d0ea1 | |
|
7091a80a1d | |
|
5db98ef531 | |
|
3e999b164a | |
|
e87939e1f2 | |
|
3630c02f48 | |
|
fdf34e51bb | |
|
a0b540022e | |
|
20f6343be2 | |
|
2f30fc4fb8 | |
|
76b5547c2d | |
|
08811f9a61 |
|
@ -1,6 +1,7 @@
|
||||||
with (import <nixpkgs> {});
|
with (import <nixpkgs> {});
|
||||||
let
|
let
|
||||||
glibStorePath = lib.getLib glib;
|
glibStorePath = lib.getLib glib;
|
||||||
|
zlibStorePath = lib.getLib zlib;
|
||||||
zstdStorePath = lib.getLib zstd;
|
zstdStorePath = lib.getLib zstd;
|
||||||
dbusStorePath = lib.getLib dbus;
|
dbusStorePath = lib.getLib dbus;
|
||||||
libGLStorePath = lib.getLib libGL;
|
libGLStorePath = lib.getLib libGL;
|
||||||
|
@ -29,6 +30,7 @@ stdenv.mkDerivation {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
# System requirements.
|
# System requirements.
|
||||||
glib
|
glib
|
||||||
|
zlib
|
||||||
dbus
|
dbus
|
||||||
zstd
|
zstd
|
||||||
libGL
|
libGL
|
||||||
|
@ -70,6 +72,7 @@ stdenv.mkDerivation {
|
||||||
LIB_GCC_PATH="${libgcc.lib}/lib"
|
LIB_GCC_PATH="${libgcc.lib}/lib"
|
||||||
GLIB_PATH="${glibStorePath}/lib"
|
GLIB_PATH="${glibStorePath}/lib"
|
||||||
ZSTD_PATH="${zstdStorePath}/lib"
|
ZSTD_PATH="${zstdStorePath}/lib"
|
||||||
|
ZLIB_PATH="${zlibStorePath}/lib"
|
||||||
DBUS_PATH="${dbusStorePath}/lib"
|
DBUS_PATH="${dbusStorePath}/lib"
|
||||||
LIBGL_PATH="${libGLStorePath}/lib"
|
LIBGL_PATH="${libGLStorePath}/lib"
|
||||||
FREETYPE_PATH="${freetypeStorePath}/lib"
|
FREETYPE_PATH="${freetypeStorePath}/lib"
|
||||||
|
@ -92,6 +95,7 @@ stdenv.mkDerivation {
|
||||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_GCC_PATH"
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_GCC_PATH"
|
||||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DBUS_PATH"
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DBUS_PATH"
|
||||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GLIB_PATH"
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GLIB_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ZLIB_PATH"
|
||||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ZSTD_PATH"
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ZSTD_PATH"
|
||||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIBGL_PATH"
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIBGL_PATH"
|
||||||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$FONTCONFIG_PATH"
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$FONTCONFIG_PATH"
|
||||||
|
@ -121,7 +125,7 @@ stdenv.mkDerivation {
|
||||||
PATCH="$PATCH:$PYQT6_PATH"
|
PATCH="$PATCH:$PYQT6_PATH"
|
||||||
PATCH="$PATCH:$PYQT6_SIP_PATH"
|
PATCH="$PATCH:$PYQT6_SIP_PATH"
|
||||||
|
|
||||||
export PATCH
|
export PATCH
|
||||||
|
|
||||||
# Install deps
|
# Install deps
|
||||||
uv lock
|
uv lock
|
||||||
|
|
224
pyproject.toml
224
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,114 +34,122 @@ 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"
|
||||||
keywords = [
|
|
||||||
"async",
|
# ------ - ------
|
||||||
"trading",
|
|
||||||
"finance",
|
[tool.poetry.dependencies]
|
||||||
"quant",
|
async-generator = "^1.10"
|
||||||
"charting",
|
attrs = "^23.1.0"
|
||||||
|
bidict = "^0.22.1"
|
||||||
|
colorama = "^0.4.6"
|
||||||
|
colorlog = "^6.7.0"
|
||||||
|
cython = "^3.0.0"
|
||||||
|
greenback = "^1.1.1"
|
||||||
|
ib-insync = "^0.9.86"
|
||||||
|
msgspec = "^0.18.0"
|
||||||
|
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"
|
||||||
|
|
||||||
|
[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'
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# 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]
|
||||||
|
name="piker"
|
||||||
|
keywords=[
|
||||||
|
"async",
|
||||||
|
"trading",
|
||||||
|
"finance",
|
||||||
|
"quant",
|
||||||
|
"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