这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ More examples can be found [here](https://tuplex.cs.brown.edu/gettingstarted.htm
To install Tuplex, you can use a PyPi package for Linux or MacOS(Intel), or a Docker container which will launch a jupyter notebook with Tuplex preinstalled.
#### Docker
```
docker run -p 8888:8888 tuplex/tuplex:v0.3.6dev
docker run -p 8888:8888 tuplex/tuplex:v0.3.6
```
#### PyPI
```
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/311/create_conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# this script creates Tuplex json configuration files for benchmarks

import json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2021 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# this file compares how fast in a single-threaded setting resolving via
# 1. interpreter only vs. 2. compiled code path is

Expand Down
2 changes: 1 addition & 1 deletion benchmarks/dirty_zillow/create_conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# this script creates Tuplex json configuration files for benchmarks

import json
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/flights/benchmark-tuplex-caching.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# run pyspark + tuplex with artitifical optimization barriers

# Parse HWLOC settings
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/flights/create_conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# this script creates Tuplex json configuration files for benchmarks

import json
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/flights/runbenchmark.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2021 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# runs Tuplex benchmark on AWS setup

# use 11 runs and a timeout after 60min
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/logs/create_conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# this script creates Tuplex json configuration files for benchmarks

import json
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/sigmod21-reproducibility/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,4 +177,4 @@ The experiment comparing Tuplex's Lambda backend vs. Spark is unfortunately not
The setup guide and source code for this experiment can be found in the `benchmarks/distributed` folder.

--
(c) 2021 Tuplex authors
(c) 2017 - 2023 Tuplex authors
2 changes: 1 addition & 1 deletion benchmarks/tpch/Q06/create_conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# this script creates Tuplex json configuration files for benchmarks

import json
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/tpch/Q06/runbenchmark.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2021 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# runs Tuplex TPCH Q06 benchmark on AWS setup

# use 11 runs and a timeout after 60min
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/tpch/Q19/create_conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# this script creates Tuplex json configuration files for benchmarks

import json
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/tpch/Q19/runbenchmark.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2021 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# runs Tuplex TPCH Q19 benchmark on AWS setup

# use 11 runs and a timeout after 60min
Expand Down
2 changes: 1 addition & 1 deletion doc/create-site.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2020 L.Spiegelberg
# (c) 2017 - 2023 L.Spiegelberg
# runs all command to package website

rm -rf build
Expand Down
4 changes: 2 additions & 2 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@
# -- Project information -----------------------------------------------------

project = 'Tuplex'
copyright = '(c) 2021 Tuplex Contributors'
copyright = '(c) 2017 - 2023 Tuplex Contributors'
author = 'Leonhard Spiegelberg'

# The short X.Y version
version="0.3"
# The full version, including alpha/beta/rc tags
release="0.3.6dev"
release="0.3.6"


# -- General configuration ---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion examples/00_HelloTuplex.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
"id": "e82e0f44",
"metadata": {},
"source": [
"(c) 2022 Tuplex Team"
"(c) 2017 - 2023 Tuplex Team"
]
}
],
Expand Down
2 changes: 1 addition & 1 deletion scripts/build_linux_wheels.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2021 Tuplex team
# (c) 2017 - 2023 Tuplex team
# this script invokes the cibuildwheel process with necessary env variables to build the wheel for linux/docker
# builds wheels for python 3.7 - 3.9

Expand Down
2 changes: 1 addition & 1 deletion scripts/docker/benchmark/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Docker image based on Ubuntu 20.04 which holds all frameworks for evaluation
# (c) 2021 L.Spiegelberg, R. Yesantharao
# (c) 2017 - 2023 L.Spiegelberg, R. Yesantharao

FROM ubuntu:20.04
MAINTAINER Leonhard Spiegelberg "leonhard_spiegelberg@brown.edu"
Expand Down
2 changes: 1 addition & 1 deletion scripts/docker/benchmark/create-image.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2021 Tuplex contributors
# (c) 2017 - 2023 Tuplex contributors
# builds benchmark image

while :; do
Expand Down
2 changes: 1 addition & 1 deletion scripts/docker/ci/create-image.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2021 Tuplex contributors
# (c) 2017 - 2023 Tuplex contributors
# builds CI image

while :; do
Expand Down
2 changes: 1 addition & 1 deletion scripts/docker/tuplex/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2022 Tuplex contributors
# (c) 2017 - 2023 Tuplex contributors
# a ready-to-run Tuplex version on a jupyter image
# docker pull jupyter/minimal-notebook:python-3.9.13

Expand Down
6 changes: 3 additions & 3 deletions scripts/docker/tuplex/create-image.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (c) 2022 Tuplex contributors
# (c) 2017 - 2023 Tuplex contributors
# builds notebook image

while :; do
Expand All @@ -20,10 +20,10 @@ cp -R ../../../examples/sample_data .
# build benchmark docker image
# copy from scripts to current dir because docker doesn't understand files
# outside the build context
docker build -t tuplex/tuplex:0.3.6dev -f Dockerfile . || exit 1
docker build -t tuplex/tuplex:0.3.6 -f Dockerfile . || exit 1

# is upload set?
if [[ "${UPLOAD}" == 'SET' ]]; then
docker login
docker push tuplex/tuplex:0.3.6dev
docker push tuplex/tuplex:0.3.6
fi
7 changes: 3 additions & 4 deletions scripts/macos/install_aws-sdk-cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# check if dir exists (i.e. restored from cache, then skip)
if [ -d "/usr/local/include/aws" ]; then
echo ">> Skip aws-sdk-cpp compile from source, already exists"
echo ">> Skip aws-sdk-cpp compile from source, already exists."
exit 0
fi

Expand All @@ -16,10 +16,9 @@ MACOS_VERSION=$(sw_vers -productVersion)
echo "-- processing on MacOS ${MACOS_VERSION}"
function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }

MACOS_VERSION_MAJOR=${MACOS_VERSION%.*}
if [ $MACOS_VERSION_MAJOR -ge 11 ]; then
MACOS_VERSION_MAJOR=$(echo "$MACOS_VERSION" | awk -F \. {'print $1'})
if (( $MACOS_VERSION_MAJOR >= 11 )); then
echo "-- Newer MacOS detected (>=11.0), using more recent base target."
MACOS_VERSION_MAJOR=${MACOS_VERSION%.*}
echo "-- Using minimum target ${MACOS_VERSION_MAJOR}.0"
MINIMUM_TARGET="-DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOS_VERSION_MAJOR}.0"
else
Expand Down
2 changes: 1 addition & 1 deletion scripts/set_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def LooseVersion(v):


# to create a testpypi version use X.Y.devN
version = '0.3.6dev'
version = '0.3.6'

# https://pypi.org/simple/tuplex/
# or https://test.pypi.org/simple/tuplex/
Expand Down
42 changes: 35 additions & 7 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,39 @@ def in_google_colab():
'iso8601'
]

def run_command(cmd, cwd, env):
"""
run shell command `cmd`
:param cmd: command to run (list of strings)
:param cwd: working directory for command
:param env: environment dictionary

"raises": raise subprocess.Ca
"""

output, error = None, None
res = None
try:
res = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd, env=env)
output, error = res.communicate()
if output:
logging.info(f"ret> {res.returncode}")
logging.info(f"OK> output {output.decode()}")
if error:
logging.info(f"ret> {res.returncode}")
logging.info(f"Error> error {error.decode().strip()}")
except os.OSError as e:
logging.error(f"OSError > {e.errno}")
logging.error(f"OSError > {e.strerror}")
logging.error(f"OSError > {e.filename}")
except:
logging.error("Error > {sys.exc_info()[0]}")
raise subprocess.CalledProcessError(res.returncode if res else 1, cmd, output, error)

# dependencies for AWS Lambda backend...
# boto is broken currently...
aws_lambda_dependencies = []

# check python version, e.g., cloudpickle is specific

# manual fix for google colab
if in_google_colab():
logging.debug('Building dependencies for Google Colab environment')
Expand Down Expand Up @@ -515,16 +542,17 @@ def parse_bool_option(key):
if 'MACOSX_DEPLOYMENT_TARGET' not in build_env.keys() and platform.system().lower() == 'darwin':
build_env['MACOSX_DEPLOYMENT_TARGET'] = macos_build_target

subprocess.check_call(
["cmake", ext.sourcedir] + cmake_args, cwd=self.build_temp, env=build_env
)
cmake_command = ["cmake", ext.sourcedir] + cmake_args
logging.info('cmake build command: {}'.format(' '.join(cmake_command)))
run_command(cmake_command, cwd=self.build_temp, env=build_env)

logging.info('configuration done, workdir={}'.format(self.build_temp))
subprocess.check_call(
["cmake", "--build", "."] + build_args, cwd=self.build_temp, env=build_env
)

# this helps to search paths in doubt
# print('searching for .so files in {}'.format(self.build_temp))
# logging.info('searching for .so files in {}'.format(self.build_temp))
# subprocess.check_call(['find', '.', '-name', '*.so'], cwd = self.build_temp)
# subprocess.check_call(['find', '.', '-name', '*.so'], cwd = ext.sourcedir)

Expand Down Expand Up @@ -667,7 +695,7 @@ def tplx_package_data():
# logic and declaration, and simpler if you include description/version in a file.
setup(name="tuplex",
python_requires='>=3.8.0',
version="0.3.6dev",
version="0.3.6",
author="Leonhard Spiegelberg",
author_email="tuplex@cs.brown.edu",
description="Tuplex is a novel big data analytics framework incorporating a Python UDF compiler based on LLVM "
Expand Down
2 changes: 1 addition & 1 deletion tuplex/awslambda/resources/scripts/make_lambda.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
//--------------------------------------------------------------------------------------------------------------------//

#!/usr/bin/env bash
# (c) 2021 L. Spiegelberg, R. Yesantharao
# (c) 2017 - 2023 L. Spiegelberg, R. Yesantharao
# Create AWS Lambda function and upload the provided function zip file.

LAMBDA_NAME=tplxlam
Expand Down
4 changes: 2 additions & 2 deletions tuplex/historyserver/thserver/version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# (c) L.Spiegelberg 2017 - 2022
__version__="0.3.6dev"
# (c) L.Spiegelberg 2017 - 2023
__version__="0.3.6"
2 changes: 1 addition & 1 deletion tuplex/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

setup(
name="Tuplex",
version="0.3.6dev",
version="0.3.6",
packages=find_packages(),
package_data={
# include libs in libexec
Expand Down
4 changes: 2 additions & 2 deletions tuplex/python/tuplex/utils/version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# (c) L.Spiegelberg 2017 - 2022
__version__="0.3.6dev"
# (c) L.Spiegelberg 2017 - 2023
__version__="0.3.6"