git show <hash>:<file>
git log -p <filename>
A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."
The documentation for how to deploy a pipeline with extra, non-PyPi, pure Python packages on GCP is missing some detail. This gist shows how to package and deploy an external pure-Python, non-PyPi dependency to a managed dataflow pipeline on GCP.
TL;DR: You external package needs to be a python (source/binary) distro properly packaged and shipped alongside your pipeline. It is not enough to only specify a tar file with a setup.py.
Your external package must have a proper setup.py. What follow is an example setup.py for our ETL package. This is used to package version 1.1.1 of the etl library. The library requires 3 native PyPi packages to run. These are specified in the install_requires field. This package also ships with custom external JSON data, declared in the package_data section. Last, the setuptools.find_packages function searches for all available packages and returns that
| ``` | |
| 17:09 $ python -mzeep 'https://listings.colliershub.com/Services/API/Currencies.svc?wsdl' | |
| Traceback (most recent call last): | |
| File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main | |
| "__main__", fname, loader, pkg_name) | |
| File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code | |
| exec code in run_globals | |
| File "/Users/vertrees/.virtualenvs/colliers_testing/lib/python2.7/site-packages/zeep/__main__.py", line 86, in <module> | |
| main(args) | |
| File "/Users/vertrees/.virtualenvs/colliers_testing/lib/python2.7/site-packages/zeep/__main__.py", line 75, in main |
| In [7]: %paste | |
| """ | |
| Testing with Berkshire-Hathaway | |
| """ | |
| """ | |
| Colliers API Testing | |
| """ | |
| import zeep |
Here we document our file format for importing CRE data into RealMassive. Third party data providers will be interested in this because, if they:
| """Checks to see if media URIs listed in the given file are valid. | |
| Warning this is untested, shit code. | |
| "Valid" means: | |
| - the file is under 32 megs | |
| - the file exists at the URI | |
| Usage: | |
| # check all URLs in the `your-uri-file.txt` and output failures only. |
| # | |
| # This will build the memtier_benchmark tool from Redis labs and | |
| # run it against a Redis server running on your Mac's localhost. | |
| # | |
| git clone https://github.com/RedisLabs/memtier_benchmark.git | |
| cd memtier_benchmark | |
| docker build -t memtier_benchmark . | |
| docker run --rm -it memtier_benchmark -s host.docker.internal |
| # Service Graph: | |
| kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=servicegraph -o jsonpath='{.items[0].metadata.name}') 8088:8088 & | |
| # Kiali: | |
| kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001 & | |
| # Grafana: | |
| kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 & | |
| # Prometheus: |
| #!/usr/bin/env python3 | |
| # /// script | |
| # requires-python = ">=3.12" | |
| # dependencies = [ | |
| # "typer", | |
| # "rich", | |
| # "requests", | |
| # "python-dotenv", | |
| # ] | |
| # /// |