Conversation
| [resolve`${resolve`${__dirname}/../python/perspective/dist`}/cmake`, _path.resolve(_path.resolve(__dirname, "..", "python", "perspective", "dist"), "cmake")], | ||
| [resolve`${resolve`${__dirname}/../python/perspective/dist`}/obj`, _path.resolve(_path.resolve(__dirname, "..", "python", "perspective", "dist"), "obj")] | ||
| ]); | ||
| if (isWin){ |
There was a problem hiding this comment.
@texodus can you take a look at this, the comments seem to suggest that this was supposed to work but it does not on windows
| include_directories("${CMAKE_SOURCE_DIR}/src/include") | ||
|
|
||
| if(NOT WIN32) | ||
| set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") |
| ") | ||
| if(WIN32) | ||
| if(CMAKE_BUILD_TYPE_LOWER STREQUAL debug) | ||
| set(OPT_FLAGS " \ |
There was a problem hiding this comment.
@sc1f we should set debug flags (see prev comment) instead of having this opt flags thing
| endif() | ||
| endif() | ||
| else() | ||
| set(CMAKE_SHARED_LIBRARY_PREFIX lib) |
There was a problem hiding this comment.
@sc1f we should consider not prefixing with lib, and setting the prefixes to "" (this will mean we need to change python imports from libbinding to just binding, or preferable _binding)
|
|
||
| if(WIN32) | ||
| # inline arrow dlls | ||
| file(GLOB ARROW_DLLS "${PYTHON_PYARROW_LIBRARY_DIR}/*.dll") |
There was a problem hiding this comment.
There was a problem hiding this comment.
I don't understand what the requirement being solved by copying is, nor why a ton of stuff being brought is the instigator, so I'm not really in a position to offer constructive advice here. Copying is bad of course.
|
|
||
| template <> | ||
| std::int64_t t_tscalar::get() const; | ||
| PERSPECTIVE_EXPORT std::int64_t t_tscalar::get() const; |
There was a problem hiding this comment.
@sc1f i assume all these specializations are necessary?
There was a problem hiding this comment.
Yeah, they all need to be explicitly specialized.
| const char* get_interned_cstr(const char* s); | ||
| t_tscalar get_interned_tscalar(const char* s); | ||
| t_tscalar get_interned_tscalar(const t_tscalar& s); | ||
| PERSPECTIVE_EXPORT const char* get_interned_cstr(const char* s); |
There was a problem hiding this comment.
@sc1f this is currently being exposed as part of libpsp's public interface (it is used in the python cpp code). should this be public?
| "dependencies": { | ||
| "@finos/perspective": "^0.4.1" | ||
| "@finos/perspective": "^0.4.1", | ||
| "zerorpc": "^0.9.8" |
There was a problem hiding this comment.
At this point I see honestly zero reason to maintain this feature - perspective-python is better in every way. I propose we delete the perspective-node binding entirely.
| * NumpyLoader fast-tracks the loading of Numpy arrays into Perspective, utilizing memcpy whenever possible. | ||
| */ | ||
| class PERSPECTIVE_EXPORT NumpyLoader { | ||
| class PERSPECTIVE_BINDING_EXPORT NumpyLoader { |
There was a problem hiding this comment.
it follows the structure set by arrow_loader, and allows us to abstract all the numpy-specific stuff since its' all state-dependent
| // Tests for client mode (when C++ assets are not present) require | ||
| // a new runtime. | ||
| execute`cd ${python_path} && TZ=UTC ${PYTHON} -m pytest \ | ||
| process.env.TZ = "UTC"; |
texodus
left a comment
There was a problem hiding this comment.
Thanks for the PR! I have it on good authority that it looks good!
A few updates and fixes for the windows build of perspective-python
libfor symmetrysetup.pyfor windows paths.appveyor.ymlto match travisStill unresolved:
https://bugs.python.org/issue36439