Skip to content
Snippets Groups Projects
Commit cbeff3a0 authored by Sergey Yakubov's avatar Sergey Yakubov
Browse files

start work at python libs for producer

parent 695e10e0
No related branches found
No related tags found
No related merge requests found
Showing
with 153 additions and 12 deletions
#ifndef ASAPO_ASAPO_WRAPPERS_H
#define ASAPO_ASAPO_WRAPPERS_H
namespace asapo {
inline std::string GetErrorString(asapo::Error* err) {
if (*err) {
return (*err)->Explain();
}
return "";
}
}
#endif //ASAPO_ASAPO_WRAPPERS_H
configure_file(setup.py.in setup.py @ONLY)
ADD_CUSTOM_TARGET(windows-bdist ALL
COMMAND ${Python3_EXECUTABLE} setup.py bdist_wheel
)
ADD_CUSTOM_TARGET(copy_python_bdist ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/asapo_worker
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:asapo_worker> ${CMAKE_CURRENT_BINARY_DIR}/asapo_worker/
)
ADD_DEPENDENCIES(copy_python_bdist asapo_worker)
ADD_DEPENDENCIES(windows-bdist copy_python_bdist)
import setuptools
setuptools.setup(
name ="asapo_worker",
version = "@ASAPO_VERSION_PYTHON@",
install_requires=['numpy'],
include_package_data=True,
packages=['asapo_worker'],
package_data={
'asapo_worker': ['asapo_worker.pyd'],
},
)
from Cython.Build import cythonize
cythonize(["asapo_producer.pyx"])
from distutils.core import setup
from distutils.core import Extension
from Cython.Build import cythonize
import numpy
module = Extension("asapo_producer", ["asapo_producer.pyx"],
extra_objects=['@ASAPO_PRODUCER_LIB@',
'@CURL_LIBRARIES@'],
include_dirs=["@ASAPO_CXX_COMMON_INCLUDE_DIR@","@ASAPO_PRODUCER_INCLUDE_DIR@",numpy.get_include()],
extra_compile_args=@EXTRA_COMPILE_ARGS@,
extra_link_args=@EXTRA_LINK_ARGS@,
language="c++",
)
ext_modules = cythonize([module])
setup(ext_modules = ext_modules)
configure_file(setup.py.in setup.py @ONLY)
configure_file(MANIFEST.in MANIFEST.in @ONLY)
ADD_CUSTOM_TARGET(python-dist ALL
COMMAND python setup.py sdist
)
#get_property(ASAPO_WORKER_LIB TARGET asapo-worker PROPERTY LOCATION)
ADD_CUSTOM_TARGET(copy_python_dist ALL
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_wrappers.h ${CMAKE_CURRENT_BINARY_DIR}/.
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_worker.cpp ${CMAKE_CURRENT_BINARY_DIR}/.
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/worker/api/cpp/include ${CMAKE_CURRENT_BINARY_DIR}/include
COMMAND ${CMAKE_COMMAND} -E copy_directory ${ASAPO_CXX_COMMON_INCLUDE_DIR}/common ${CMAKE_CURRENT_BINARY_DIR}/include/common
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_BINARY_DIR}/include/common/version.h.in
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/lib
COMMAND ${CMAKE_COMMAND} -E copy ${CURL_LIBRARIES} ${CMAKE_CURRENT_BINARY_DIR}/lib
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:asapo-worker> ${CMAKE_CURRENT_BINARY_DIR}/lib
)
ADD_DEPENDENCIES(copy_python_dist python-lib3)
ADD_DEPENDENCIES(python-dist copy_python_dist)
include asapo_wrappers.h
recursive-include include *
recursive-include lib *
\ No newline at end of file
from distutils.core import setup
from distutils.core import Extension
import numpy
ext_modules = [
Extension("asapo_worker", ["asapo_worker.cpp"],
extra_objects=['lib/libasapo-worker.a'],
libraries = ['curl'],
include_dirs=["include/common","include",numpy.get_include()],
extra_compile_args=@EXTRA_COMPILE_ARGS@,
extra_link_args=@EXTRA_LINK_ARGS@,
language="c++")
]
setup(
name ="asapo_worker",
ext_modules = ext_modules,
version = "@ASAPO_VERSION_PYTHON@",
setup_requires=["numpy"],
install_requires=["numpy"],
platforms=["aaa"]
)
......@@ -31,7 +31,7 @@ target_include_directories(${TARGET_NAME} PUBLIC include ${CMAKE_SOURCE_DIR}/com
GET_PROPERTY(ASAPO_COMMON_IO_LIBRARIES GLOBAL PROPERTY ASAPO_COMMON_IO_LIBRARIES)
target_link_libraries(${TARGET_NAME} ${ASAPO_COMMON_IO_LIBRARIES})
target_link_libraries(${TARGET_NAME} producer-api)
target_link_libraries(${TARGET_NAME} asapo-producer)
################################
# Executable
......
......@@ -8,7 +8,7 @@ target_include_directories(${TARGET_NAME} PUBLIC include ${CMAKE_SOURCE_DIR}/com
#Add all necessary common libraries
#GET_PROPERTY(ASAPO_COMMON_IO_LIBRARIES GLOBAL PROPERTY ASAPO_COMMON_IO_LIBRARIES)
target_link_libraries(${TARGET_NAME} ${ASAPO_COMMON_IO_LIBRARIES} producer-api)
target_link_libraries(${TARGET_NAME} ${ASAPO_COMMON_IO_LIBRARIES} asapo-producer)
#set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
......
#!/usr/bin/env bash
export PYTHONPATH=/home/yakubov/projects/asapo/cmake-build-debug/producer/api/python:${PYTHONPATH}
python test.py
from __future__ import print_function
import asapo_producer
import sys
import json
import time
endpoint = "psana002:8400"
beamtime = "asapo_test1"
stream = "stream"
token = ""
nthreads = 1
producer, err = asapo_producer.create_producer(endpoint,beamtime, stream, token, nthreads)
if err is not None:
print(err)
else:
print(producer)
configure_file(setup.py.in setup.py @ONLY)
ADD_CUSTOM_TARGET(windows-bdist ALL
ADD_CUSTOM_TARGET(windows-bdist-producer ALL
COMMAND ${Python3_EXECUTABLE} setup.py bdist_wheel
)
ADD_CUSTOM_TARGET(copy_python_bdist ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/asapo_worker
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:asapo_worker> ${CMAKE_CURRENT_BINARY_DIR}/asapo_worker/
ADD_CUSTOM_TARGET(copy_python_bdist_producer ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/asapo_producer
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:asapo_producer> ${CMAKE_CURRENT_BINARY_DIR}/asapo_producer/
)
ADD_DEPENDENCIES(copy_python_bdist asapo_worker)
ADD_DEPENDENCIES(copy_python_bdist_producer asapo_producer)
ADD_DEPENDENCIES(windows-bdist copy_python_bdist)
ADD_DEPENDENCIES(windows-bdist-producer copy_python_bdist_producer)
......@@ -2,13 +2,13 @@ configure_file(setup.py.in setup.py @ONLY)
configure_file(MANIFEST.in MANIFEST.in @ONLY)
ADD_CUSTOM_TARGET(python-dist ALL
ADD_CUSTOM_TARGET(python-dist-producer ALL
COMMAND python setup.py sdist
)
#get_property(ASAPO_WORKER_LIB TARGET asapo-worker PROPERTY LOCATION)
ADD_CUSTOM_TARGET(copy_python_dist ALL
ADD_CUSTOM_TARGET(copy_python_dist_producer ALL
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_wrappers.h ${CMAKE_CURRENT_BINARY_DIR}/.
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/../asapo_worker.cpp ${CMAKE_CURRENT_BINARY_DIR}/.
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/worker/api/cpp/include ${CMAKE_CURRENT_BINARY_DIR}/include
......@@ -21,6 +21,6 @@ ADD_CUSTOM_TARGET(copy_python_dist ALL
)
ADD_DEPENDENCIES(copy_python_dist python-lib3)
ADD_DEPENDENCIES(copy_python_dist_producer python-lib3-producer)
ADD_DEPENDENCIES(python-dist copy_python_dist)
ADD_DEPENDENCIES(python-dist-producer copy_python_dist_producer)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment