Skip to content

Commit 8254156

Browse files
committed
re-compiling with clang12, qt5.15.2@
1 parent 94cf161 commit 8254156

File tree

6 files changed

+41
-34
lines changed

6 files changed

+41
-34
lines changed

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,12 @@ if(CMAKE_VERSION VERSION_LESS "3.7.0")
3232
endif()
3333

3434
find_package(Qt5 REQUIRED Core Network Sql Xml Qml)
35+
find_package(pybind11 REQUIRED)
3536
# add_subdirectory(pybind11)
3637
add_subdirectory(binding)
3738

3839
get_target_property(QtCore_location Qt5::Core LOCATION)
3940
get_filename_component(QtCore_libdir ${QtCore_location} DIRECTORY)
4041

4142
enable_testing()
42-
# message(status ${CONAN_LIBS})
43+
message(status ${CONAN_LIBS})

abquant.profile

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,27 @@ os_build=Linux
44
arch=x86_64
55
arch_build=x86_64
66
compiler=clang
7-
compiler.version=11
8-
compiler.libcxx=libstdc++11
7+
compiler.version=12
8+
compiler.libcxx=libc++
99
build_type=Release
10-
# build_type=Debug
1110
[options]
11+
qt:shared=True
1212
qt:qtdeclarative=True
1313
qt:qttools=True
1414
qt:qtwebsockets=True
15+
qt:with_vulkan=True
1516
[build_requires]
17+
*: cmake/3.20.3, ninja/1.10.2
1618
[env]
1719
# CC=$PROFILE_DIR/ccache-clang
1820
# CXX=$PROFILE_DIR/ccache-clang++
21+
1922
CC="ccache clang"
2023
CXX="ccache clang++"
2124
CPP="ccache cpp"
2225

23-
# CC="clang"
24-
# CXX="clang++"
25-
# CPP="cpp"
26+
// CC="clang"
27+
// CXX="clang++"
28+
// CPP="cpp"
2629

2730
CONAN_CMAKE_GENERATOR=Ninja

abquant/apis/base.py

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ def get_price(
1717
start_date: Union[datetime.date, datetime.datetime, str],
1818
end_date: Optional[Union[datetime.date, datetime.datetime, str]] = None,
1919
frequency: Optional[str] = "1d",
20-
fields: List[str] = [],
20+
fields: Optional[List[str]] = [],
2121
adjust_type: Optional[str] = "pre",
2222
skip_suspended: Optional[bool] = False,
2323
expect_df: Optional[bool] = False,
24-
) -> Union[pd.DataFrame, pd.Series]:
24+
) -> pd.DataFrame:
2525
"""
2626
:param order_book_ids: 合约代码,合约代码,可传入order_book_id, order_book_id list, symbol, symbol list
2727
:param start_date: 开始日期,用户必须指定
@@ -81,9 +81,6 @@ def get_price(
8181
#...
8282
"""
8383

84-
if fields is None:
85-
fields = ["open", "close", "high", "low", "vol"]
86-
8784
if isinstance(start_date, (datetime.datetime,)):
8885
start_date = start_date.strftime("%Y-%m-%d %H:%M:%S")
8986
if isinstance(end_date, (datetime.datetime,)):
@@ -93,9 +90,10 @@ def get_price(
9390
start_date = start_date.split(" ")[0] # type: ignore
9491
end_date = end_date.split(" ")[0] # type: ignore
9592

93+
if fields is None or not fields:
94+
fields = ["open", "close", "high", "low", "vol"]
9695
if isinstance(fields, (str,)):
9796
fields = [fields]
98-
9997
for field in fields:
10098
if field in ["volume"]:
10199
field = "vol"
@@ -161,7 +159,6 @@ def get_price(
161159
else:
162160
datetime_ = sm.to_series_string("datetime")
163161
df = pd.DataFrame({"code": code, "datetime": datetime_})
164-
print(df)
165162
except Exception:
166163
raise RuntimeError("fail to get_price")
167164

@@ -177,10 +174,6 @@ def get_price(
177174
else:
178175
df.set_index(["code", "datetime"], inplace=True)
179176

180-
if len(fields) == 1:
181-
# return pd.Series
182-
return df[fields[0]] # type: ignore
183-
# print(df)
184177
return df
185178

186179

conanfile.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
#!/usr/bin/env python
22
# -*- coding: utf-8 -*-
33

4-
from conans import ConanFile, CMake, tools, Meson, RunEnvironment
4+
from conans import ConanFile, CMake, tools, RunEnvironment
55
import os
66
import shutil
7-
import platform
87
import pathlib
98
import shutil
109

@@ -13,14 +12,22 @@ class AbquantConan(ConanFile):
1312
settings = "os", "arch", "compiler", "build_type"
1413
options = {"shared": [True, False], "fPIC": [True, False]}
1514
default_options = {
16-
"shared": False,
15+
"shared": True,
1716
"fPIC": True,
1817
"qt:qtdeclarative": True,
1918
"qt:qttools": True,
2019
"qt:qtwebsockets": True,
20+
"qt:with_vulkan": True,
2121
}
2222

23-
generators = ["cmake", "qmake"]
23+
generators = (
24+
"qt",
25+
"qmake",
26+
"cmake",
27+
"virtualrunenv",
28+
"cmake_find_package",
29+
"cmake_find_package_multi",
30+
)
2431

2532
@property
2633
def _prefix(self):
@@ -59,11 +66,15 @@ def config_options(self):
5966
if self.settings.os == "Windows":
6067
del self.options.fPIC
6168

69+
def build_requirements(self):
70+
self.build_requires("cmake/3.20.3")
71+
self.build_requires("ninja/1.10.2")
72+
6273
def requirements(self):
63-
self.requires("qt/5.12.8@{}/{}".format("bincrafters", "stable"))
74+
self.requires("qt/5.15.2@")
6475
self.requires("xtensor/0.21.3@")
6576
self.requires("dataframe/1.15.0@")
66-
self.requires("pybind11/2.6.1@")
77+
self.requires("pybind11/2.6.2@")
6778

6879
def _build_with_qmake(self):
6980
tools.mkdir(self.build_subfolder(kind_="qbuild"))
@@ -150,6 +161,3 @@ def build(self):
150161
self._build_with_qmake()
151162
if pathlib.Path.cwd().name == "cbuild":
152163
self._build_with_cmake()
153-
154-
# def package_info(self):
155-
# self.env_info.CMAKE_PREFIX_PATH.append(self.package_folder)

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,5 @@ exclude = '''
5353
| setup.py
5454
)
5555
'''
56+
57+
[tool.pyright]

tests/apis/test_base.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def test_get_price_day_stock_date_with_single_field():
1111
fields = ["open"]
1212
actual = get_price(code, start, end, fields=fields)
1313
ulog.debug(actual)
14-
assert isinstance(actual, pd.Series)
14+
assert isinstance(actual, pd.DataFrame)
1515

1616

1717
def test_get_price_day_stock_datetime_with_single_field():
@@ -21,7 +21,7 @@ def test_get_price_day_stock_datetime_with_single_field():
2121
fields = ["open"]
2222
actual = get_price(code, start, end, fields=fields)
2323
ulog.debug(actual)
24-
assert isinstance(actual, pd.Series)
24+
assert isinstance(actual, pd.DataFrame)
2525

2626

2727
def test_get_price_day_index_date_with_single_field():
@@ -31,7 +31,7 @@ def test_get_price_day_index_date_with_single_field():
3131
fields = ["open"]
3232
actual = get_price(code, start, end, fields=fields)
3333
ulog.debug(actual)
34-
assert isinstance(actual, pd.Series)
34+
assert isinstance(actual, pd.DataFrame)
3535

3636

3737
def test_get_price_day_index_datetime_with_single_field():
@@ -41,7 +41,7 @@ def test_get_price_day_index_datetime_with_single_field():
4141
fields = ["open"]
4242
actual = get_price(code, start, end, fields=fields)
4343
ulog.debug(actual)
44-
assert isinstance(actual, pd.Series)
44+
assert isinstance(actual, pd.DataFrame)
4545

4646

4747
def test_get_price_day_stock_date_with_multi_field():
@@ -91,7 +91,7 @@ def test_get_price_min_stock_with_single_field():
9191
fields = ["open"]
9292
actual = get_price(code, start, end, frequency="1min", fields=fields)
9393
ulog.debug(actual)
94-
assert isinstance(actual, pd.Series)
94+
assert isinstance(actual, pd.DataFrame)
9595

9696

9797
def test_get_price_min_stock_with_multi_field():
@@ -133,13 +133,13 @@ def test_get_security_info_stock_type():
133133
code = "000001.XSHE"
134134
actual = get_security_info(code, INSTRUMENT_TYPE.CS)
135135
ulog.debug(actual)
136-
assert isinstance(actual, pd.Series)
136+
assert isinstance(actual, pd.DataFrame)
137137
assert actual.display_name == "平安银行"
138138

139139

140140
def test_get_security_info_index_type():
141141
code = "399006.XSHE"
142142
actual = get_security_info(code, INSTRUMENT_TYPE.INDX)
143143
ulog.debug(actual)
144-
assert isinstance(actual, pd.Series)
144+
assert isinstance(actual, pd.DataFrame)
145145
assert actual.display_name == "创业板指"

0 commit comments

Comments
 (0)