Qubx 0.1.87__tar.gz → 0.1.88__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Qubx might be problematic. Click here for more details.
- {qubx-0.1.87 → qubx-0.1.88}/PKG-INFO +1 -1
- {qubx-0.1.87 → qubx-0.1.88}/build.py +12 -17
- {qubx-0.1.87 → qubx-0.1.88}/pyproject.toml +1 -1
- {qubx-0.1.87 → qubx-0.1.88}/README.md +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/__init__.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/_nb_magic.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/__init__.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/account.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/basics.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/helpers.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/loggers.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/lookups.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/series.pxd +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/series.pyx +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/strategy.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/core/utils.pyx +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/data/readers.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/impl/ccxt_connector.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/impl/ccxt_customizations.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/impl/ccxt_trading.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/impl/ccxt_utils.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/math/__init__.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/math/stats.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/pandaz/__init__.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/pandaz/ta.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/pandaz/utils.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/ta/__init__.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/ta/indicators.pyx +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/trackers/__init__.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/trackers/rebalancers.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/utils/__init__.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/utils/_pyxreloader.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/utils/charting/mpl_helpers.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/utils/marketdata/binance.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/utils/misc.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/utils/runner.py +0 -0
- {qubx-0.1.87 → qubx-0.1.88}/src/qubx/utils/time.py +0 -0
|
@@ -17,6 +17,8 @@ from Cython.Compiler.Version import version as cython_compiler_version
|
|
|
17
17
|
from setuptools import Distribution
|
|
18
18
|
from setuptools import Extension
|
|
19
19
|
|
|
20
|
+
RED, BLUE, GREEN, YLW, RES = "\033[31m", "\033[36m", "\033[32m", "\033[33m", "\033[0m"
|
|
21
|
+
|
|
20
22
|
|
|
21
23
|
BUILD_MODE = os.getenv("BUILD_MODE", "release")
|
|
22
24
|
PROFILE_MODE = bool(os.getenv("PROFILE_MODE", ""))
|
|
@@ -95,13 +97,13 @@ def _build_extensions() -> list[Extension]:
|
|
|
95
97
|
"WS2_32.Lib",
|
|
96
98
|
]
|
|
97
99
|
|
|
98
|
-
print("Creating C extension modules...")
|
|
100
|
+
print(f">> {GREEN} Creating C extension modules...{RES}")
|
|
99
101
|
print(f"define_macros={define_macros}")
|
|
100
102
|
print(f"extra_compile_args={extra_compile_args}")
|
|
101
103
|
|
|
102
104
|
return [
|
|
103
105
|
Extension(
|
|
104
|
-
name=str(pyx.relative_to("
|
|
106
|
+
name=str(pyx.relative_to("src")).replace(os.path.sep, ".")[:-4],
|
|
105
107
|
sources=[str(pyx)],
|
|
106
108
|
include_dirs=[np.get_include()], # , *RUST_INCLUDES],
|
|
107
109
|
define_macros=define_macros,
|
|
@@ -138,7 +140,7 @@ def _build_distribution(extensions: list[Extension]) -> Distribution:
|
|
|
138
140
|
def _copy_build_dir_to_project(cmd: build_ext) -> None:
|
|
139
141
|
# Copy built extensions back to the project tree
|
|
140
142
|
for output in cmd.get_outputs():
|
|
141
|
-
relative_extension = Path(output).relative_to(cmd.build_lib)
|
|
143
|
+
relative_extension = Path("src") / Path(output).relative_to(cmd.build_lib)
|
|
142
144
|
if not Path(output).exists():
|
|
143
145
|
continue
|
|
144
146
|
|
|
@@ -148,21 +150,19 @@ def _copy_build_dir_to_project(cmd: build_ext) -> None:
|
|
|
148
150
|
mode |= (mode & 0o444) >> 2
|
|
149
151
|
relative_extension.chmod(mode)
|
|
150
152
|
|
|
151
|
-
print("Copied all compiled dynamic library files into source")
|
|
153
|
+
print(f" >> {GREEN}Copied all compiled dynamic library files into source{RES}")
|
|
152
154
|
|
|
153
155
|
|
|
154
156
|
def _strip_unneeded_symbols() -> None:
|
|
155
157
|
try:
|
|
156
|
-
print("Stripping unneeded symbols from binaries...")
|
|
158
|
+
print(f" >> {YLW}Stripping unneeded symbols from binaries...{RES}")
|
|
157
159
|
for so in itertools.chain(Path("src/qubx").rglob("*.so")):
|
|
158
160
|
if platform.system() == "Linux":
|
|
159
161
|
strip_cmd = ["strip", "--strip-unneeded", so]
|
|
160
162
|
elif platform.system() == "Darwin":
|
|
161
163
|
strip_cmd = ["strip", "-x", so]
|
|
162
164
|
else:
|
|
163
|
-
raise RuntimeError(
|
|
164
|
-
f"Cannot strip symbols for platform {platform.system()}"
|
|
165
|
-
)
|
|
165
|
+
raise RuntimeError(f"Cannot strip symbols for platform {platform.system()}")
|
|
166
166
|
subprocess.run(
|
|
167
167
|
strip_cmd, # type: ignore [arg-type] # noqa
|
|
168
168
|
check=True,
|
|
@@ -185,7 +185,7 @@ def build() -> None:
|
|
|
185
185
|
distribution = _build_distribution(extensions)
|
|
186
186
|
|
|
187
187
|
# Build and run the command
|
|
188
|
-
print("Compiling C extension modules...")
|
|
188
|
+
print(f">> {GREEN} Compiling C extension modules...{RES}")
|
|
189
189
|
cmd: build_ext = build_ext(distribution)
|
|
190
190
|
# if PARALLEL_BUILD:
|
|
191
191
|
# cmd.parallel = os.cpu_count()
|
|
@@ -201,15 +201,12 @@ def build() -> None:
|
|
|
201
201
|
_strip_unneeded_symbols()
|
|
202
202
|
|
|
203
203
|
|
|
204
|
-
RED, BLUE, GREEN, YLW, RES = "\033[31m", "\033[36m", "\033[32m", "\033[33m", "\033[0m"
|
|
205
204
|
if __name__ == "__main__":
|
|
206
205
|
qubx_platform = toml.load("pyproject.toml")["tool"]["poetry"]["version"]
|
|
207
206
|
print(BLUE)
|
|
208
207
|
print("=====================================================================")
|
|
209
208
|
print(f"Qubx Builder {qubx_platform}")
|
|
210
|
-
print(
|
|
211
|
-
"=====================================================================\033[0m"
|
|
212
|
-
)
|
|
209
|
+
print("=====================================================================\033[0m")
|
|
213
210
|
print(f"System: {GREEN}{platform.system()} {platform.machine()}{RES}")
|
|
214
211
|
# print(f"Clang: {GREEN}{_get_clang_version()}{RES}")
|
|
215
212
|
# print(f"Rust: {GREEN}{_get_rustc_version()}{RES}")
|
|
@@ -225,12 +222,10 @@ if __name__ == "__main__":
|
|
|
225
222
|
print(f"COPY_TO_SOURCE={COPY_TO_SOURCE}")
|
|
226
223
|
# print(f"PYO3_ONLY={PYO3_ONLY}\n")
|
|
227
224
|
|
|
228
|
-
print("Starting build...")
|
|
225
|
+
print(f">> {GREEN}Starting build...{RES}")
|
|
229
226
|
ts_start = datetime.datetime.now(datetime.timezone.utc)
|
|
230
227
|
build()
|
|
231
|
-
print(
|
|
232
|
-
f"Build time: {YLW}{datetime.datetime.now(datetime.timezone.utc) - ts_start}{RES}"
|
|
233
|
-
)
|
|
228
|
+
print(f"Build time: {YLW}{datetime.datetime.now(datetime.timezone.utc) - ts_start}{RES}")
|
|
234
229
|
print(GREEN + "Build completed" + RES)
|
|
235
230
|
|
|
236
231
|
# # See if Cython is installed
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|