Skip to content

Commit f438ebe

Browse files
authored
Merge pull request #7 from bzz/fix-python-packaging
Fix python packaging
2 parents 13a9d4e + 1dee8ad commit f438ebe

20 files changed

+257
-215
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ __pycache__
77

88
.ci
99

10-
build
11-
dist
10+
python/build
11+
python/dist

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ jobs:
2525
stage: test
2626
language: python
2727
python: "3.6"
28-
if: branch = fix-python-packaging
2928
install:
30-
- pip3 install -e .
29+
- pip3 install -e python
3130
- ./_tools/install-lookout-latest.sh
3231
script:
3332
- (python3 language-analyzer.py |& tee -a ../py-analyzer.log)&
@@ -66,6 +65,7 @@ jobs:
6665
python: "3.6"
6766
before_script:
6867
- pip3 install twine
68+
- cd python
6969
script:
7070
- python3 setup.py bdist_wheel
7171
- twine upload dist/*py3-none-any* -u $PYPI_LOGIN -p $PYPI_PASS

_tools/protogen_golang.sh

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,40 @@
11
#!/bin/bash
22
#
33
# Generates Protobuf + gRCP for Golang
4-
# Assumes protoc and protoc-gen-gogofaster binaries are installed
4+
# Assumes 'protoc' and 'protoc-gen-gogofaster' binaries are installed
55

66
PROTOC="../protoc/bin/protoc"
7+
sdk="lookout/sdk"
8+
src="proto"
9+
dst="golang"
10+
711

812
[[ -f "../protoc/bin/protoc" ]] >/dev/null 2>&1 || { echo "Protobuf compiler is required but not found in ${PROTOC}" >&2; exit 1; }
913

14+
if ! mkdir -p "${dst}" ; then
15+
echo "Failed to create ${dst}"
16+
exit 2
17+
fi
18+
1019
"${PROTOC}" -I proto \
1120
--gogofaster_out=plugins=grpc,\
1221
Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types,\
1322
Mgoogle/protobuf/duration.proto=github.com/gogo/protobuf/types,\
1423
Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,\
1524
Mgoogle/protobuf/struct.proto=github.com/gogo/protobuf/types,\
16-
Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types:pb \
17-
proto/*.proto
25+
Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types:"${dst}" \
26+
"${src}/${sdk}/"*.proto
27+
if [[ "$?" -ne 0 ]]; then
28+
echo "Failed to run protoc on ${src}/${sdk}"
29+
exit 2
30+
fi
31+
32+
if ! mv "${dst}/${sdk}/"*.go pb ; then
33+
echo "Failed to mv ${dst}/${sdk}/*.go to ./pb"
34+
exit 2
35+
fi
36+
37+
if ! rm -rf "${dst}" ; then
38+
echo "Failed to delete ${dst}"
39+
exit 2
40+
fi

_tools/protogen_python.sh

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,29 @@
11
#!/bin/bash -e
22
#
33
# Generates Protobuf + gRCP for Python
4-
# Assumes grpcio_tools package is installed (it includes binary of protoc+grpc plugin)
4+
# Assumes 'grpcio_tools' package is installed (it includes binary of protoc+grpc plugin)
55

66

77
src_dir="proto"
8-
out_dir="lookout_sdk"
8+
out_dir="python"
99

1010
mkdir -p "${out_dir}"
1111

1212
python3 -m grpc_tools.protoc -I "${src_dir}" \
1313
--python_out="${out_dir}" --grpc_python_out="${out_dir}" \
14-
"${src_dir}"/*.proto
14+
$(find "${src_dir}/lookout" -iname "*.proto")
1515

16-
# because of https://github.com/bblfsh/client-python/blob/bc807c772079f0fb78fe35709fb7b99283f8b539/setup.py#L179
17-
# this also makes depending on "bblfsh" at runtime mandatory :/
16+
# because these package exist in bblfsh, and are going to be used at runtime
17+
# https://github.com/bblfsh/client-python/blob/bc807c772079f0fb78fe35709fb7b99283f8b539/setup.py#L179
18+
# this also makes "bblfsh" a mandatory runtime dependency
1819
find "${out_dir}" -name '*.py' -exec sed -i 's/^from github/from bblfsh.github/g' {} \;
1920
find "${out_dir}" -name '*.py' -exec sed -i "s/import_module('gopkg.in/import_module('bblfsh.gopkg.in/g" {} \;
20-
touch "${out_dir}"/__init__.py
21+
22+
# make a python packages
23+
<< END >> "${out_dir}/lookout/__init__.py"
24+
# DO NOT CHANGE OR ADD ANYTHING HERE
25+
import pkg_resources
26+
pkg_resources.declare_namespace(__name__)
27+
__version__ = 0, 0, 1
28+
END
29+
touch "${out_dir}/lookout/sdk/__init__.py"

language-analyzer.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
import time
99
import grpc
1010

11-
from lookout_sdk import service_analyzer_pb2_grpc
12-
from lookout_sdk import service_analyzer_pb2
13-
from lookout_sdk import service_data_pb2_grpc
14-
from lookout_sdk import service_data_pb2
11+
from lookout.sdk import service_analyzer_pb2_grpc
12+
from lookout.sdk import service_analyzer_pb2
13+
from lookout.sdk import service_data_pb2_grpc
14+
from lookout.sdk import service_data_pb2
1515

1616
from bblfsh import filter as filter_uast
1717

pb/event.pb.go

Lines changed: 49 additions & 48 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pb/service_analyzer.pb.go

Lines changed: 30 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)