Closed igorgodel closed 3 years ago
Sorry, I have used the nautilus_trader original version 1.111.0 ( NOT 0.111.0)
Thank you for this comprehensive write up, and for your efforts into investigating Windows compatibility!
We will definitely support Windows if it can be done - and from a quick read of the above, it looks possible.
There was recently a large diff pushed to develop
which includes standardizing the platforms internal timestamps to int64_t
nanoseconds. This will help resolve the issue with long
.
I'll do a detailed review of this issue and we'll move forward in due course.
Feel free to add anything additional as it comes up.
Windows Support Roadmap
long
backtest/models.pyx
The pseudo-random generator function has been changed to the below - should be compatible with Windows without the mention of long
;
from libc.stdlib cimport RAND_MAX
from libc.stdlib cimport rand
from libc.stdlib cimport srand
# Returns a double in range [0, 1.0]
cdef inline double _random_value() nogil:
return <double>rand() / <double>RAND_MAX
if random_seed is not None:
Condition.type(random_seed, int, "random_seed")
srand(random_seed)
else:
srand(random.randint(0, 2147483647)) # int32 max positive value
backtest/models.pyx
Ok
Note:
srand(random.randint(0, 2147483647)) # int32 max positive value
is too complicated and contains Python call 'random.randint'
use
srand(rand())
But in any case, you know, the PRNG questions is not so simple
Even here , when random_seed is None (default value),
getting 'time' (as arg for srand) will be more efficient
cdef inline bint _event_success(self, double probability) except *:
# Return a result indicating whether an event occurred based on the
# given probability.
# probability is the probability of the event occurring [0, 1].
if probability == 0:
return False
elif probability == 1:
return True
else:
return probability >= random.random()
For simplicity I've returned the implementation to pure Python.
Performance of calling the C rand()
is ~85ns (overhead likely from the performance harness itself).
Performance of calling the pure Python impl is ~133ns (when required to call random.random()
) otherwise identical to the C impl.
backtest/models.pyx PRNG functions
You are right: for timings 85 and 133 ns and for test 250 days 100 trades per day = 25000 trades 250000 (135 - 85 = 50ns) = 0.00125 sec. No questions (about nothing, even for 1000 years).
More importantly in this context: We always have to use the correspondent 'srand' and 'rand' functions (from the same lib).
For backtest\models.pyx we can use Python functions with no loss (practically) !!!
One note:
If you'll use Python functions then
if random_seed is not None:
Condition.type(random_seed, int, "random_seed")
random.seed(random_seed)
else:
# no pass any arg. In this case current system time is used to initialize the rng
random.seed()
If you'll use 'C' functions then
if random_seed is not None:
Condition.type(random_seed, int, "random_seed")
srand(random_seed)
else:
# pass the return value from millis_now_from_day_start()
# (number millisec from the begging of the day, see below)
srand(<int>millis_now_from_day_start())
millis_now_from_day_start() might be useful in other cases
add it to core\datetime.pyx
cpdef int64_t millis_now_from_day_start() except *:
cdef datetime now = datetime.now()
cdef datetime start = now.replace(hour=0, minute=0, second=0, microsecond=0)
cdef timedelta delta = now - start
# return value is always < 86_400_000 (= 24 * 60 * 60 * 1000)
# so we can convert it to int (4 bytes) in a calling function (if we need)
# For example, use for setting seed value
return lround(delta.total_seconds() * MILLISECONDS_IN_SECOND)
I've added the random.seed()
call in the else case where a user has not supplied a seed.
millis_now_from_day_start
is a good suggestion. We can add utility functions to assist users and development.
Ok.
Congratulations!
The first building the project and running tests under Windows (version 1.114.0) were successful without any extra adjustments and changes in the code and tests! Redis - under Ubuntu, WSL2 (didn't run tests with cctxpro)
Excellent, next step is to setup the Windows CI requirements for the build matrix.
Great work @igorgodel,
@cjdsellers
But I have building issue under windows 32bits environment (MSVC 32bits compiler 2019, python 32bits)
build/optimized\nautilus_trader\core\functions.c(3983): error C2039: 'nd': is not a member of 'tagPyArrayObject'.
C:\Anaconda3\envs\nautilus_trader32\lib\site-packages\numpy\core\include\numpy\ndarraytypes.h(721): note: see declaration 'tagPyArrayObject'.
build/optimized\nautilus_trader\core\functions.c(4675): error C2039: 'nd': is not a member of 'tagPyArrayObject'.
C:\Anaconda3\envs\nautilus_trader32\lib\site-packages\numpy\core\include\numpy\ndarraytypes.h(721): note: see declaration 'tagPyArrayObject'.
Related Issue found in stackoverflow: here
I have not found the exact reason yet, but issue solved by the removing NPY_1_7_API_VERSION
define_macros in build.py(L59)
I hope next cython release fix this problem
def _build_extensions() -> List[Extension]:
# Build Extensions to feed into cythonize()
# Profiling requires special macro directives
define_macros = [("NPY_NO_DEPRECATED_API", )] # HERE "NPY_1_7_API_VERSION")]
if PROFILING_MODE or ANNOTATION_MODE:
define_macros.append(("CYTHON_TRACE", "1"))
return [
Extension(
name=str(pyx.relative_to(".")).replace(os.path.sep, ".")[:-4],
sources=[str(pyx)],
include_dirs=[".", np.get_include()],
define_macros=define_macros,
language="c",
)
for pyx in itertools.chain(
Path("examples").rglob("*.pyx"),
Path("nautilus_trader").rglob("*.pyx"),
)
]
Everything worked well except above under 32bits environment.
@ian-wazowski The question is a little strange: What Cython version are you using for building the package? (see in your C:\Anaconda3\envs\nautilus_trader32\lib\site-packages...)
@ian-wazowski or open your "...build/optimized\nautilus_trader\core\functions.c" and see the first row: / Generated by Cython ????? /
@igorgodel
cython version: '0.29.21'
/* Generated by Cython 0.29.21 */
/* BEGIN: Cython Metadata
{
"distutils": {
"define_macros": [
[
"NPY_NO_DEPRECATED_API",
"NPY_1_7_API_VERSION"
]
],
"depends": [
"C:\\Anaconda3\\envs\\nautilus_trader32\\lib\\site-packages\\numpy\\core\\include\\numpy\\arrayobject.h",
"C:\\Anaconda3\\envs\\nautilus_trader32\\lib\\site-packages\\numpy\\core\\include\\numpy\\ufuncobject.h"
],
"include_dirs": [
".",
"C:\\Anaconda3\\envs\\nautilus_trader32\\lib\\site-packages\\numpy\\core\\include"
],
"language": "c",
"name": "nautilus_trader.core.functions",
"sources": [
"nautilus_trader\\core\\functions.pyx"
]
},
"module_name": "nautilus_trader.core.functions"
}
END: Cython Metadata */
@cjdsellers @ian-wazowski
(usefully for the project build matrix and user's special building)
1) if dependency = (Cython <= 0.29.22) then
To build a project (successfully):
a) do not define the macros "NPY_NO_DEPRECATED_API" or
b) define the macros "NPY_NO_DEPRECATED_API" as [("NPY_NO_DEPRECATED_API",)]
In both cases we can (!!!) get the message:
warning: "Using deprecated NumPy API, disable it by defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
If we define the macros "NPY_NO_DEPRECATED_API" as [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")] then the compilation will be failed with the next
ERROR MESSAGES:
build/optimized\nautilus_trader\core\functions.c(3347): error C2039: 'nd': is not a member of 'tagPyArrayObject'
..\lib\site-packages\numpy\core\include\numpy\ndarraytypes.h(727): note: see declaration of 'tagPyArrayObject'
or
...'dimentions': is not a member of 'tagPyArrayObject'
or
...'strides': is not a member of 'tagPyArrayObject'
...
necessarily at least (!!!) in such cases when we use in cython code the next
NDARRAY OPERATIONS:
- array.ndim
- array.shape
- array.strides
- array.data ...
2) if dependency = (Cython >= 3.0a1) then
To build a project (successfully):
a) define the macros "NPY_NO_DEPRECATED_API" as [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")] or
b) do not define the macros "NPY_NO_DEPRECATED_API"
In this case we can (!!!) get the message:
warning: "Using deprecated NumPy API, disable it by defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
But for Cython >= 3.0a1 we never(!!!) get such errors, see ERROR MESSAGES
1) One of the biggest changes in Cython >= 3.0a1 - the definition of the numpy.ndarray class to import PyArrayObject struct from 'C' header file (see \Cython\Includes\numpy__init__.pxd):
...
cdef extern from "numpy/arrayobject.h":
...
ctypedef class numpy.ndarray [object PyArrayObject, check_size ignore]
...
a)
In Cython >= 3.0a1 this definition does not (!!!) contain specific internal data members (see below)
but only methods to retrieve information about ndim, shape, ..., e.g.:
@property
cdef inline int ndim(self) nogil:
return PyArray_NDIM(self)
@property
cdef inline npy_intp *shape(self) nogil:
return PyArray_DIMS(self)
...
b) In Cython <= 0.29.22 this definition contains only (!!!) specific internal data members to retrieve information about ndim, shape, ..., e.g.:
cdef:
char *data
int ndim "nd"
npy_intp *shape "dimensions"
npy_intp *strides
...
When we call in *.pyx code, e.g. array.ndim, then
a) Cython >= 3.0a1 compiles this into 'C' code ... object->PyArray_NDIM()
b) Cython <= 0.29.22 compiles this into 'C' code ... object->nd
where object - pointer to array
...
Important:
Cython does not (!!!) use macros NPY_NO_DEPRECATED_API or NPY_1_7_API_VERSION to import
PyArrayObject struct from 'C' header file.
2) Now about Numpy In the header file ...\numpy\core\include\numpy\ndarraytypes.h we can find the most essential code for our topic:
...
typedef struct tagPyArrayObject_fields {
PyObject_HEAD
char *data;
int nd;
npy_intp *dimensions;
npy_intp *strides;
PyObject *base;
PyArray_Descr *descr;
int flags;
PyObject *weakreflist;
} PyArrayObject_fields;
#if !defined(NPY_NO_DEPRECATED_API) || (NPY_NO_DEPRECATED_API < NPY_1_7_API_VERSION)
typedef PyArrayObject_fields PyArrayObject;
#else
typedef struct tagPyArrayObject {
PyObject_HEAD
} PyArrayObject;
#endif
...
In other words Numpy defines in different ways the PyArrayObject struct depending on the definition of NPY_NO_DEPRECATED_API !!!.
Windows support
I found another low-level compatibility problem. Module \live\node.py
AttributeError: "module 'signal' has no attribute 'SIGHUP'"
Windows does not support signal.SIGHUP
Ok, there isn't a clear use case for SIGHUP
, so removing.
Calling (in def _setup_loop(self)) self._loop.add_signal_handler(...) raises "raise NotImplementedError" see, for example, https://stackoverflow.com/questions/45987985/asyncio-loops-add-signal-handler-in-windows
@cjdsellers @ian-wazowski
NumPy-Cython compatibility issue description
(usefully for the project build matrix and user's special building)
The main rule (in short):
if dependency = (Cython <= 0.29.22) then To build a project (successfully):
a) do not define the macros "NPY_NO_DEPRECATED_API" or b) define the macros "NPY_NO_DEPRECATED_API" as [("NPY_NO_DEPRECATED_API",)] In both cases we can (!!!) get the message: warning: "Using deprecated NumPy API, disable it by defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
If we define the macros "NPY_NO_DEPRECATED_API" as [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")] then the compilation will be failed with the next
ERROR MESSAGES: build/optimized\nautilus_trader\core\functions.c(3347): error C2039: 'nd': is not a member of 'tagPyArrayObject' ..\lib\site-packages\numpy\core\include\numpy\ndarraytypes.h(727): note: see declaration of 'tagPyArrayObject' or ...'dimentions': is not a member of 'tagPyArrayObject' or ...'strides': is not a member of 'tagPyArrayObject' ... necessarily at least (!!!) in such cases when we use in cython code the next NDARRAY OPERATIONS: - array.ndim - array.shape - array.strides - array.data ...
if dependency = (Cython >= 3.0a1) then To build a project (successfully):
a) define the macros "NPY_NO_DEPRECATED_API" as [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")] or b) do not define the macros "NPY_NO_DEPRECATED_API" In this case we can (!!!) get the message: warning: "Using deprecated NumPy API, disable it by defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
But for Cython >= 3.0a1 we never(!!!) get such errors, see ERROR MESSAGES
Explanation (in short): essential facts for explanation
One of the biggest changes in Cython >= 3.0a1 - the definition of the numpy.ndarray class to import PyArrayObject struct from 'C' header file (see \Cython\Includes\numpyinit.pxd):
... cdef extern from "numpy/arrayobject.h": ... ctypedef class numpy.ndarray [object PyArrayObject, check_size ignore] ...
a) In Cython >= 3.0a1 this definition does not (!!!) contain specific internal data members (see below) but only methods to retrieve information about ndim, shape, ..., e.g.:
@property cdef inline int ndim(self) nogil: return PyArray_NDIM(self) @property cdef inline npy_intp *shape(self) nogil: return PyArray_DIMS(self) ...
b) In Cython <= 0.29.22 this definition contains only (!!!) specific internal data members to retrieve information about ndim, shape, ..., e.g.:
cdef: char *data int ndim "nd" npy_intp *shape "dimensions" npy_intp *strides ...
When we call in *.pyx code, e.g. array.ndim, then a) Cython >= 3.0a1 compiles this into 'C' code ... object->PyArray_NDIM() b) Cython <= 0.29.22 compiles this into 'C' code ... object->nd where object - pointer to array ... Important: Cython does not (!!!) use macros NPY_NO_DEPRECATED_API or NPY_1_7_API_VERSION to import PyArrayObject struct from 'C' header file.
Now about Numpy In the header file ...\numpy\core\include\numpy\ndarraytypes.h we can find the most essential code for our topic:
... typedef struct tagPyArrayObject_fields { PyObject_HEAD char *data; int nd; npy_intp *dimensions; npy_intp *strides; PyObject *base; PyArray_Descr *descr; int flags; PyObject *weakreflist; } PyArrayObject_fields; #if !defined(NPY_NO_DEPRECATED_API) || (NPY_NO_DEPRECATED_API < NPY_1_7_API_VERSION) typedef PyArrayObject_fields PyArrayObject; #else typedef struct tagPyArrayObject { PyObject_HEAD } PyArrayObject; #endif ...
In other words Numpy defines in different ways the PyArrayObject struct depending on the definition of NPY_NO_DEPRECATED_API !!!.
Sorry for late response, Thank @igorgodel a lot. Very appreciated your kind explanation.
Calling (in def _setup_loop(self)) self._loop.add_signal_handler(...) raises "raise NotImplementedError" see, for example, https://stackoverflow.com/questions/45987985/asyncio-loops-add-signal-handler-in-windows
Just confirming this is fixed on the develop
branch now?
Will release 1.116.0 shortly.
@ian-wazowski
How are you going with running the platform in 32-bit? You must have to compile from source yourself?
I know you're on Windows as well. Are you currently hacking around anything since all of the changes?
I think the numpy API related compiler directive could be handled with a flag if you want to compile for 32-bit...?
I'm looking at adding Windows into the build matrix.
windows-latest
will be Windows Server 2019.
As you say the best way to install redis will be on top of the WSL.
Which leads me to a question - is it not cleaner to just run NautilusTrader on the WSL?
Windows Support Roadmap
Ok, Windows is now integrated into the build matrix although only runs the unit tests (integration tests depend on Redis - will add soon).
How are you going with running the platform in 32-bit? You must have to compile from source yourself?
Yes, I compile the source every time. And there is some modifications in source which to solve above problems.
I know you're on Windows as well. Are you currently hacking around anything since all of the changes?
Yes, Currently my modified branch is far from latest main(master) branch. I think I can do some integration works when this version(1.116) released.
I think the numpy API related compiler directive could be handled with a flag if you want to compile for 32-bit...?
Yes, you are right. I did not think of it (I will do that as soon as possible).
Which leads me to a question - is it not cleaner to just run NautilusTrader on the WSL?
Yes, in normal cases, NautilusTrader on the WSL is good environment for development and also live-trading.
But my broker does not support REST or FIX protocol. It has its own way(communication via Window COM). so I had to make nautilus_trader run in python 32-bit interpreter.
If you can bring your branch in line with develop
and you can get your 32-bit compilation working with a flag then I'm willing to take a PR for it
Signal handling for Windows
platforms has been modified for TradingNode
.
So .stop()
and .dispose()
will need to be called directly - will setup KeyboardInterrupt
handling at a later time.
All integration tests are now passing for Windows by using Memurai in place of Redis (Redis compatible API).
I'm now happy we can support Windows, MacOS and Linux 64-bit platforms!
I've updated the README and will do another release soon.
@ian-wazowski I had to alter the logic of your INTERPRETER_32BIT_MODE
flag as it was producing the warnings on 64-bit platforms I wanted to avoid.
It should still work for you, but let me know if that change presents any issues.
@cjdsellers
Good!
@cjdsellers
Congratulations!
Hi I hope this is the right place for this question.. I have just tried to install on Windows 10 Pro (64 bit) build 19041.928 I pip installed wheel and downloaded the build tools for VS 2019 but got the following when I tried pip install -U nautilus_trader
(..mostly works, then..) Building wheels for collected packages: nautilus-trader, ciso8601, pycares Building wheel for nautilus-trader (PEP 517) ... error
ERROR: Command errored out with exit status 1: command: 'x:\dropbox\repos\projects\eruditis.env\scripts\python.exe' 'x:\dropbox\repos\projects\eruditis.env\lib\site-packages\pip_vendor\pep517_in_process.py' build_wheel 'C:\Users\Ray\AppData\Local\Temp\tmpw95b1ejx' cwd: C:\Users\Ray\AppData\Local\Temp\pip-install-5ojjxncj\nautilus-trader_0063c9011c0043b7836ee8cc8fadf083 Complete output (408 lines):
...
nautilus_trader\adapters\betfair\execution.pxd:26:10: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables Traceback (most recent call last): File "C:\Users\Ray\AppData\Local\Temp\pip-build-env-n91ni3jb\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1249, in cythonize_one_helper return cythonize_one(*m) File "C:\Users\Ray\AppData\Local\Temp\pip-build-env-n91ni3jb\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1225, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: nautilus_trader\adapters\betfair\execution.pyx
.. there is more but hopefully that gives an idea of the issue
Any thoughts or help would be greatly appreciated!
Hi I hope this is the right place for this question.. I have just tried to install on Windows 10 Pro (64 bit) build 19041.928 I pip installed wheel and downloaded the build tools for VS 2019 but got the following when I tried pip install -U nautilus_trader
(..mostly works, then..) Building wheels for collected packages: nautilus-trader, ciso8601, pycares Building wheel for nautilus-trader (PEP 517) ... error
ERROR: Command errored out with exit status 1: command: 'x:\dropbox\repos\projects\eruditis.env\scripts\python.exe' 'x:\dropbox\repos\projects\eruditis.env\lib\site-packages\pip_vendor\pep517_in_process.py' build_wheel 'C:\Users\Ray\AppData\Local\Temp\tmpw95b1ejx' cwd: C:\Users\Ray\AppData\Local\Temp\pip-install-5ojjxncj\nautilus-trader_0063c9011c0043b7836ee8cc8fadf083 Complete output (408 lines):
Error compiling Cython file:
...
cdef class BetfairExecutionClient(LiveExecutionClient):
cdef object _client cdef object _stream cdef str _account_currency cpdef public dict venue_order_id_to_client_order_id ^ nautilus_trader\adapters\betfair\execution.pxd:26:10: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables Traceback (most recent call last): File "C:\Users\Ray\AppData\Local\Temp\pip-build-env-n91ni3jb\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1249, in cythonize_one_helper return cythonize_one(*m) File "C:\Users\Ray\AppData\Local\Temp\pip-build-env-n91ni3jb\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1225, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: nautilus_trader\adapters\betfair\execution.pyx
.. there is more but hopefully that gives an idea of the issue
Any thoughts or help would be greatly appreciated!
I had same compile error on windows 32bit.
Thanks for the feedback guys.
That PEP-517 build error has come up before on Read The Docs build server. Its caused by a dependency (or something else) in the Betfair adapter - I believe we're close to figuring it out and patching it.
About "Error compiling Cython file" from @RKMaynard
(For info: I don't use: pip install -U nautilus_trader)
@cjdsellers I think the reason is very simple: The file \adapters\betfair\execution.pxd contains the BetfairExecutionClient declaration:
cdef class BetfairExecutionClient(LiveExecutionClient):
cdef object _client
cdef object _stream
cdef str _account_currency
cpdef public dict venue_order_id_to_client_order_id
cpdef public set pending_update_order_client_ids
cpdef public object published_executions
...
Change:
1) 'cpdef' to 'cdef' for venue_order_id_to_client_order_id, pending_update_order_client_ids and published_executions 2) Another question: does attribute 'public' really need here. Maybe only - 'readonly'
Remarks: To be honest (if we talk about Cython) I don't understand (unlike the case methods or functions ) the using 'cpdef ' for data member or declaring data in module-level.
Thanks for looking into this guys, this is a great project
@igorgodel you mentioned that you don't use pip install do you have a suggested approach on windows? i am used to pip install and this seemed to nearly work (after a couple of backtracks to get wheel and the build tools)
@RKMaynard Agreed - great project
Sorry, I wanted to say 'at this stage'. I am not only the user but also the developer of trading systems ... Now I am building the project and test ... Later I will use 'pip' definitely.
Are there any further build issues for you guys on your local machines (on the latest develop
branch)?
@cjdsellers I just tried the develop branch and received some compilation errors:
(feature-labeling) C:\Users\lukas\nautilus_trader>pip install .
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: c:\users\lukas\anaconda3\envs\feature-labeling\Include\UNKNOWN
sysconfig: c:\users\lukas\anaconda3\envs\feature-labeling\Include
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
WARNING: Ignoring invalid distribution -atplotlib (c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages)
WARNING: Ignoring invalid distribution -atplotlib (c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages)
Processing c:\users\lukas\nautilus_trader
DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Requirement already satisfied: cython<4.0,>=3.0a6 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (3.0a6)
Collecting redis==3.5.3
Using cached redis-3.5.3-py2.py3-none-any.whl (72 kB)
Requirement already satisfied: scipy<2.0.0,>=1.6.1 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (1.6.2)
Collecting oandapyV20<0.7.0,>=0.6.3
Using cached oandapyV20-0.6.3-py3-none-any.whl
Requirement already satisfied: empyrical<0.6.0,>=0.5.5 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (0.5.5)
Collecting ib_insync<0.10.0,>=0.9.65
Using cached ib_insync-0.9.65-py3-none-any.whl (70 kB)
Collecting pytz<2021.0,>=2020.5
Using cached pytz-2020.5-py2.py3-none-any.whl (510 kB)
Collecting tabulate<0.9.0,>=0.8.9
Using cached tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting ccxt<2.0.0,>=1.48.9
Using cached ccxt-1.48.86-py2.py3-none-any.whl (2.1 MB)
Requirement already satisfied: pandas<2.0.0,>=1.2.4 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (1.2.4)
Collecting betfairlightweight[speed]<3.0.0,>=2.12.1
Using cached betfairlightweight-2.12.1-py3-none-any.whl (63 kB)
Collecting msgpack<2.0.0,>=1.0.2
Using cached msgpack-1.0.2-cp38-cp38-win_amd64.whl (69 kB)
Requirement already satisfied: numpy<2.0.0,>=1.20.2 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (1.20.2)
Collecting psutil<6.0.0,>=5.8.0
Using cached psutil-5.8.0-cp38-cp38-win_amd64.whl (245 kB)
Requirement already satisfied: requests<2.26.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from betfairlightweight[speed]<3.0.0,>=2.12.1->nautilus-trader==1.116.1) (2.25.1)
Collecting orjson==3.5.1
Using cached orjson-3.5.1-cp38-none-win_amd64.whl (177 kB)
Collecting ciso8601==2.1.3
Using cached ciso8601-2.1.3-cp38-cp38-win_amd64.whl
Requirement already satisfied: setuptools>=38.5.1 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (56.0.0)
Requirement already satisfied: certifi>=2018.1.18 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (2020.12.5)
Collecting yarl==1.6.3
Using cached yarl-1.6.3-cp38-cp38-win_amd64.whl (125 kB)
Collecting aiohttp<3.8,>=3.7.4
Using cached aiohttp-3.7.4.post0-cp38-cp38-win_amd64.whl (635 kB)
Collecting aiodns<2.1,>=1.1.1
Using cached aiodns-2.0.0-py2.py3-none-any.whl (4.8 kB)
Collecting cryptography>=2.6.1
Using cached cryptography-3.4.7-cp36-abi3-win_amd64.whl (1.6 MB)
Requirement already satisfied: idna>=2.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from yarl==1.6.3->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (2.10)
Collecting multidict>=4.0
Using cached multidict-5.1.0-cp38-cp38-win_amd64.whl (48 kB)
Collecting pycares>=3.0.0
Using cached pycares-3.1.1-cp38-cp38-win_amd64.whl (70 kB)
Collecting async-timeout<4.0,>=3.0
Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Requirement already satisfied: typing-extensions>=3.6.5 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from aiohttp<3.8,>=3.7.4->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (3.7.4.3)
Requirement already satisfied: attrs>=17.3.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from aiohttp<3.8,>=3.7.4->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (20.3.0)
Requirement already satisfied: chardet<5.0,>=2.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from aiohttp<3.8,>=3.7.4->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (4.0.0)
Requirement already satisfied: cffi>=1.12 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from cryptography>=2.6.1->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (1.14.5)
Requirement already satisfied: pycparser in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from cffi>=1.12->cryptography>=2.6.1->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (2.20)
Requirement already satisfied: pandas-datareader>=0.2 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from empyrical<0.6.0,>=0.5.5->nautilus-trader==1.116.1) (0.9.0)
Requirement already satisfied: nest-asyncio in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from ib_insync<0.10.0,>=0.9.65->nautilus-trader==1.116.1) (1.5.1)
Collecting eventkit
Using cached eventkit-0.8.6-py3-none-any.whl (31 kB)
Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from pandas<2.0.0,>=1.2.4->nautilus-trader==1.116.1) (2.8.1)
Requirement already satisfied: lxml in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from pandas-datareader>=0.2->empyrical<0.6.0,>=0.5.5->nautilus-trader==1.116.1) (4.6.3)
Requirement already satisfied: six>=1.5 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from python-dateutil>=2.7.3->pandas<2.0.0,>=1.2.4->nautilus-trader==1.116.1) (1.15.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from requests<2.26.0->betfairlightweight[speed]<3.0.0,>=2.12.1->nautilus-trader==1.116.1) (1.26.4)
Building wheels for collected packages: nautilus-trader
Building wheel for nautilus-trader (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\lukas\anaconda3\envs\feature-labeling\python.exe' 'c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\lukas\AppData\Local\Temp\tmpdea87eag'
cwd: C:\Users\lukas\AppData\Local\Temp\pip-req-build-3nmayc75
Complete output (410 lines):
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
Starting build...
System: Windows 64-bit
Compiling examples\strategies\ema_cross_cython.pyx because it changed.
Compiling nautilus_trader\adapters\betfair\data.pyx because it changed.
Compiling nautilus_trader\adapters\betfair\execution.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\data.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\execution.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\factories.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\providers.pyx because it changed.
Compiling nautilus_trader\adapters\ib\data.pyx because it changed.
Compiling nautilus_trader\adapters\ib\execution.pyx because it changed.
Compiling nautilus_trader\adapters\ib\providers.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\data.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\execution.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\factories.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\providers.pyx because it changed.
Compiling nautilus_trader\analysis\performance.pyx because it changed.
Compiling nautilus_trader\analysis\reports.pyx because it changed.
Compiling nautilus_trader\backtest\data_client.pyx because it changed.
Compiling nautilus_trader\backtest\data_container.pyx because it changed.
Compiling nautilus_trader\backtest\data_producer.pyx because it changed.
Compiling nautilus_trader\backtest\engine.pyx because it changed.
Compiling nautilus_trader\backtest\exchange.pyx because it changed.
Compiling nautilus_trader\backtest\execution.pyx because it changed.
Compiling nautilus_trader\backtest\loaders.pyx because it changed.
Compiling nautilus_trader\backtest\models.pyx because it changed.
Compiling nautilus_trader\backtest\modules.pyx because it changed.
Compiling nautilus_trader\common\cache.pyx because it changed.
Compiling nautilus_trader\common\clock.pyx because it changed.
Compiling nautilus_trader\common\component.pyx because it changed.
Compiling nautilus_trader\common\enums.pyx because it changed.
Compiling nautilus_trader\common\factories.pyx because it changed.
Compiling nautilus_trader\common\generators.pyx because it changed.
Compiling nautilus_trader\common\logging.pyx because it changed.
Compiling nautilus_trader\common\providers.pyx because it changed.
Compiling nautilus_trader\common\queue.pyx because it changed.
Compiling nautilus_trader\common\throttler.pyx because it changed.
Compiling nautilus_trader\common\timer.pyx because it changed.
Compiling nautilus_trader\common\uuid.pyx because it changed.
Compiling nautilus_trader\common\c_enums\component_state.pyx because it changed.
Compiling nautilus_trader\common\c_enums\component_trigger.pyx because it changed.
Compiling nautilus_trader\core\cache.pyx because it changed.
Compiling nautilus_trader\core\constants.pyx because it changed.
Compiling nautilus_trader\core\correctness.pyx because it changed.
Compiling nautilus_trader\core\datetime.pyx because it changed.
Compiling nautilus_trader\core\fsm.pyx because it changed.
Compiling nautilus_trader\core\functions.pyx because it changed.
Compiling nautilus_trader\core\message.pyx because it changed.
Compiling nautilus_trader\core\uuid.pyx because it changed.
Compiling nautilus_trader\data\aggregation.pyx because it changed.
Compiling nautilus_trader\data\base.pyx because it changed.
Compiling nautilus_trader\data\cache.pyx because it changed.
Compiling nautilus_trader\data\client.pyx because it changed.
Compiling nautilus_trader\data\database.pyx because it changed.
Compiling nautilus_trader\data\engine.pyx because it changed.
Compiling nautilus_trader\data\messages.pyx because it changed.
Compiling nautilus_trader\data\wrangling.pyx because it changed.
Compiling nautilus_trader\execution\base.pyx because it changed.
Compiling nautilus_trader\execution\cache.pyx because it changed.
Compiling nautilus_trader\execution\client.pyx because it changed.
Compiling nautilus_trader\execution\database.pyx because it changed.
Compiling nautilus_trader\execution\engine.pyx because it changed.
Compiling nautilus_trader\execution\messages.pyx because it changed.
Compiling nautilus_trader\indicators\atr.pyx because it changed.
Compiling nautilus_trader\indicators\bid_ask_min_max.pyx because it changed.
Compiling nautilus_trader\indicators\bollinger_bands.pyx because it changed.
Compiling nautilus_trader\indicators\donchian_channel.pyx because it changed.
Compiling nautilus_trader\indicators\efficiency_ratio.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_candlesticks.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enum.pyx because it changed.
Compiling nautilus_trader\indicators\hilbert_period.pyx because it changed.
Compiling nautilus_trader\indicators\hilbert_snr.pyx because it changed.
Compiling nautilus_trader\indicators\hilbert_transform.pyx because it changed.
Compiling nautilus_trader\indicators\keltner_channel.pyx because it changed.
Compiling nautilus_trader\indicators\keltner_position.pyx because it changed.
Compiling nautilus_trader\indicators\macd.pyx because it changed.
Compiling nautilus_trader\indicators\obv.pyx because it changed.
Compiling nautilus_trader\indicators\pressure.pyx because it changed.
Compiling nautilus_trader\indicators\roc.pyx because it changed.
Compiling nautilus_trader\indicators\rsi.pyx because it changed.
Compiling nautilus_trader\indicators\spread_analyzer.pyx because it changed.
Compiling nautilus_trader\indicators\stochastics.pyx because it changed.
Compiling nautilus_trader\indicators\swings.pyx because it changed.
Compiling nautilus_trader\indicators\volatility_ratio.pyx because it changed.
Compiling nautilus_trader\indicators\vwap.pyx because it changed.
Compiling nautilus_trader\indicators\average\ama.pyx because it changed.
Compiling nautilus_trader\indicators\average\ema.pyx because it changed.
Compiling nautilus_trader\indicators\average\hma.pyx because it changed.
Compiling nautilus_trader\indicators\average\ma_factory.pyx because it changed.
Compiling nautilus_trader\indicators\average\moving_average.pyx because it changed.
Compiling nautilus_trader\indicators\average\sma.pyx because it changed.
Compiling nautilus_trader\indicators\average\wma.pyx because it changed.
Compiling nautilus_trader\indicators\base\indicator.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_body.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_direction.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_size.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_wick.pyx because it changed.
Compiling nautilus_trader\live\data_client.pyx because it changed.
Compiling nautilus_trader\live\data_engine.pyx because it changed.
Compiling nautilus_trader\live\execution_client.pyx because it changed.
Compiling nautilus_trader\live\execution_engine.pyx because it changed.
Compiling nautilus_trader\live\node_builder.pyx because it changed.
Compiling nautilus_trader\live\risk_engine.pyx because it changed.
Compiling nautilus_trader\model\bar.pyx because it changed.
Compiling nautilus_trader\model\commands.pyx because it changed.
Compiling nautilus_trader\model\currencies.pyx because it changed.
Compiling nautilus_trader\model\currency.pyx because it changed.
Compiling nautilus_trader\model\data.pyx because it changed.
Compiling nautilus_trader\model\enums.pyx because it changed.
Compiling nautilus_trader\model\events.pyx because it changed.
Compiling nautilus_trader\model\identifiers.pyx because it changed.
Compiling nautilus_trader\model\instrument.pyx because it changed.
Compiling nautilus_trader\model\objects.pyx because it changed.
Compiling nautilus_trader\model\position.pyx because it changed.
Compiling nautilus_trader\model\tick.pyx because it changed.
Compiling nautilus_trader\model\c_enums\aggressor_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\asset_class.pyx because it changed.
Compiling nautilus_trader\model\c_enums\asset_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\bar_aggregation.pyx because it changed.
Compiling nautilus_trader\model\c_enums\currency_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\depth_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\instrument_close_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\instrument_status.pyx because it changed.
Compiling nautilus_trader\model\c_enums\liquidity_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\oms_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\orderbook_delta.pyx because it changed.
Compiling nautilus_trader\model\c_enums\orderbook_level.pyx because it changed.
Compiling nautilus_trader\model\c_enums\order_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\order_state.pyx because it changed.
Compiling nautilus_trader\model\c_enums\order_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\position_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\price_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\time_in_force.pyx because it changed.
Compiling nautilus_trader\model\c_enums\venue_status.pyx because it changed.
Compiling nautilus_trader\model\order\base.pyx because it changed.
Compiling nautilus_trader\model\order\bracket.pyx because it changed.
Compiling nautilus_trader\model\order\limit.pyx because it changed.
Compiling nautilus_trader\model\order\market.pyx because it changed.
Compiling nautilus_trader\model\order\stop_limit.pyx because it changed.
Compiling nautilus_trader\model\order\stop_market.pyx because it changed.
Compiling nautilus_trader\model\orderbook\book.pyx because it changed.
Compiling nautilus_trader\model\orderbook\ladder.pyx because it changed.
Compiling nautilus_trader\model\orderbook\level.pyx because it changed.
Compiling nautilus_trader\model\orderbook\order.pyx because it changed.
Compiling nautilus_trader\redis\execution.pyx because it changed.
Compiling nautilus_trader\risk\engine.pyx because it changed.
Compiling nautilus_trader\risk\sizing.pyx because it changed.
Compiling nautilus_trader\serialization\base.pyx because it changed.
Compiling nautilus_trader\serialization\serializers.pyx because it changed.
Compiling nautilus_trader\trading\account.pyx because it changed.
Compiling nautilus_trader\trading\calculators.pyx because it changed.
Compiling nautilus_trader\trading\filters.pyx because it changed.
Compiling nautilus_trader\trading\portfolio.pyx because it changed.
Compiling nautilus_trader\trading\strategy.pyx because it changed.
Compiling nautilus_trader\trading\trader.pyx because it changed.
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 2/153] Cythonizing nautilus_trader\adapters\betfair\data.pyx
[ 20/153] Cythonizing nautilus_trader\backtest\engine.pyx
[ 47/153] Cythonizing nautilus_trader\core\uuid.pyx
[ 52/153] Cythonizing nautilus_trader\data\database.pyx
[ 54/153] Cythonizing nautilus_trader\data\messages.pyx
[ 59/153] Cythonizing nautilus_trader\execution\database.pyx
[ 87/153] Cythonizing nautilus_trader\indicators\obv.pyx
[ 95/153] Cythonizing nautilus_trader\indicators\vwap.pyx
[109/153] Cythonizing nautilus_trader\model\c_enums\instrument_close_type.pyx
[117/153] Cythonizing nautilus_trader\model\c_enums\orderbook_level.pyx
[123/153] Cythonizing nautilus_trader\model\currencies.pyx
[130/153] Cythonizing nautilus_trader\model\objects.pyx
[132/153] Cythonizing nautilus_trader\model\order\bracket.pyx
[137/153] Cythonizing nautilus_trader\model\orderbook\book.pyx
Error compiling Cython file:
------------------------------------------------------------
...
from nautilus_trader.model.instrument cimport BettingInstrument
from nautilus_trader.adapters.betfair.common import BETFAIR_VENUE
from nautilus_trader.adapters.betfair.parsing import on_market_update
from nautilus_trader.adapters.betfair.providers cimport BetfairInstrumentProvider
^
------------------------------------------------------------
nautilus_trader\adapters\betfair\data.pyx:37:0: 'nautilus_trader\adapters\betfair\providers.pxd' not found
Traceback (most recent call last):
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1249, in cythonize_one_helper
return cythonize_one(*m)
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1225, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: nautilus_trader\adapters\betfair\data.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 10/153] Cythonizing nautilus_trader\adapters\ib\providers.pyx
[ 19/153] Cythonizing nautilus_trader\backtest\data_producer.pyx
[ 35/153] Cythonizing nautilus_trader\common\providers.pyx
[ 39/153] Cythonizing nautilus_trader\common\uuid.pyx
[ 40/153] Cythonizing nautilus_trader\core\cache.pyx
[ 41/153] Cythonizing nautilus_trader\core\constants.pyx
[ 42/153] Cythonizing nautilus_trader\core\correctness.pyx
[ 44/153] Cythonizing nautilus_trader\core\fsm.pyx
[ 45/153] Cythonizing nautilus_trader\core\functions.pyx
[ 63/153] Cythonizing nautilus_trader\indicators\average\ama.pyx
[ 65/153] Cythonizing nautilus_trader\indicators\average\hma.pyx
[ 74/153] Cythonizing nautilus_trader\indicators\efficiency_ratio.pyx
[ 79/153] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_size.pyx
[ 85/153] Cythonizing nautilus_trader\indicators\keltner_position.pyx
[ 94/153] Cythonizing nautilus_trader\indicators\volatility_ratio.pyx
[100/153] Cythonizing nautilus_trader\live\node_builder.pyx
[142/153] Cythonizing nautilus_trader\model\tick.pyx
[149/153] Cythonizing nautilus_trader\trading\calculators.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 4/153] Cythonizing nautilus_trader\adapters\ccxt\data.pyx
[ 36/153] Cythonizing nautilus_trader\common\queue.pyx
[ 38/153] Cythonizing nautilus_trader\common\timer.pyx
[ 43/153] Cythonizing nautilus_trader\core\datetime.pyx
[ 46/153] Cythonizing nautilus_trader\core\message.pyx
[ 50/153] Cythonizing nautilus_trader\data\cache.pyx
[ 68/153] Cythonizing nautilus_trader\indicators\average\sma.pyx
[ 78/153] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_direction.pyx
[ 84/153] Cythonizing nautilus_trader\indicators\keltner_channel.pyx
[ 92/153] Cythonizing nautilus_trader\indicators\stochastics.pyx
[101/153] Cythonizing nautilus_trader\live\risk_engine.pyx
[140/153] Cythonizing nautilus_trader\model\orderbook\order.pyx
[146/153] Cythonizing nautilus_trader\serialization\base.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 6/153] Cythonizing nautilus_trader\adapters\ccxt\factories.pyx
[ 24/153] Cythonizing nautilus_trader\backtest\models.pyx
[ 25/153] Cythonizing nautilus_trader\backtest\modules.pyx
[ 61/153] Cythonizing nautilus_trader\execution\messages.pyx
[ 62/153] Cythonizing nautilus_trader\indicators\atr.pyx
[ 64/153] Cythonizing nautilus_trader\indicators\average\ema.pyx
[ 66/153] Cythonizing nautilus_trader\indicators\average\ma_factory.pyx
[ 67/153] Cythonizing nautilus_trader\indicators\average\moving_average.pyx
[ 70/153] Cythonizing nautilus_trader\indicators\base\indicator.pyx
[ 72/153] Cythonizing nautilus_trader\indicators\bollinger_bands.pyx
[ 86/153] Cythonizing nautilus_trader\indicators\macd.pyx
[ 96/153] Cythonizing nautilus_trader\live\data_client.pyx
[150/153] Cythonizing nautilus_trader\trading\filters.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 12/153] Cythonizing nautilus_trader\adapters\oanda\execution.pyx
[ 16/153] Cythonizing nautilus_trader\analysis\reports.pyx
[ 22/153] Cythonizing nautilus_trader\backtest\execution.pyx
[ 49/153] Cythonizing nautilus_trader\data\base.pyx
[ 58/153] Cythonizing nautilus_trader\execution\client.pyx
[ 91/153] Cythonizing nautilus_trader\indicators\spread_analyzer.pyx
[105/153] Cythonizing nautilus_trader\model\c_enums\asset_type.pyx
[113/153] Cythonizing nautilus_trader\model\c_enums\order_side.pyx
[116/153] Cythonizing nautilus_trader\model\c_enums\orderbook_delta.pyx
[121/153] Cythonizing nautilus_trader\model\c_enums\venue_status.pyx
[126/153] Cythonizing nautilus_trader\model\enums.pyx
[127/153] Cythonizing nautilus_trader\model\events.pyx
[145/153] Cythonizing nautilus_trader\risk\sizing.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 9/153] Cythonizing nautilus_trader\adapters\ib\execution.pyx
[ 15/153] Cythonizing nautilus_trader\analysis\performance.pyx
[ 26/153] Cythonizing nautilus_trader\common\c_enums\component_state.pyx
[ 30/153] Cythonizing nautilus_trader\common\component.pyx
[ 55/153] Cythonizing nautilus_trader\data\wrangling.pyx
[ 71/153] Cythonizing nautilus_trader\indicators\bid_ask_min_max.pyx
[ 81/153] Cythonizing nautilus_trader\indicators\hilbert_period.pyx
[ 88/153] Cythonizing nautilus_trader\indicators\pressure.pyx
[ 99/153] Cythonizing nautilus_trader\live\execution_engine.pyx
[147/153] Cythonizing nautilus_trader\serialization\serializers.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 3/153] Cythonizing nautilus_trader\adapters\betfair\execution.pyx
[ 13/153] Cythonizing nautilus_trader\adapters\oanda\factories.pyx
[ 21/153] Cythonizing nautilus_trader\backtest\exchange.pyx
[ 60/153] Cythonizing nautilus_trader\execution\engine.pyx
[102/153] Cythonizing nautilus_trader\model\bar.pyx
[118/153] Cythonizing nautilus_trader\model\c_enums\position_side.pyx
[125/153] Cythonizing nautilus_trader\model\data.pyx
[131/153] Cythonizing nautilus_trader\model\order\base.pyx
[136/153] Cythonizing nautilus_trader\model\order\stop_market.pyx
[148/153] Cythonizing nautilus_trader\trading\account.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 7/153] Cythonizing nautilus_trader\adapters\ccxt\providers.pyx
[ 17/153] Cythonizing nautilus_trader\backtest\data_client.pyx
[ 37/153] Cythonizing nautilus_trader\common\throttler.pyx
[ 53/153] Cythonizing nautilus_trader\data\engine.pyx
[ 89/153] Cythonizing nautilus_trader\indicators\roc.pyx
[ 97/153] Cythonizing nautilus_trader\live\data_engine.pyx
[151/153] Cythonizing nautilus_trader\trading\portfolio.pyx
Error compiling Cython file:
------------------------------------------------------------
...
from typing import Dict, List, Optional, Set
import betfairlightweight
import orjson
from nautilus_trader.adapters.betfair.providers cimport BetfairInstrumentProvider
^
------------------------------------------------------------
nautilus_trader\adapters\betfair\execution.pyx:26:0: 'nautilus_trader\adapters\betfair\providers.pxd' not found
Traceback (most recent call last):
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1249, in cythonize_one_helper
return cythonize_one(*m)
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1225, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: nautilus_trader\adapters\betfair\execution.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 5/153] Cythonizing nautilus_trader\adapters\ccxt\execution.pyx
[ 33/153] Cythonizing nautilus_trader\common\generators.pyx
[ 48/153] Cythonizing nautilus_trader\data\aggregation.pyx
[ 69/153] Cythonizing nautilus_trader\indicators\average\wma.pyx
[ 75/153] Cythonizing nautilus_trader\indicators\fuzzy_candlesticks.pyx
[103/153] Cythonizing nautilus_trader\model\c_enums\aggressor_side.pyx
[108/153] Cythonizing nautilus_trader\model\c_enums\depth_type.pyx
[111/153] Cythonizing nautilus_trader\model\c_enums\liquidity_side.pyx
[115/153] Cythonizing nautilus_trader\model\c_enums\order_type.pyx
[119/153] Cythonizing nautilus_trader\model\c_enums\price_type.pyx
[122/153] Cythonizing nautilus_trader\model\commands.pyx
[133/153] Cythonizing nautilus_trader\model\order\limit.pyx
[138/153] Cythonizing nautilus_trader\model\orderbook\ladder.pyx
[153/153] Cythonizing nautilus_trader\trading\trader.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 8/153] Cythonizing nautilus_trader\adapters\ib\data.pyx
[ 14/153] Cythonizing nautilus_trader\adapters\oanda\providers.pyx
[ 18/153] Cythonizing nautilus_trader\backtest\data_container.pyx
[ 31/153] Cythonizing nautilus_trader\common\enums.pyx
[ 32/153] Cythonizing nautilus_trader\common\factories.pyx
[ 51/153] Cythonizing nautilus_trader\data\client.pyx
[ 83/153] Cythonizing nautilus_trader\indicators\hilbert_transform.pyx
[ 90/153] Cythonizing nautilus_trader\indicators\rsi.pyx
[ 98/153] Cythonizing nautilus_trader\live\execution_client.pyx
[143/153] Cythonizing nautilus_trader\redis\execution.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 11/153] Cythonizing nautilus_trader\adapters\oanda\data.pyx
[ 27/153] Cythonizing nautilus_trader\common\c_enums\component_trigger.pyx
[ 28/153] Cythonizing nautilus_trader\common\cache.pyx
[ 34/153] Cythonizing nautilus_trader\common\logging.pyx
[ 57/153] Cythonizing nautilus_trader\execution\cache.pyx
[104/153] Cythonizing nautilus_trader\model\c_enums\asset_class.pyx
[107/153] Cythonizing nautilus_trader\model\c_enums\currency_type.pyx
[110/153] Cythonizing nautilus_trader\model\c_enums\instrument_status.pyx
[114/153] Cythonizing nautilus_trader\model\c_enums\order_state.pyx
[124/153] Cythonizing nautilus_trader\model\currency.pyx
[129/153] Cythonizing nautilus_trader\model\instrument.pyx
[135/153] Cythonizing nautilus_trader\model\order\stop_limit.pyx
[139/153] Cythonizing nautilus_trader\model\orderbook\level.pyx
[144/153] Cythonizing nautilus_trader\risk\engine.pyx
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\multiprocessing\pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\multiprocessing\pool.py", line 48, in mapstar
return list(map(*args))
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1249, in cythonize_one_helper
return cythonize_one(*m)
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1225, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: nautilus_trader\adapters\betfair\execution.pyx
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "build.py", line 174, in <module>
build({})
File "build.py", line 138, in build
distribution = _build_distribution(extensions)
File "build.py", line 107, in _build_distribution
ext_modules=cythonize(
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1093, in cythonize
result.get(99999) # seconds
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\multiprocessing\pool.py", line 771, in get
raise self._value
Cython.Compiler.Errors.CompileError: nautilus_trader\adapters\betfair\execution.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 1/153] Cythonizing examples\strategies\ema_cross_cython.pyx
[ 23/153] Cythonizing nautilus_trader\backtest\loaders.pyx
[ 29/153] Cythonizing nautilus_trader\common\clock.pyx
[ 56/153] Cythonizing nautilus_trader\execution\base.pyx
[ 73/153] Cythonizing nautilus_trader\indicators\donchian_channel.pyx
[ 76/153] Cythonizing nautilus_trader\indicators\fuzzy_enum.pyx
[ 77/153] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_body.pyx
[ 80/153] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_wick.pyx
[ 82/153] Cythonizing nautilus_trader\indicators\hilbert_snr.pyx
[ 93/153] Cythonizing nautilus_trader\indicators\swings.pyx
[106/153] Cythonizing nautilus_trader\model\c_enums\bar_aggregation.pyx
[112/153] Cythonizing nautilus_trader\model\c_enums\oms_type.pyx
[120/153] Cythonizing nautilus_trader\model\c_enums\time_in_force.pyx
[128/153] Cythonizing nautilus_trader\model\identifiers.pyx
[134/153] Cythonizing nautilus_trader\model\order\market.pyx
[141/153] Cythonizing nautilus_trader\model\position.pyx
[152/153] Cythonizing nautilus_trader\trading\strategy.pyx
Traceback (most recent call last):
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 280, in <module>
main()
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 263, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 204, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\poetry\core\masonry\api.py", line 68, in build_wheel
return unicode(WheelBuilder.make_in(poetry, Path(wheel_directory)))
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 72, in make_in
wb.build()
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 99, in build
self._build(zip_file)
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 125, in _build
self._run_build_script(self._package.build_script)
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-c1c1lo7a\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 175, in _run_build_script
subprocess.check_call([self.executable.as_posix(), build_script])
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['c:/users/lukas/anaconda3/envs/feature-labeling/python.exe', 'build.py']' returned non-zero exit status 1.
----------------------------------------
ERROR: Failed building wheel for nautilus-trader
Failed to build nautilus-trader
ERROR: Could not build wheels for nautilus-trader which use PEP 517 and cannot be installed directly
Thanks for the feedback Lukas,
I believe those errors have been fixed. Could you please try on the latest version of develop
and report if you still experience the same error?
Just tried to build the latest develop and ran into a different issue. So it seems like there is an improvement
pip install .
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/9617>
distutils: c:\users\lukas\anaconda3\envs\feature-labeling\Include\UNKNOWN
sysconfig: c:\users\lukas\anaconda3\envs\feature-labeling\Include
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
WARNING: Ignoring invalid distribution -atplotlib (c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages)
WARNING: Ignoring invalid distribution -atplotlib (c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages)
Processing c:\users\lukas\nautilus_trader
DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Collecting msgpack<2.0.0,>=1.0.2
Using cached msgpack-1.0.2-cp38-cp38-win_amd64.whl (69 kB)
Collecting pytz<2021.0,>=2020.5
Using cached pytz-2020.5-py2.py3-none-any.whl (510 kB)
Collecting redis==3.5.3
Using cached redis-3.5.3-py2.py3-none-any.whl (72 kB)
Collecting ib_insync<0.10.0,>=0.9.65
Downloading ib_insync-0.9.66-py3-none-any.whl (70 kB)
|████████████████████████████████| 70 kB 2.2 MB/s
Collecting ccxt<2.0.0,>=1.48.9
Downloading ccxt-1.48.90-py2.py3-none-any.whl (2.1 MB)
|████████████████████████████████| 2.1 MB 3.3 MB/s
Requirement already satisfied: pandas<2.0.0,>=1.2.4 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (1.2.4)
Collecting psutil<6.0.0,>=5.8.0
Using cached psutil-5.8.0-cp38-cp38-win_amd64.whl (245 kB)
Collecting tabulate<0.9.0,>=0.8.9
Using cached tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting betfairlightweight[speed]<3.0.0,>=2.12.1
Using cached betfairlightweight-2.12.1-py3-none-any.whl (63 kB)
Requirement already satisfied: numpy<2.0.0,>=1.20.2 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (1.20.2)
Collecting oandapyV20<0.7.0,>=0.6.3
Using cached oandapyV20-0.6.3-py3-none-any.whl
Requirement already satisfied: scipy<2.0.0,>=1.6.1 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (1.6.2)
Requirement already satisfied: cython<4.0,>=3.0a6 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (3.0a6)
Requirement already satisfied: empyrical<0.6.0,>=0.5.5 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from nautilus-trader==1.116.1) (0.5.5)
Requirement already satisfied: requests<2.26.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from betfairlightweight[speed]<3.0.0,>=2.12.1->nautilus-trader==1.116.1) (2.25.1)
Collecting orjson==3.5.1
Using cached orjson-3.5.1-cp38-none-win_amd64.whl (177 kB)
Collecting ciso8601==2.1.3
Using cached ciso8601-2.1.3-cp38-cp38-win_amd64.whl
Collecting aiohttp<3.8,>=3.7.4
Using cached aiohttp-3.7.4.post0-cp38-cp38-win_amd64.whl (635 kB)
Collecting cryptography>=2.6.1
Using cached cryptography-3.4.7-cp36-abi3-win_amd64.whl (1.6 MB)
Collecting aiodns<2.1,>=1.1.1
Using cached aiodns-2.0.0-py2.py3-none-any.whl (4.8 kB)
Requirement already satisfied: certifi>=2018.1.18 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (2020.12.5)
Collecting yarl==1.6.3
Using cached yarl-1.6.3-cp38-cp38-win_amd64.whl (125 kB)
Requirement already satisfied: setuptools>=38.5.1 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (56.0.0)
Requirement already satisfied: idna>=2.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from yarl==1.6.3->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (2.10)
Collecting multidict>=4.0
Using cached multidict-5.1.0-cp38-cp38-win_amd64.whl (48 kB)
Collecting pycares>=3.0.0
Using cached pycares-3.1.1-cp38-cp38-win_amd64.whl (70 kB)
Requirement already satisfied: attrs>=17.3.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from aiohttp<3.8,>=3.7.4->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (20.3.0)
Requirement already satisfied: chardet<5.0,>=2.0 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from aiohttp<3.8,>=3.7.4->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (4.0.0)
Collecting async-timeout<4.0,>=3.0
Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Requirement already satisfied: typing-extensions>=3.6.5 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from aiohttp<3.8,>=3.7.4->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (3.7.4.3)
Requirement already satisfied: cffi>=1.12 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from cryptography>=2.6.1->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (1.14.5)
Requirement already satisfied: pycparser in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from cffi>=1.12->cryptography>=2.6.1->ccxt<2.0.0,>=1.48.9->nautilus-trader==1.116.1) (2.20)
Requirement already satisfied: pandas-datareader>=0.2 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from empyrical<0.6.0,>=0.5.5->nautilus-trader==1.116.1) (0.9.0)
Requirement already satisfied: nest-asyncio in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from ib_insync<0.10.0,>=0.9.65->nautilus-trader==1.116.1) (1.5.1)
Collecting eventkit
Using cached eventkit-0.8.6-py3-none-any.whl (31 kB)
Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from pandas<2.0.0,>=1.2.4->nautilus-trader==1.116.1) (2.8.1)
Requirement already satisfied: lxml in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from pandas-datareader>=0.2->empyrical<0.6.0,>=0.5.5->nautilus-trader==1.116.1) (4.6.3)
Requirement already satisfied: six>=1.5 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from python-dateutil>=2.7.3->pandas<2.0.0,>=1.2.4->nautilus-trader==1.116.1) (1.15.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages (from requests<2.26.0->betfairlightweight[speed]<3.0.0,>=2.12.1->nautilus-trader==1.116.1) (1.26.4)
Building wheels for collected packages: nautilus-trader
Building wheel for nautilus-trader (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\lukas\anaconda3\envs\feature-labeling\python.exe' 'c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\lukas\AppData\Local\Temp\tmp2wkyh3kb'
cwd: C:\Users\lukas\AppData\Local\Temp\pip-req-build-yhqk1_nu
Complete output (1074 lines):
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
Starting build...
System: Windows 64-bit
Compiling examples\strategies\ema_cross_cython.pyx because it changed.
Compiling nautilus_trader\adapters\betfair\data.pyx because it changed.
Compiling nautilus_trader\adapters\betfair\execution.pyx because it changed.
Compiling nautilus_trader\adapters\betfair\factory.pyx because it changed.
Compiling nautilus_trader\adapters\betfair\providers.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\data.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\execution.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\factories.pyx because it changed.
Compiling nautilus_trader\adapters\ccxt\providers.pyx because it changed.
Compiling nautilus_trader\adapters\ib\data.pyx because it changed.
Compiling nautilus_trader\adapters\ib\execution.pyx because it changed.
Compiling nautilus_trader\adapters\ib\providers.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\data.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\execution.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\factories.pyx because it changed.
Compiling nautilus_trader\adapters\oanda\providers.pyx because it changed.
Compiling nautilus_trader\analysis\performance.pyx because it changed.
Compiling nautilus_trader\analysis\reports.pyx because it changed.
Compiling nautilus_trader\backtest\data_client.pyx because it changed.
Compiling nautilus_trader\backtest\data_container.pyx because it changed.
Compiling nautilus_trader\backtest\data_producer.pyx because it changed.
Compiling nautilus_trader\backtest\engine.pyx because it changed.
Compiling nautilus_trader\backtest\exchange.pyx because it changed.
Compiling nautilus_trader\backtest\execution.pyx because it changed.
Compiling nautilus_trader\backtest\loaders.pyx because it changed.
Compiling nautilus_trader\backtest\models.pyx because it changed.
Compiling nautilus_trader\backtest\modules.pyx because it changed.
Compiling nautilus_trader\common\cache.pyx because it changed.
Compiling nautilus_trader\common\clock.pyx because it changed.
Compiling nautilus_trader\common\component.pyx because it changed.
Compiling nautilus_trader\common\enums.pyx because it changed.
Compiling nautilus_trader\common\factories.pyx because it changed.
Compiling nautilus_trader\common\generators.pyx because it changed.
Compiling nautilus_trader\common\logging.pyx because it changed.
Compiling nautilus_trader\common\providers.pyx because it changed.
Compiling nautilus_trader\common\queue.pyx because it changed.
Compiling nautilus_trader\common\throttler.pyx because it changed.
Compiling nautilus_trader\common\timer.pyx because it changed.
Compiling nautilus_trader\common\uuid.pyx because it changed.
Compiling nautilus_trader\common\c_enums\component_state.pyx because it changed.
Compiling nautilus_trader\common\c_enums\component_trigger.pyx because it changed.
Compiling nautilus_trader\core\cache.pyx because it changed.
Compiling nautilus_trader\core\constants.pyx because it changed.
Compiling nautilus_trader\core\correctness.pyx because it changed.
Compiling nautilus_trader\core\datetime.pyx because it changed.
Compiling nautilus_trader\core\fsm.pyx because it changed.
Compiling nautilus_trader\core\functions.pyx because it changed.
Compiling nautilus_trader\core\message.pyx because it changed.
Compiling nautilus_trader\core\uuid.pyx because it changed.
Compiling nautilus_trader\data\aggregation.pyx because it changed.
Compiling nautilus_trader\data\base.pyx because it changed.
Compiling nautilus_trader\data\cache.pyx because it changed.
Compiling nautilus_trader\data\client.pyx because it changed.
Compiling nautilus_trader\data\database.pyx because it changed.
Compiling nautilus_trader\data\engine.pyx because it changed.
Compiling nautilus_trader\data\messages.pyx because it changed.
Compiling nautilus_trader\data\wrangling.pyx because it changed.
Compiling nautilus_trader\execution\base.pyx because it changed.
Compiling nautilus_trader\execution\cache.pyx because it changed.
Compiling nautilus_trader\execution\client.pyx because it changed.
Compiling nautilus_trader\execution\database.pyx because it changed.
Compiling nautilus_trader\execution\engine.pyx because it changed.
Compiling nautilus_trader\execution\messages.pyx because it changed.
Compiling nautilus_trader\indicators\atr.pyx because it changed.
Compiling nautilus_trader\indicators\bid_ask_min_max.pyx because it changed.
Compiling nautilus_trader\indicators\bollinger_bands.pyx because it changed.
Compiling nautilus_trader\indicators\donchian_channel.pyx because it changed.
Compiling nautilus_trader\indicators\efficiency_ratio.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_candlesticks.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enum.pyx because it changed.
Compiling nautilus_trader\indicators\hilbert_period.pyx because it changed.
Compiling nautilus_trader\indicators\hilbert_snr.pyx because it changed.
Compiling nautilus_trader\indicators\hilbert_transform.pyx because it changed.
Compiling nautilus_trader\indicators\keltner_channel.pyx because it changed.
Compiling nautilus_trader\indicators\keltner_position.pyx because it changed.
Compiling nautilus_trader\indicators\macd.pyx because it changed.
Compiling nautilus_trader\indicators\obv.pyx because it changed.
Compiling nautilus_trader\indicators\pressure.pyx because it changed.
Compiling nautilus_trader\indicators\roc.pyx because it changed.
Compiling nautilus_trader\indicators\rsi.pyx because it changed.
Compiling nautilus_trader\indicators\spread_analyzer.pyx because it changed.
Compiling nautilus_trader\indicators\stochastics.pyx because it changed.
Compiling nautilus_trader\indicators\swings.pyx because it changed.
Compiling nautilus_trader\indicators\volatility_ratio.pyx because it changed.
Compiling nautilus_trader\indicators\vwap.pyx because it changed.
Compiling nautilus_trader\indicators\average\ama.pyx because it changed.
Compiling nautilus_trader\indicators\average\ema.pyx because it changed.
Compiling nautilus_trader\indicators\average\hma.pyx because it changed.
Compiling nautilus_trader\indicators\average\ma_factory.pyx because it changed.
Compiling nautilus_trader\indicators\average\moving_average.pyx because it changed.
Compiling nautilus_trader\indicators\average\sma.pyx because it changed.
Compiling nautilus_trader\indicators\average\wma.pyx because it changed.
Compiling nautilus_trader\indicators\base\indicator.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_body.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_direction.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_size.pyx because it changed.
Compiling nautilus_trader\indicators\fuzzy_enums\candle_wick.pyx because it changed.
Compiling nautilus_trader\live\data_client.pyx because it changed.
Compiling nautilus_trader\live\data_engine.pyx because it changed.
Compiling nautilus_trader\live\execution_client.pyx because it changed.
Compiling nautilus_trader\live\execution_engine.pyx because it changed.
Compiling nautilus_trader\live\node_builder.pyx because it changed.
Compiling nautilus_trader\live\risk_engine.pyx because it changed.
Compiling nautilus_trader\model\bar.pyx because it changed.
Compiling nautilus_trader\model\commands.pyx because it changed.
Compiling nautilus_trader\model\currencies.pyx because it changed.
Compiling nautilus_trader\model\currency.pyx because it changed.
Compiling nautilus_trader\model\data.pyx because it changed.
Compiling nautilus_trader\model\enums.pyx because it changed.
Compiling nautilus_trader\model\events.pyx because it changed.
Compiling nautilus_trader\model\identifiers.pyx because it changed.
Compiling nautilus_trader\model\instrument.pyx because it changed.
Compiling nautilus_trader\model\objects.pyx because it changed.
Compiling nautilus_trader\model\position.pyx because it changed.DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 2/155] Cythonizing nautilus_trader\adapters\betfair\data.pyx
[ 24/155] Cythonizing nautilus_trader\backtest\execution.pyx
[ 54/155] Cythonizing nautilus_trader\data\database.pyx
[ 56/155] Cythonizing nautilus_trader\data\messages.pyx
[ 60/155] Cythonizing nautilus_trader\execution\client.pyx
[101/155] Cythonizing nautilus_trader\live\execution_engine.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 7/155] Cythonizing nautilus_trader\adapters\ccxt\execution.pyx
[ 32/155] Cythonizing nautilus_trader\common\component.pyx
[ 55/155] Cythonizing nautilus_trader\data\engine.pyx
[102/155] Cythonizing nautilus_trader\live\node_builder.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 11/155] Cythonizing nautilus_trader\adapters\ib\execution.pyx
[ 14/155] Cythonizing nautilus_trader\adapters\oanda\execution.pyx
[ 15/155] Cythonizing nautilus_trader\adapters\oanda\factories.pyx
[ 23/155] Cythonizing nautilus_trader\backtest\exchange.pyx
[ 63/155] Cythonizing nautilus_trader\execution\messages.pyx
[ 65/155] Cythonizing nautilus_trader\indicators\average\ama.pyx
[ 72/155] Cythonizing nautilus_trader\indicators\base\indicator.pyx
[ 75/155] Cythonizing nautilus_trader\indicators\donchian_channel.pyx
[ 80/155] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_direction.pyx
[ 85/155] Cythonizing nautilus_trader\indicators\hilbert_transform.pyx
[ 91/155] Cythonizing nautilus_trader\indicators\roc.pyx
[ 96/155] Cythonizing nautilus_trader\indicators\volatility_ratio.pyx
[105/155] Cythonizing nautilus_trader\model\c_enums\aggressor_side.pyx
[109/155] Cythonizing nautilus_trader\model\c_enums\currency_type.pyx
[114/155] Cythonizing nautilus_trader\model\c_enums\oms_type.pyx
[119/155] Cythonizing nautilus_trader\model\c_enums\orderbook_level.pyx
[122/155] Cythonizing nautilus_trader\model\c_enums\time_in_force.pyx
[128/155] Cythonizing nautilus_trader\model\enums.pyx
[129/155] Cythonizing nautilus_trader\model\events.pyx
[152/155] Cythonizing nautilus_trader\trading\filters.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 6/155] Cythonizing nautilus_trader\adapters\ccxt\data.pyx
[ 27/155] Cythonizing nautilus_trader\backtest\modules.pyx
[ 50/155] Cythonizing nautilus_trader\data\aggregation.pyx
[ 71/155] Cythonizing nautilus_trader\indicators\average\wma.pyx
[ 82/155] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_wick.pyx
[ 86/155] Cythonizing nautilus_trader\indicators\keltner_channel.pyx
[ 92/155] Cythonizing nautilus_trader\indicators\rsi.pyx
[ 99/155] Cythonizing nautilus_trader\live\data_engine.pyx
[143/155] Cythonizing nautilus_trader\model\position.pyx
[151/155] Cythonizing nautilus_trader\trading\calculators.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 1/155] Cythonizing examples\strategies\ema_cross_cython.pyx
[ 20/155] Cythonizing nautilus_trader\backtest\data_container.pyx
[ 38/155] Cythonizing nautilus_trader\common\queue.pyx
[ 40/155] Cythonizing nautilus_trader\common\timer.pyx
[ 48/155] Cythonizing nautilus_trader\core\message.pyx
[ 57/155] Cythonizing nautilus_trader\data\wrangling.pyx
[ 68/155] Cythonizing nautilus_trader\indicators\average\ma_factory.pyx
[ 70/155] Cythonizing nautilus_trader\indicators\average\sma.pyx
[ 78/155] Cythonizing nautilus_trader\indicators\fuzzy_enum.pyx
[ 79/155] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_body.pyx
[ 83/155] Cythonizing nautilus_trader\indicators\hilbert_period.pyx
[ 88/155] Cythonizing nautilus_trader\indicators\macd.pyx
[100/155] Cythonizing nautilus_trader\live\execution_client.pyx
[140/155] Cythonizing nautilus_trader\model\orderbook\ladder.pyx
[150/155] Cythonizing nautilus_trader\trading\account.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 12/155] Cythonizing nautilus_trader\adapters\ib\providers.pyx
[ 17/155] Cythonizing nautilus_trader\analysis\performance.pyx
[ 36/155] Cythonizing nautilus_trader\common\logging.pyx
[ 61/155] Cythonizing nautilus_trader\execution\database.pyx
[103/155] Cythonizing nautilus_trader\live\risk_engine.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 3/155] Cythonizing nautilus_trader\adapters\betfair\execution.pyx
[ 21/155] Cythonizing nautilus_trader\backtest\data_producer.pyx
[ 41/155] Cythonizing nautilus_trader\common\uuid.pyx
[ 42/155] Cythonizing nautilus_trader\core\cache.pyx
[ 44/155] Cythonizing nautilus_trader\core\correctness.pyx
[ 52/155] Cythonizing nautilus_trader\data\cache.pyx
[ 67/155] Cythonizing nautilus_trader\indicators\average\hma.pyx
[ 76/155] Cythonizing nautilus_trader\indicators\efficiency_ratio.pyx
[ 81/155] Cythonizing nautilus_trader\indicators\fuzzy_enums\candle_size.pyx
[ 84/155] Cythonizing nautilus_trader\indicators\hilbert_snr.pyx
[ 90/155] Cythonizing nautilus_trader\indicators\pressure.pyx
[ 95/155] Cythonizing nautilus_trader\indicators\swings.pyx
[106/155] Cythonizing nautilus_trader\model\c_enums\asset_class.pyx
[108/155] Cythonizing nautilus_trader\model\c_enums\bar_aggregation.pyx
[113/155] Cythonizing nautilus_trader\model\c_enums\liquidity_side.pyx
[118/155] Cythonizing nautilus_trader\model\c_enums\orderbook_delta.pyx
[125/155] Cythonizing nautilus_trader\model\currencies.pyx
[130/155] Cythonizing nautilus_trader\model\identifiers.pyx
[135/155] Cythonizing nautilus_trader\model\order\limit.pyx
[142/155] Cythonizing nautilus_trader\model\orderbook\order.pyx
[144/155] Cythonizing nautilus_trader\model\tick.pyx
[149/155] Cythonizing nautilus_trader\serialization\serializers.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 8/155] Cythonizing nautilus_trader\adapters\ccxt\factories.pyx
[ 26/155] Cythonizing nautilus_trader\backtest\models.pyx
[ 28/155] Cythonizing nautilus_trader\common\c_enums\component_state.pyx
[ 30/155] Cythonizing nautilus_trader\common\cache.pyx
[ 34/155] Cythonizing nautilus_trader\common\factories.pyx
[ 58/155] Cythonizing nautilus_trader\execution\base.pyx
[ 87/155] Cythonizing nautilus_trader\indicators\keltner_position.pyx
[ 93/155] Cythonizing nautilus_trader\indicators\spread_analyzer.pyx
[116/155] Cythonizing nautilus_trader\model\c_enums\order_state.pyx
[126/155] Cythonizing nautilus_trader\model\currency.pyx
[132/155] Cythonizing nautilus_trader\model\objects.pyx
[136/155] Cythonizing nautilus_trader\model\order\market.pyx
[146/155] Cythonizing nautilus_trader\risk\engine.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 10/155] Cythonizing nautilus_trader\adapters\ib\data.pyx
[ 13/155] Cythonizing nautilus_trader\adapters\oanda\data.pyx
[ 25/155] Cythonizing nautilus_trader\backtest\loaders.pyx
[ 33/155] Cythonizing nautilus_trader\common\enums.pyx
[ 35/155] Cythonizing nautilus_trader\common\generators.pyx
[ 45/155] Cythonizing nautilus_trader\core\datetime.pyx
[ 51/155] Cythonizing nautilus_trader\data\base.pyx
[ 59/155] Cythonizing nautilus_trader\execution\cache.pyx
[112/155] Cythonizing nautilus_trader\model\c_enums\instrument_status.pyx
[123/155] Cythonizing nautilus_trader\model\c_enums\venue_status.pyx
[131/155] Cythonizing nautilus_trader\model\instrument.pyx
[141/155] Cythonizing nautilus_trader\model\orderbook\level.pyx
[145/155] Cythonizing nautilus_trader\redis\execution.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 4/155] Cythonizing nautilus_trader\adapters\betfair\factory.pyx
[ 22/155] Cythonizing nautilus_trader\backtest\engine.pyx
[ 49/155] Cythonizing nautilus_trader\core\uuid.pyx
[ 53/155] Cythonizing nautilus_trader\data\client.pyx
[ 74/155] Cythonizing nautilus_trader\indicators\bollinger_bands.pyx
[ 89/155] Cythonizing nautilus_trader\indicators\obv.pyx
[ 94/155] Cythonizing nautilus_trader\indicators\stochastics.pyx
[104/155] Cythonizing nautilus_trader\model\bar.pyx
[111/155] Cythonizing nautilus_trader\model\c_enums\instrument_close_type.pyx
[117/155] Cythonizing nautilus_trader\model\c_enums\order_type.pyx
[121/155] Cythonizing nautilus_trader\model\c_enums\price_type.pyx
[127/155] Cythonizing nautilus_trader\model\data.pyx
[133/155] Cythonizing nautilus_trader\model\order\base.pyx
[137/155] Cythonizing nautilus_trader\model\order\stop_limit.pyx
[148/155] Cythonizing nautilus_trader\serialization\base.pyx
[155/155] Cythonizing nautilus_trader\trading\trader.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 5/155] Cythonizing nautilus_trader\adapters\betfair\providers.pyx
[ 19/155] Cythonizing nautilus_trader\backtest\data_client.pyx
[ 37/155] Cythonizing nautilus_trader\common\providers.pyx
[ 39/155] Cythonizing nautilus_trader\common\throttler.pyx
[ 62/155] Cythonizing nautilus_trader\execution\engine.pyx
[ 97/155] Cythonizing nautilus_trader\indicators\vwap.pyx
[107/155] Cythonizing nautilus_trader\model\c_enums\asset_type.pyx
[110/155] Cythonizing nautilus_trader\model\c_enums\depth_type.pyx
[115/155] Cythonizing nautilus_trader\model\c_enums\order_side.pyx
[120/155] Cythonizing nautilus_trader\model\c_enums\position_side.pyx
[124/155] Cythonizing nautilus_trader\model\commands.pyx
[134/155] Cythonizing nautilus_trader\model\order\bracket.pyx
[138/155] Cythonizing nautilus_trader\model\order\stop_market.pyx
[147/155] Cythonizing nautilus_trader\risk\sizing.pyx
[154/155] Cythonizing nautilus_trader\trading\strategy.pyx
DEBUG_MODE=False, PROFILING_MODE=False, ANNOTATION_MODE=False, INTERPRETER_32BIT_MODE=False
[ 9/155] Cythonizing nautilus_trader\adapters\ccxt\providers.pyx
[ 16/155] Cythonizing nautilus_trader\adapters\oanda\providers.pyx
[ 18/155] Cythonizing nautilus_trader\analysis\reports.pyx
[ 29/155] Cythonizing nautilus_trader\common\c_enums\component_trigger.pyx
[ 31/155] Cythonizing nautilus_trader\common\clock.pyx
[ 43/155] Cythonizing nautilus_trader\core\constants.pyx
[ 46/155] Cythonizing nautilus_trader\core\fsm.pyx
[ 47/155] Cythonizing nautilus_trader\core\functions.pyx
[ 64/155] Cythonizing nautilus_trader\indicators\atr.pyx
[ 66/155] Cythonizing nautilus_trader\indicators\average\ema.pyx
[ 69/155] Cythonizing nautilus_trader\indicators\average\moving_average.pyx
[ 73/155] Cythonizing nautilus_trader\indicators\bid_ask_min_max.pyx
[ 77/155] Cythonizing nautilus_trader\indicators\fuzzy_candlesticks.pyx
[ 98/155] Cythonizing nautilus_trader\live\data_client.pyx
[139/155] Cythonizing nautilus_trader\model\orderbook\book.pyx
[153/155] Cythonizing nautilus_trader\trading\portfolio.pyx
Compiling nautilus_trader\model\tick.pyx because it changed.
Compiling nautilus_trader\model\c_enums\aggressor_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\asset_class.pyx because it changed.
Compiling nautilus_trader\model\c_enums\asset_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\bar_aggregation.pyx because it changed.
Compiling nautilus_trader\model\c_enums\currency_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\depth_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\instrument_close_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\instrument_status.pyx because it changed.
Compiling nautilus_trader\model\c_enums\liquidity_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\oms_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\orderbook_delta.pyx because it changed.
Compiling nautilus_trader\model\c_enums\orderbook_level.pyx because it changed.
Compiling nautilus_trader\model\c_enums\order_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\order_state.pyx because it changed.
Compiling nautilus_trader\model\c_enums\order_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\position_side.pyx because it changed.
Compiling nautilus_trader\model\c_enums\price_type.pyx because it changed.
Compiling nautilus_trader\model\c_enums\time_in_force.pyx because it changed.
Compiling nautilus_trader\model\c_enums\venue_status.pyx because it changed.
Compiling nautilus_trader\model\order\base.pyx because it changed.
Compiling nautilus_trader\model\order\bracket.pyx because it changed.
Compiling nautilus_trader\model\order\limit.pyx because it changed.
Compiling nautilus_trader\model\order\market.pyx because it changed.
Compiling nautilus_trader\model\order\stop_limit.pyx because it changed.
Compiling nautilus_trader\model\order\stop_market.pyx because it changed.
Compiling nautilus_trader\model\orderbook\book.pyx because it changed.
Compiling nautilus_trader\model\orderbook\ladder.pyx because it changed.
Compiling nautilus_trader\model\orderbook\level.pyx because it changed.
Compiling nautilus_trader\model\orderbook\order.pyx because it changed.
Compiling nautilus_trader\redis\execution.pyx because it changed.
Compiling nautilus_trader\risk\engine.pyx because it changed.
Compiling nautilus_trader\risk\sizing.pyx because it changed.
Compiling nautilus_trader\serialization\base.pyx because it changed.
Compiling nautilus_trader\serialization\serializers.pyx because it changed.
Compiling nautilus_trader\trading\account.pyx because it changed.
Compiling nautilus_trader\trading\calculators.pyx because it changed.
Compiling nautilus_trader\trading\filters.pyx because it changed.
Compiling nautilus_trader\trading\portfolio.pyx because it changed.
Compiling nautilus_trader\trading\strategy.pyx because it changed.
Compiling nautilus_trader\trading\trader.pyx because it changed.
factories.c
providers.c
providers.c
data.c
execution.c
data.c
providers.c
execution.c
ema_cross_cython.c
factory.c
data.c
build/optimized\nautilus_trader\adapters\ib\providers.c(3958): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\adapters\ccxt\providers.c(3949): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\adapters\ccxt\data.c(17960): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
execution.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ib\data.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ib\data.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\data.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\data.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ib\execution.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ib\execution.cp38-win_amd64.exp
Generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\providers.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\providers.cp38-win_amd64.exp
Generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ib\providers.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ib\providers.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\examples\strategies\ema_cross_cython.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\examples\strategies\ema_cross_cython.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\providers.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\providers.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\data.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\data.cp38-win_amd64.exp
Generating code
Generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\execution.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\execution.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\factories.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\ccxt\factories.cp38-win_amd64.exp
Generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\execution.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\execution.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\factory.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\betfair\factory.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
factories.c
reports.c
data_client.c
execution.c
data_producer.c
data.c
providers.c
engine.c
data_container.c
performance.c
exchange.c
build/optimized\nautilus_trader\analysis\reports.c(8453): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\backtest\data_producer.c(8629): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\analysis\reports.c(8567): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of databuild/optimized\nautilus_trader\backtest\data_producer.c(8647): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\analysis\reports.c(8579): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\backtest\data_producer.c(9969): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of databuild/optimized\nautilus_trader\analysis\reports.c(8722): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
execution.c
build/optimized\nautilus_trader\backtest\data_producer.c(9981): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\backtest\data_producer.c(10519): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\backtest\data_producer.c(11053): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\execution.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\execution.cp38-win_amd64.exp
build/optimized\nautilus_trader\backtest\data_producer.c(11089): warning C4244: 'function': conversion from 'uint64_t' to 'double', possible loss of data
Generating code
build/optimized\nautilus_trader\backtest\data_producer.c(11237): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\backtest\data_producer.c(11350): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\backtest\data_producer.c(11463): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\analysis\performance.c(8373): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\providers.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\providers.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\data_client.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\data_client.cp38-win_amd64.exp
Finished generating code
Generating code
build/optimized\nautilus_trader\backtest\engine.c(17479): warning C4244: 'function': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\backtest\engine.c(17491): warning C4244: 'function': conversion from 'Py_ssize_t' to 'int', possible loss of data Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\analysis\reports.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\analysis\reports.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\exchange.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\exchange.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\data_container.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\data_container.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\data_producer.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\data_producer.cp38-win_amd64.exp
Generating code
Generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\factories.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\factories.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\execution.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\execution.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\analysis\performance.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\analysis\performance.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\data.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\adapters\oanda\data.cp38-win_amd64.exp
Generating code
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\engine.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\engine.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
loaders.c
models.c
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\models.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\models.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\loaders.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\loaders.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
cache.c
Finished generating code
Finished generating code
Finished generating code
modules.c
clock.c
build/optimized\nautilus_trader\backtest\modules.c(11319): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\backtest\modules.c(12528): warning C4244: 'function': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\common\clock.c(6524): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\common\clock.c(7704): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\common\clock.c(7847): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
Finished generating code
enums.c
component.c
logging.c
factories.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\cache.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\cache.cp38-win_amd64.exp
generators.c
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\clock.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\clock.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\modules.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\backtest\modules.cp38-win_amd64.exp
Generating code
Generating code
providers.c
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\enums.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\enums.cp38-win_amd64.exp
Generating code
Finished generating code
queue.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\providers.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\providers.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\factories.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\factories.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\generators.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\generators.cp38-win_amd64.exp
Generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\component.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\component.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
throttler.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\logging.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\logging.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\queue.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\queue.cp38-win_amd64.exp
Generating code
timer.c
uuid.c
component_state.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\throttler.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\throttler.cp38-win_amd64.exp
Generating code
build/optimized\nautilus_trader\common\timer.c(5404): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\common\timer.c(9014): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of dataFinished generating code
build/optimized\nautilus_trader\common\timer.c(9825): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of dataFinished generating code
component_trigger.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\uuid.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\uuid.cp38-win_amd64.exp
Finished generating code
Generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\timer.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\timer.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\c_enums\component_state.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\c_enums\component_state.cp38-win_amd64.exp
Generating code
cache.c
Finished generating code
Finished generating code
constants.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\c_enums\component_trigger.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\common\c_enums\component_trigger.cp38-win_amd64.exp
Generating code
correctness.c
datetime.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\cache.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\cache.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
fsm.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\constants.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\constants.cp38-win_amd64.exp
Generating code
functions.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\datetime.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\datetime.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\fsm.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\fsm.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\correctness.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\correctness.cp38-win_amd64.exp
uuid.c
Generating code
message.c
build/optimized\nautilus_trader\core\functions.c(4003): error C2039: 'nd': is not a member of 'tagPyArrayObject'
C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\numpy\core\include\numpy\ndarraytypes.h(727): note: see declaration of 'tagPyArrayObject'
build/optimized\nautilus_trader\core\functions.c(4050): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
build/optimized\nautilus_trader\core\functions.c(4284): error C2039: 'nd': is not a member of 'tagPyArrayObject'
C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\numpy\core\include\numpy\ndarraytypes.h(727): note: see declaration of 'tagPyArrayObject'
build/optimized\nautilus_trader\core\functions.c(4331): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
build/optimized\nautilus_trader\core\functions.c(4726): error C2039: 'nd': is not a member of 'tagPyArrayObject'
C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\numpy\core\include\numpy\ndarraytypes.h(727): note: see declaration of 'tagPyArrayObject'
build/optimized\nautilus_trader\core\functions.c(4773): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
aggregation.c
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\uuid.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\uuid.cp38-win_amd64.exp
Generating code
base.c
Finished generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\message.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\core\message.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\aggregation.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\aggregation.cp38-win_amd64.exp
Generating code
Finished generating code
cache.c
client.c
build/optimized\nautilus_trader\data\cache.c(7791): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
messages.c
build/optimized\nautilus_trader\data\cache.c(8232): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of datadatabase.c
engine.c
build/optimized\nautilus_trader\data\cache.c(8673): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\base.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\base.cp38-win_amd64.exp
Generating code
Finished generating code
build/optimized\nautilus_trader\data\cache.c(11815): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
wrangling.c
base.c
build/optimized\nautilus_trader\data\cache.c(11985): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\data\cache.c(12155): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\database.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\database.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\client.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\client.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\messages.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\messages.cp38-win_amd64.exp
Generating code
Generating code
cache.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\cache.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\cache.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\base.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\base.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\wrangling.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\wrangling.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\engine.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\data\engine.cp38-win_amd64.exp
build/optimized\nautilus_trader\execution\cache.c(10536): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of dataGenerating code
client.c
build/optimized\nautilus_trader\execution\cache.c(10782): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
database.c
build/optimized\nautilus_trader\execution\cache.c(11028): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of dataFinished generating code
build/optimized\nautilus_trader\execution\cache.c(11502): warning C4244: '=': conversion from 'int64_t' to 'double', possible loss of data
engine.c
build/optimized\nautilus_trader\execution\cache.c(28502): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
atr.c
build/optimized\nautilus_trader\execution\cache.c(28767): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\execution\cache.c(29032): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of datamessages.c
build/optimized\nautilus_trader\execution\cache.c(29786): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of dataFinished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\client.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\client.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\database.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\database.cp38-win_amd64.exp
build/optimized\nautilus_trader\execution\cache.c(30051): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of dataGenerating code
build/optimized\nautilus_trader\execution\cache.c(30316): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\atr.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\atr.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\engine.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\engine.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\messages.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\messages.cp38-win_amd64.exp
Generating code
Finished generating code
bid_ask_min_max.c
bollinger_bands.c
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\cache.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\execution\cache.cp38-win_amd64.exp
Generating code
Finished generating code
build/optimized\nautilus_trader\indicators\bid_ask_min_max.c(3258): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
build/optimized\nautilus_trader\indicators\bid_ask_min_max.c(3273): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of dataFinished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\bollinger_bands.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\bollinger_bands.cp38-win_amd64.exp
Generating code
efficiency_ratio.c
donchian_channel.c
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\bid_ask_min_max.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\bid_ask_min_max.cp38-win_amd64.exp
Finished generating code
Generating code
Finished generating code
fuzzy_candlesticks.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\efficiency_ratio.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\efficiency_ratio.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\donchian_channel.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\donchian_channel.cp38-win_amd64.exp
Generating code
Finished generating code
fuzzy_enum.c
Finished generating code
hilbert_snr.c
Finished generating code
Finished generating code
hilbert_period.c
hilbert_transform.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enum.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enum.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_candlesticks.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_candlesticks.cp38-win_amd64.exp
Generating code
Finished generating code
keltner_channel.c
keltner_position.c
Finished generating code
macd.c
obv.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\hilbert_snr.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\hilbert_snr.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\hilbert_transform.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\hilbert_transform.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\hilbert_period.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\hilbert_period.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\keltner_position.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\keltner_position.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\keltner_channel.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\keltner_channel.cp38-win_amd64.exp
Generating code
pressure.c
roc.c
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\macd.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\macd.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\obv.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\obv.cp38-win_amd64.exp
Generating code
Finished generating code
rsi.c
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\pressure.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\pressure.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\roc.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\roc.cp38-win_amd64.exp
Generating code
spread_analyzer.c
Finished generating code
Finished generating code
Finished generating code
stochastics.c
swings.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\rsi.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\rsi.cp38-win_amd64.exp
Generating code
volatility_ratio.c
Finished generating code
Finished generating code
vwap.c
build/optimized\nautilus_trader\indicators\swings.c(3276): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\stochastics.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\stochastics.cp38-win_amd64.exp
Finished generating code
ama.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\spread_analyzer.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\spread_analyzer.cp38-win_amd64.exp
Generating code
Generating code
ema.c
build/optimized\nautilus_trader\indicators\vwap.c(3033): warning C4244: 'function': conversion from 'int64_t' to 'double', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\swings.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\swings.cp38-win_amd64.exp
Generating code
hma.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\volatility_ratio.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\volatility_ratio.cp38-win_amd64.exp
Generating code
moving_average.c
ma_factory.c
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\vwap.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\vwap.cp38-win_amd64.exp
Generating code
Finished generating code
sma.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\ama.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\ama.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\ema.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\ema.cp38-win_amd64.exp
Generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\moving_average.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\moving_average.cp38-win_amd64.exp
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\hma.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\hma.cp38-win_amd64.exp
Generating code
Finished generating code
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\ma_factory.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\ma_factory.cp38-win_amd64.exp
Generating code
Finished generating code
wma.c
indicator.c
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\sma.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\sma.cp38-win_amd64.exp
candle_body.c
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\wma.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\average\wma.cp38-win_amd64.exp
Finished generating code
Generating code
candle_direction.c
Finished generating code
Finished generating code
candle_wick.c
candle_size.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\base\indicator.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\base\indicator.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_body.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_body.cp38-win_amd64.exp
Generating code
data_client.c
data_engine.c
execution_engine.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_direction.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_direction.cp38-win_amd64.exp
Generating code
execution_client.c
node_builder.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_wick.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_wick.cp38-win_amd64.exp
build/optimized\nautilus_trader\live\execution_engine.c(10717): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of dataGenerating code
Finished generating code
Finished generating code
risk_engine.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_size.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\indicators\fuzzy_enums\candle_size.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\execution_engine.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\execution_engine.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\data_engine.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\data_engine.cp38-win_amd64.exp
Generating code
Generating code
bar.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\node_builder.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\node_builder.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
commands.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\data_client.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\data_client.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\risk_engine.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\risk_engine.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\execution_client.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\live\execution_client.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\bar.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\bar.cp38-win_amd64.exp
Generating code
currencies.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\commands.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\commands.cp38-win_amd64.exp
Generating code
currency.c
Finished generating code
data.c
build/optimized\nautilus_trader\model\data.c(2571): warning C4244: '=': conversion from 'Py_hash_t' to 'int', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\currency.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\currency.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\currencies.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\currencies.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\data.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\data.cp38-win_amd64.exp
Generating code
enums.c
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\enums.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\enums.cp38-win_amd64.exp
Generating code
Finished generating code
events.c
identifiers.c
instrument.c
objects.c
Finished generating code
position.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\objects.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\objects.cp38-win_amd64.exp
Generating code
Finished generating code
aggressor_side.c
Finished generating code
build/optimized\nautilus_trader\model\position.c(5017): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
tick.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\events.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\events.cp38-win_amd64.exp
Generating code
asset_class.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\instrument.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\instrument.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\position.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\position.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\identifiers.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\identifiers.cp38-win_amd64.exp
Generating code
Finished generating code
bar_aggregation.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\aggressor_side.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\aggressor_side.cp38-win_amd64.exp
Generating code
asset_type.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\tick.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\tick.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\asset_class.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\asset_class.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\bar_aggregation.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\bar_aggregation.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\asset_type.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\asset_type.cp38-win_amd64.exp
Generating code
currency_type.c
depth_type.c
Finished generating code
Finished generating code
instrument_close_type.c
Finished generating code
instrument_status.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\currency_type.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\currency_type.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\depth_type.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\depth_type.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\instrument_close_type.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\instrument_close_type.cp38-win_amd64.exp
Generating code
Generating code
liquidity_side.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\instrument_status.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\instrument_status.cp38-win_amd64.exp
Generating code
orderbook_level.c
oms_type.c
orderbook_delta.c
Finished generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\liquidity_side.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\liquidity_side.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\oms_type.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\oms_type.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\orderbook_level.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\orderbook_level.cp38-win_amd64.exp
Generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\orderbook_delta.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\orderbook_delta.cp38-win_amd64.exp
Generating code
order_side.c
Finished generating code
order_state.c
Finished generating code
Finished generating code
order_type.c
position_side.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\order_side.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\order_side.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\order_state.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\order_state.cp38-win_amd64.exp
Generating code
Finished generating code
price_type.c
Finished generating code
Finished generating code
time_in_force.c
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\position_side.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\position_side.cp38-win_amd64.exp
venue_status.c
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\order_type.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\order_type.cp38-win_amd64.exp
Generating code
base.c
bracket.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\price_type.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\price_type.cp38-win_amd64.exp
Generating code
limit.c
Finished generating code
build/optimized\nautilus_trader\model\order\base.c(5311): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\time_in_force.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\time_in_force.cp38-win_amd64.exp
Generating code
market.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\venue_status.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\c_enums\venue_status.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\bracket.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\bracket.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\limit.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\limit.cp38-win_amd64.exp
Generating code
stop_limit.c
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\base.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\base.cp38-win_amd64.exp
Generating code
Finished generating code
stop_market.c
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\market.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\market.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\stop_limit.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\stop_limit.cp38-win_amd64.exp
Generating code
book.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\stop_market.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\order\stop_market.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
ladder.c
Finished generating code
level.c
Finished generating code
order.c
execution.c
build/optimized\nautilus_trader\model\orderbook\ladder.c(4303): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of dataFinished generating code
Finished generating code
engine.c
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\book.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\book.cp38-win_amd64.exp
Generating code
sizing.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\order.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\order.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\ladder.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\ladder.cp38-win_amd64.exp
base.c
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\level.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\model\orderbook\level.cp38-win_amd64.exp
Generating code
serializers.c
Finished generating code
account.c
filters.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\risk\sizing.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\risk\sizing.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\risk\engine.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\risk\engine.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\serialization\base.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\serialization\base.cp38-win_amd64.exp
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\redis\execution.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\redis\execution.cp38-win_amd64.exp
Generating code
Generating code
calculators.c
Finished generating code
build/optimized\nautilus_trader\trading\account.c(7782): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\serialization\serializers.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\serialization\serializers.cp38-win_amd64.exp
build/optimized\nautilus_trader\trading\calculators.c(5443): warning C4244: 'function': conversion from 'Py_ssize_t' to 'int', possible loss of dataGenerating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\filters.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\filters.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\account.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\account.cp38-win_amd64.exp
Generating code
Finished generating code
portfolio.c
strategy.c
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\calculators.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\calculators.cp38-win_amd64.exp
Generating code
Finished generating code
trader.c
build/optimized\nautilus_trader\trading\strategy.c(25270): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of databuild/optimized\nautilus_trader\trading\trader.c(11704): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\trading\strategy.c(25982): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\trading\strategy.c(27752): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\trading\strategy.c(28609): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
build/optimized\nautilus_trader\trading\strategy.c(29468): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\portfolio.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\portfolio.cp38-win_amd64.exp
Generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\trader.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\trader.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
Finished generating code
Creating library build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\strategy.cp38-win_amd64.lib and object build\temp.win-amd64-3.8\Release\build/optimized\nautilus_trader\trading\strategy.cp38-win_amd64.exp
Generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Finished generating code
Traceback (most recent call last):
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\_msvccompiler.py", line 412, in compile
self.spawn(args)
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\_msvccompiler.py", line 518, in spawn
return super().spawn(cmd)
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\ccompiler.py", line 910, in spawn
spawn(cmd, dry_run=self.dry_run)
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\spawn.py", line 38, in spawn
_spawn_nt(cmd, search_path, dry_run=dry_run)
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\spawn.py", line 80, in _spawn_nt
raise DistutilsExecError(
distutils.errors.DistutilsExecError: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "build.py", line 174, in <module>
build({})
File "build.py", line 144, in build
cmd.run()
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\Cython\Distutils\old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\command\build_ext.py", line 340, in run
self.build_extensions()
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\Cython\Distutils\old_build_ext.py", line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\command\build_ext.py", line 447, in build_extensions
self._build_extensions_parallel()
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\command\build_ext.py", line 469, in _build_extensions_parallel
fut.result()
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\concurrent\futures\_base.py", line 432, in result
return self.__get_result()
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\concurrent\futures\_base.py", line 388, in __get_result
raise self._exception
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\concurrent\futures\thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\command\build_ext.py", line 528, in build_extension
objects = self.compiler.compile(sources,
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\distutils\_msvccompiler.py", line 414, in compile
raise CompileError(msg)
distutils.errors.CompileError: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
Traceback (most recent call last):
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 280, in <module>
main()
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 263, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 204, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\poetry\core\masonry\api.py", line 68, in build_wheel
return unicode(WheelBuilder.make_in(poetry, Path(wheel_directory)))
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 72, in make_in
wb.build()
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 99, in build
self._build(zip_file)
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 125, in _build
self._run_build_script(self._package.build_script)
File "C:\Users\lukas\AppData\Local\Temp\pip-build-env-tjkwb71o\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 175, in _run_build_script
subprocess.check_call([self.executable.as_posix(), build_script])
File "c:\users\lukas\anaconda3\envs\feature-labeling\lib\subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['c:/users/lukas/anaconda3/envs/feature-labeling/python.exe', 'build.py']' returned non-zero exit status 1.
----------------------------------------
ERROR: Failed building wheel for nautilus-trader
Failed to build nautilus-trader
ERROR: Could not build wheels for nautilus-trader which use PEP 517 and cannot be installed directly
WARNING: Ignoring invalid distribution -atplotlib (c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages)
WARNING: Ignoring invalid distribution -atplotlib (c:\users\lukas\anaconda3\envs\feature-labeling\lib\site-packages)
The above build error related to a Cython macro NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
Regarding the compiler warning: #warning "Using deprecated NumPy API" https://stackoverflow.com/questions/52749662/using-deprecated-numpy-api From the Cython docs: "For the time being, it is just a warning that you can ignore."
Therefor to get a PEP-517 build working with pip install
the above macro has been removed along with the now redundant INTERPRETER_32BIT_MODE
env variable.
We'll tolerate the compiler warning until the next Cython release where it is meant to be fixed.
I'm closing this issue as Windows support is now largely completed.
Please open further specific issues as they come up though!
Windows support (continue #175)
I am going to use nautilus_trader for backtest and research on Windows and Linux (and partially in production ?) Based on your discussion (issue: Windows support #175) and my research and experiments of nautilus_trader code I suggest the next approach to 'solve' this problem.
Starting points - platforms, libraries and nautilus_trader versions used:
Windows support problems and solutions:
A) Low-level code compatibility problems (There are only 3)
B) External libraries and tools compatibility 'problems'
Testing:
Each test in \tests directory I ran individually for each version
1) For tests:
2) For tests:
Conclusion:
Thanks for your work !