Add api_core package (#4210)

* Add api_core package

* Address review comments
diff --git a/.flake8 b/.flake8
new file mode 100644
index 0000000..3db9b73
--- /dev/null
+++ b/.flake8
@@ -0,0 +1,10 @@
+[flake8]
+import-order-style=google
+# Note: this forces all google imports to be in the third group. See
+# https://github.com/PyCQA/flake8-import-order/issues/111
+application-import-names=google
+exclude =
+  __pycache__,
+  .git,
+  *.pyc,
+  conf.py