Skip to content
Merged

Up bin #3720

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions bin/start.spec
Original file line number Diff line number Diff line change
@@ -1,13 +1,28 @@
# -*- mode: python -*-

from PyInstaller.utils.hooks import collect_data_files
from PyInstaller.utils.hooks import collect_data_files, copy_metadata

block_cipher = None

# eth_account.hdaccount reads BIP39 wordlists from disk (hdaccount/wordlist/*.txt).
# hiddenimports only bundles Python modules; collect_data_files includes those data files.
eth_account_datas = collect_data_files("eth_account")

# importlib.metadata.version() at import time; PyInstaller does not bundle .dist-info by default.
_eth_web3_dist_names = (
"py-ecc",
"eth-account",
"eth-keyfile",
"eth-utils",
"eth-typing",
"eth-keys",
"hexbytes",
"web3",
)
eth_web3_metadata = []
for _dist_name in _eth_web3_dist_names:
eth_web3_metadata += copy_metadata(_dist_name)

OCTOBOT_PACKAGES_FILES = REQUIRED = [s.strip() for s in open('bin/octobot_packages_files.txt').readlines()]
# hiddenimports=['numpy.core._dtype_ctypes'] from https://github.com/pyinstaller/pyinstaller/issues/3982
a = Analysis(
Expand All @@ -16,7 +31,7 @@ a = Analysis(
datas=[
('../octobot/config', 'octobot/config'),
('../octobot/strategy_optimizer/optimizer_data_files', 'octobot/strategy_optimizer/optimizer_data_files'),
] + eth_account_datas, # required for node wallet mnemonic generation (web3.Account.create_with_mnemonic)
] + eth_account_datas + eth_web3_metadata, # required for node wallet mnemonic generation (web3.Account.create_with_mnemonic)
hiddenimports=[
"colorlog", "numpy.core._dtype_ctypes", "dotenv",
"pgpy", "imghdr",
Expand All @@ -28,8 +43,12 @@ a = Analysis(
"asyncpraw", "simplifiedpytrends", "simplifiedpytrends.exceptions", "simplifiedpytrends.request",
"pyngrok", "pyngrok.ngrok", "openai",
"flask", "flask_login", "flask_wtf", "flask_socketio", "flask_cors",
# Tentacles (excluded from Analysis) — ASGI stack per packages/services/full_requirements.txt
"asgiref.sync", "asgiref.wsgi",
"uvicorn", "uvicorn.config", "uvicorn.server",
"starlette", "starlette.applications", "starlette.routing", "starlette.websockets",
"werkzeug.middleware", "werkzeug.middleware.proxy_fix",
"wtforms", "wtforms.fields", "gevent", "geventwebsocket",
"wtforms", "wtforms.fields",
"vaderSentiment", "vaderSentiment.vaderSentiment",
"coingecko_openapi_client",
"certifi",
Expand Down
2 changes: 1 addition & 1 deletion packages/binary/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pyinstaller==6.18.0
pyinstaller==6.22.3
nltk
Loading