Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Boost Python Wrappings #25

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
60c34d8
Created pycompress directory and modified root CMakeLists
Apr 16, 2020
324fb96
Error checking in pycompress.py
Apr 16, 2020
cfe93d1
Wrapped search, count and query functions for use in pyquery_file.py
May 1, 2020
9d2f2f2
Wrapped search, count and get functions for use in pyquery_kv.py
May 1, 2020
bb0a628
Added more error checking. Wrapped search, count, get for semistructured
May 1, 2020
c94ffa4
Modified line index error in pyquery_semistructured.py
May 1, 2020
ee199a1
Reformatted files to google-style and removed unused code
May 7, 2020
c625f3f
Reorganized Modules, all 3 types have query and compression functions
May 8, 2020
edb5508
Moved .py files to examples
May 8, 2020
4ded923
Cmake dependency Error
May 11, 2020
392dba7
Renaming, modified semistructured constructor
May 13, 2020
78dbe34
Added lambda folder
May 19, 2020
bb073d2
added lambda test folder
May 21, 2020
635381d
changed succinct_semi_shard.h to meet ec2 C++ standard move constructor
May 21, 2020
64a02a6
added -ldl flag to cmakelists
May 22, 2020
9d21bcd
added lutil to flags
May 22, 2020
6551859
Include path to python 3.7 in cmake file
May 22, 2020
bcb57bd
added -lboost_python3 flag
May 22, 2020
1f3a1b7
removed flag from cmake lists boost_python3 dir
May 22, 2020
1389ab2
lambda ec 3.6 python version
May 25, 2020
a54ea40
3.7
May 27, 2020
55058ea
Lambda cmake, removed thrift directories
May 29, 2020
792e422
Modified succinct to compress all metadata into a metadata_succinct file
Jun 11, 2020
a13d64f
renamed compressed .succinct file and modified lambda test
Jun 11, 2020
8b6266b
Started creating code for compressing files via content
Jun 16, 2020
d512c53
Revert C++ serialize approach
Jun 16, 2020
b30cc82
Created File constructor to take in input and added pyfile_input example
Jun 19, 2020
3f8f7e2
Changed code to construct in memory arrays instead of files on disk (1)
Jun 24, 2020
9b15eaf
Changed code to construct in memory arrays instead of files on disk (2)
Jun 25, 2020
a80a8f9
Bug fixed: Array input out of bounds error
Jun 30, 2020
2734a7a
Removed debugging outputs
Jun 30, 2020
bfac645
Removed more debugging outputs
Jun 30, 2020
09c5aae
Removed all debugging outputs
Jun 30, 2020
0de377a
sequential and multi-threading example in lambdatest.py
Jul 7, 2020
70b2e6f
Added python files for benchmark testing
Jul 31, 2020
e63ed44
Removed keys
Jul 31, 2020
02b86f8
pipelined threads are now added via indices instead of append
Aug 4, 2020
bd8de37
Modified chunk compressor to use aiobotocore
Aug 7, 2020
ab1a146
Added aiobotocore compression approach to chunk_compressor.py
Sep 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
*.lib
lib/*

# IDE files
.vscode/settings.json

# Executables
*.exe
*.out
Expand Down
116 changes: 116 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}"
},
{
"name": "Python: Attach",
"type": "python",
"request": "attach",
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}",
"port": 3000,
"secret": "my_secret",
"host": "localhost"
},
{
"name": "Python: Terminal (integrated)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
},
{
"name": "Python: Terminal (external)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "externalTerminal"
},
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": [
"runserver",
"--noreload",
"--nothreading"
],
"debugOptions": [
"RedirectOutput",
"Django"
]
},
{
"name": "Python: Flask (0.11.x or later)",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "app.py"
},
"args": [
"run",
"--no-debugger",
"--no-reload"
]
},
{
"name": "Python: Module",
"type": "python",
"request": "launch",
"module": "module.name"
},
{
"name": "Python: Pyramid",
"type": "python",
"request": "launch",
"args": [
"${workspaceFolder}/development.ini"
],
"debugOptions": [
"RedirectOutput",
"Pyramid"
]
},
{
"name": "Python: Watson",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/console.py",
"args": [
"dev",
"runserver",
"--noreload=True"
]
},
{
"name": "Python: All debug Options",
"type": "python",
"request": "launch",
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"module": "module.name",
"env": {
"VAR1": "1",
"VAR2": "2"
},
"envFile": "${workspaceFolder}/.env",
"args": [
"arg1",
"arg2"
],
"debugOptions": [
"RedirectOutput"
]
}
]
}
57 changes: 57 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"files.associations": {
"__config": "cpp",
"__nullptr": "cpp",
"cstddef": "cpp",
"exception": "cpp",
"initializer_list": "cpp",
"new": "cpp",
"optional": "cpp",
"stdexcept": "cpp",
"type_traits": "cpp",
"typeinfo": "cpp",
"variant": "cpp",
"algorithm": "cpp",
"cctype": "cpp",
"cmath": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"__locale": "cpp",
"ios": "cpp",
"complex": "cpp",
"__bit_reference": "cpp",
"bitset": "cpp",
"chrono": "cpp",
"map": "cpp",
"set": "cpp",
"unordered_map": "cpp",
"__node_handle": "cpp",
"cwchar": "cpp",
"iosfwd": "cpp",
"fstream": "cpp",
"cwctype": "cpp",
"array": "cpp",
"iterator": "cpp",
"string": "cpp",
"string_view": "cpp",
"vector": "cpp",
"__split_buffer": "cpp",
"__tree": "cpp",
"deque": "cpp",
"list": "cpp",
"queue": "cpp",
"stack": "cpp",
"utility": "cpp",
"sstream": "cpp",
"strstream": "cpp",
"__string": "cpp",
"thread": "cpp",
"istream": "cpp"
},
"python.linting.enabled": false,
"git.ignoreLimitWarning": true
}
50 changes: 44 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,49 @@
cmake_minimum_required(VERSION 2.8)
project(succinct CXX)

find_package(PythonInterp "3.7")

if (PYTHONINTERP_FOUND)
if (UNIX AND NOT APPLE)
if (PYTHON_VERSION_MAJOR EQUAL 3)
find_package(Boost COMPONENTS python${PYTHON_VERSION_SUFFIX})
find_package(PythonInterp 3)
find_package(PythonLibs 3 REQUIRED)
else()
find_package(Boost COMPONENTS python)
find_package(PythonInterp)
find_package(PythonLibs REQUIRED)
endif()
else()
if (PYTHON_VERSION_MAJOR EQUAL 3)
find_package(Boost COMPONENTS python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR})
find_package(PythonInterp 3)
find_package(PythonLibs 3 REQUIRED)
else()
find_package(Boost COMPONENTS python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR})
find_package(PythonInterp)
find_package(PythonLibs REQUIRED)
endif()
endif()
else()
message("Python not found")
endif()

message(STATUS "PYTHON_LIBRARIES = ${PYTHON_LIBRARIES}")
message(STATUS "PYTHON_EXECUTABLE = ${PYTHON_EXECUTABLE}")
message(STATUS "PYTHON_INCLUDE_DIRS = ${PYTHON_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARIES = ${Boost_LIBRARIES}")

enable_testing()
include_directories(${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS})
link_libraries(${Boost_LIBRARIES} ${PYTHON_LIBRARIES})

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
check_cxx_compiler_flag("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
Expand All @@ -21,9 +58,10 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake-modules)
# Builds all of Succinct's sub-modules
add_subdirectory(core)
add_subdirectory(examples)
add_subdirectory(sharded)
add_subdirectory(sharded-kv)
add_subdirectory(bench)
# add_subdirectory(sharded)
# add_subdirectory(sharded-kv)
# add_subdirectory(bench)
add_subdirectory(pysuccinct)

# Testing framework
# Build google testing framework
Expand All @@ -33,4 +71,4 @@ add_subdirectory(external/gtest-1.7.0)
add_subdirectory(test)

enable_testing()
add_test(CoreTest ${TESTS_PATH}/core_test ${PROJECT_SOURCE_DIR}/test/data)
add_test(CoreTest ${TESTS_PATH}/core_test ${PROJECT_SOURCE_DIR}/test/data)
Loading