├── .editorconfig ├── .envrc ├── .eslintignore ├── .github ├── CODEOWNERS ├── pull_request_template.md ├── scripts │ └── wait_for_looker.sh ├── semantic.yml └── workflows │ ├── apix-ci.yml │ ├── codegen-ci.yml │ ├── fix-npm.yml │ ├── go-ci.yml │ ├── hackathon-ci.yml │ ├── kotlin-ci.yml │ ├── lerna-publish.yml │ ├── p3-issue-label.yml │ ├── python-ci.yml │ ├── python-publish.yml │ ├── release-metrics.yml │ ├── release-please.yml │ ├── required-checks-hack-ci.yml │ ├── resources-ci.yml │ ├── triage-issue-label.yml │ └── tssdk-ci.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.js ├── .python-version ├── .release-please-manifest.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Pipfile ├── Pipfile.lock ├── README.md ├── apix-files ├── README.md └── package.json ├── babel.common.js ├── babel.config.js ├── bin ├── args_parser.sh ├── looker-resources-index │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── src │ │ ├── resource-data │ │ │ ├── definitions.ts │ │ │ └── resources.ts │ │ ├── scripts │ │ │ ├── analyze │ │ │ │ ├── cli.ts │ │ │ │ ├── index.ts │ │ │ │ ├── missing-languages.ts │ │ │ │ ├── missing-personas.ts │ │ │ │ └── platform-feature-x-content-type.ts │ │ │ └── build.ts │ │ └── types.ts │ └── tsconfig.json ├── prettify ├── pullci ├── rebuild ├── sdk_gen ├── smoke └── unit_test ├── config └── jest │ ├── fileMock.js │ └── styleMock.js ├── csharp ├── README.md ├── csharp.csproj ├── csharp.sln ├── rtl.Tests │ ├── ApiMethodsTests.cs │ ├── ApiSettingsTests.cs │ ├── AuthSessionTests.cs │ ├── AuthTokenTests.cs │ ├── SdkMethodsTests.cs │ ├── SdkUtilsTests.cs │ ├── TestUtils.cs │ ├── TransportTests.cs │ └── sdkrtl.Tests.csproj ├── rtl │ ├── ApiMethods.cs │ ├── ApiSettings.cs │ ├── AuthSession.cs │ ├── AuthToken.cs │ ├── Constants.cs │ ├── SdkUtils.cs │ ├── Transport.cs │ └── sdkrtl.csproj └── sdk │ └── 4.0 │ ├── methods.cs │ └── models.cs ├── docs ├── byosdk.md ├── ci-testing.md ├── cors.md ├── json.md ├── paging.md ├── rationale.md └── resources │ ├── README.md │ ├── resource-lock.json │ └── resources.json ├── env-sample ├── examples ├── README.md ├── csharp │ └── README.md ├── go │ ├── get_all_dashboards.go │ ├── get_all_folders.go │ ├── get_all_groups.go │ └── get_all_looks.go ├── java │ ├── README.md │ ├── example_gradle │ │ ├── .env_sample │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── lib │ │ │ └── .gitkeep │ │ ├── settings.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── looker │ │ │ └── example │ │ │ └── ExampleRunner.java │ └── example_maven │ │ ├── .env_sample │ │ ├── .gitignore │ │ ├── .mvn │ │ └── wrapper │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── README.md │ │ ├── example_maven.iml │ │ ├── lib │ │ └── .gitkeep │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── looker │ │ └── example │ │ └── ExampleRunner.java ├── kotlin │ └── README.md ├── python │ ├── .flake8 │ ├── .gitignore │ ├── .python-version │ ├── Pipfile │ ├── README.md │ ├── __init__.py │ ├── __pycache__ │ │ └── sdk_exceptions.cpython-37.pyc │ ├── add_contents_to_favorite.py │ ├── add_users_to_group_from_csv.py │ ├── cloud-function-content-cleanup-automation │ │ ├── README.md │ │ ├── main.py │ │ └── requirements.txt │ ├── cloud-function-user-provision │ │ ├── README.md │ │ ├── main.py │ │ └── requirements.txt │ ├── cloud-function-write-to-bigquery │ │ ├── README.md │ │ ├── main.py │ │ └── requirements.txt │ ├── content_validator_comparison.py │ ├── create_db_connections.py │ ├── disable_users_by_email.py │ ├── download_dashboard_csv.py │ ├── download_dashboard_pdf.py │ ├── download_look.py │ ├── download_tile.py │ ├── folder_permission_access.py │ ├── kill_queries.py │ ├── large_dashboard_warning_text_automation │ │ ├── README.md │ │ ├── add_warning_to_large_dashboards.py │ │ └── dashboard_warning.png │ ├── logout_all_users.py │ ├── lookersdk-flask │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app │ │ │ ├── __init__.py │ │ │ ├── auth.py │ │ │ ├── blog.py │ │ │ ├── db.py │ │ │ ├── looker.ini.sample │ │ │ ├── looker.py │ │ │ ├── schema.sql │ │ │ ├── static │ │ │ │ └── style.css │ │ │ └── templates │ │ │ │ ├── auth │ │ │ │ ├── login.html │ │ │ │ └── register.html │ │ │ │ ├── base.html │ │ │ │ └── blog │ │ │ │ ├── create.html │ │ │ │ ├── index.html │ │ │ │ └── update.html │ │ └── requirements.txt │ ├── lookml_model_explore.py │ ├── manage_schedules.py │ ├── mypy.ini │ ├── oauth_session.py │ ├── query_task.py │ ├── run_look_with_filters.py │ ├── simple_sample.py │ ├── simple_schedule_plan.py │ ├── soft_delete_dashboard.py │ ├── test_connection.py │ ├── transfer_all_schedules.py │ └── update_explores_in_dashboards.py ├── r │ └── README.md ├── ruby │ ├── README.md │ ├── all_git_branches.rb │ ├── all_users_to_group.rb │ ├── create_themes.rb │ ├── delete_unused_content.rb │ ├── dev_vs_prod.rb │ ├── disable_users.rb │ ├── download_dashboard.rb │ ├── kill_all_running_queries.rb │ ├── list_files_per_project.rb │ ├── list_users_and_auth_type.rb │ ├── logout_all_users.rb │ ├── render_look_png.rb │ ├── rerun_failed_email_schedules.rb │ ├── schedule_once_to_gcs.rb │ ├── stream_to_s3.rb │ ├── test.rb │ ├── test_all_connections.rb │ ├── test_integrations.rb │ ├── update_look.rb │ ├── users_list_and_auth_types.rb │ ├── validate_content.rb │ └── validate_projects.rb ├── swift │ ├── README.md │ └── sample-swift-sdk │ │ ├── README.md │ │ ├── sample-swift-sdk.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ ├── sample-swift-sdk │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ └── LaunchScreen.storyboard │ │ ├── Dashboards.swift │ │ ├── Info.plist │ │ ├── LookerSwiftSDK │ │ │ ├── apiConfig.swift │ │ │ ├── apiMethods.swift │ │ │ ├── apiSettings.swift │ │ │ ├── authSession.swift │ │ │ ├── authToken.swift │ │ │ ├── baseTransport.swift │ │ │ ├── constants.swift │ │ │ ├── looker.swift │ │ │ ├── methods.swift │ │ │ ├── models.swift │ │ │ ├── partial.swift │ │ │ ├── serializer.swift │ │ │ └── transport.swift │ │ ├── MainView.swift │ │ ├── Preview Content │ │ │ └── Preview Assets.xcassets │ │ │ │ └── Contents.json │ │ └── SceneDelegate.swift │ │ ├── sample-swift-sdkTests │ │ ├── Info.plist │ │ └── sample_swift_sdkTests.swift │ │ └── sample-swift-sdkUITests │ │ ├── Info.plist │ │ └── sample_swift_sdkUITests.swift └── typescript │ ├── README.md │ ├── bulkDisableSchedules.ts │ ├── bulkReassignSchedules.ts │ ├── customConfigReader.ts │ ├── dependencyGraph.ts │ ├── downloadDashboard.ts │ ├── downloadTile.ts │ ├── generateApiCredentials.ts │ ├── index.ts │ ├── sudoAsUser.ts │ ├── testDBConnections.ts │ ├── utils.ts │ └── validateBranch.ts ├── examplesIndex.json ├── go ├── README.md ├── example │ └── main.go ├── go.mod ├── go.sum ├── integration │ └── integration_test.go ├── rtl │ ├── auth.go │ ├── auth_test.go │ ├── constants.go │ ├── settings.go │ ├── settings_test.go │ ├── testdata │ │ └── settings.ini │ ├── types.go │ └── types_test.go └── sdk │ └── v4 │ ├── methods.go │ └── models.go ├── jest.config.js ├── jest.setup.js ├── kotlin ├── README.md ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle.kts └── src │ ├── main │ └── com │ │ └── looker │ │ ├── rtl │ │ ├── APIMethods.kt │ │ ├── AuthSession.kt │ │ ├── AuthToken.kt │ │ ├── Constants.kt │ │ ├── ErrorDoc.kt │ │ ├── GsonObjectParser.kt │ │ ├── OAuthSession.kt │ │ └── Transport.kt │ │ └── sdk │ │ ├── 4.0 │ │ ├── methods.kt │ │ ├── models.kt │ │ └── streams.kt │ │ ├── ApiSettings.kt │ │ └── Constants.kt │ └── test │ ├── KotlinExample.kt │ ├── TestApiSettings.kt │ ├── TestAsync.kt │ ├── TestAuthSession.kt │ ├── TestAuthToken.kt │ ├── TestConstants.kt │ ├── TestErrorDoc.kt │ ├── TestMethods.kt │ ├── TestModels.kt │ ├── TestSmoke.kt │ ├── TestTransport.kt │ └── Utils.kt ├── lerna.json ├── looker-sample.ini ├── package.json ├── packages ├── api-explorer │ ├── .gitignore │ ├── CHANGELOG.md │ ├── CODE_OF_CONDUCT.md │ ├── LICENSE │ ├── README.md │ ├── e2e │ │ ├── MethodScene.spec.ts │ │ ├── diffScene.spec.ts │ │ ├── e2e.spec.ts │ │ └── helpers.ts │ ├── jest-puppeteer.config.js │ ├── jest.config.js │ ├── package.json │ ├── public │ │ ├── Looker.3.1.json │ │ ├── Looker.4.0.json │ │ ├── index.html │ │ └── versions.json │ ├── src │ │ ├── ApiExplorer.tsx │ │ ├── App.tsx │ │ ├── StandaloneApiExplorer.tsx │ │ ├── components │ │ │ ├── Banner │ │ │ │ ├── Banner.spec.tsx │ │ │ │ ├── Banner.tsx │ │ │ │ └── index.ts │ │ │ ├── DocActivityType │ │ │ │ ├── DocActivityType.spec.tsx │ │ │ │ ├── DocActivityType.tsx │ │ │ │ └── index.ts │ │ │ ├── DocCode │ │ │ │ ├── DocCode.tsx │ │ │ │ └── index.ts │ │ │ ├── DocMarkdown │ │ │ │ ├── DocMarkdown.spec.tsx │ │ │ │ ├── DocMarkdown.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── utils.spec.ts │ │ │ │ └── utils.ts │ │ │ ├── DocMethodSummary │ │ │ │ ├── DocMethodSummary.spec.tsx │ │ │ │ ├── DocMethodSummary.tsx │ │ │ │ ├── DocSummaryStatus.spec.tsx │ │ │ │ ├── DocSummaryStatus.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── utils.spec.tsx │ │ │ │ └── utils.tsx │ │ │ ├── DocPseudo │ │ │ │ ├── DocParam.spec.tsx │ │ │ │ ├── DocParam.tsx │ │ │ │ ├── DocParams.spec.tsx │ │ │ │ ├── DocParams.tsx │ │ │ │ ├── DocPrimaryResponse.spec.tsx │ │ │ │ ├── DocPrimaryResponse.tsx │ │ │ │ ├── DocPseudo.spec.tsx │ │ │ │ ├── DocPseudo.tsx │ │ │ │ └── index.tsx │ │ │ ├── DocRateLimited │ │ │ │ ├── DocRateLimited.spec.tsx │ │ │ │ ├── DocRateLimited.tsx │ │ │ │ └── index.ts │ │ │ ├── DocReferences │ │ │ │ ├── DocReferences.spec.tsx │ │ │ │ ├── DocReferences.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── utils.spec.tsx │ │ │ │ └── utils.tsx │ │ │ ├── DocSDKs │ │ │ │ ├── DocDeclarations.tsx │ │ │ │ ├── DocSDKs.spec.tsx │ │ │ │ ├── DocSDKs.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── utils.spec.ts │ │ │ │ └── utils.ts │ │ │ ├── DocSchema │ │ │ │ ├── DocSchema.tsx │ │ │ │ └── index.ts │ │ │ ├── DocSdkUsage │ │ │ │ ├── DocSdkExampleCell.tsx │ │ │ │ ├── DocSdkUsage.spec.tsx │ │ │ │ ├── DocSdkUsage.tsx │ │ │ │ ├── index.ts │ │ │ │ └── utils.ts │ │ │ ├── DocSource │ │ │ │ ├── DocSource.spec.tsx │ │ │ │ ├── DocSource.tsx │ │ │ │ └── index.ts │ │ │ ├── DocStatus │ │ │ │ ├── DocStatus.spec.tsx │ │ │ │ ├── DocStatus.tsx │ │ │ │ └── index.ts │ │ │ ├── DocTitle │ │ │ │ ├── DocTitle.spec.tsx │ │ │ │ ├── DocTitle.tsx │ │ │ │ └── index.ts │ │ │ ├── DocTypeSummary │ │ │ │ ├── DocTypeSummary.spec.tsx │ │ │ │ ├── DocTypeSummary.tsx │ │ │ │ └── index.tsx │ │ │ ├── ErrorBoundary │ │ │ │ ├── ErrorBoundary.spec.tsx │ │ │ │ ├── ErrorBoundary.tsx │ │ │ │ ├── components │ │ │ │ │ └── SomethingWentWrong │ │ │ │ │ │ ├── SomethingWentWrong.spec.tsx │ │ │ │ │ │ ├── SomethingWentWrong.tsx │ │ │ │ │ │ ├── components │ │ │ │ │ │ ├── SomethingWentWrongGraphic │ │ │ │ │ │ │ ├── SomethingWentWrongGraphic.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── ExploreType │ │ │ │ ├── ExploreProperty.spec.tsx │ │ │ │ ├── ExploreProperty.tsx │ │ │ │ ├── ExploreType.spec.tsx │ │ │ │ ├── ExploreType.tsx │ │ │ │ ├── exploreUtils.spec.tsx │ │ │ │ ├── exploreUtils.tsx │ │ │ │ └── index.ts │ │ │ ├── Header │ │ │ │ ├── Header.spec.tsx │ │ │ │ ├── Header.tsx │ │ │ │ └── index.ts │ │ │ ├── Link │ │ │ │ ├── Link.tsx │ │ │ │ └── index.ts │ │ │ ├── SelectorContainer │ │ │ │ ├── ApiSpecSelector.spec.tsx │ │ │ │ ├── ApiSpecSelector.tsx │ │ │ │ ├── SdkLanguageSelector.spec.tsx │ │ │ │ ├── SdkLanguageSelector.tsx │ │ │ │ ├── SelectorContainer.spec.tsx │ │ │ │ ├── SelectorContainer.tsx │ │ │ │ ├── index.ts │ │ │ │ └── utils.ts │ │ │ ├── SideNav │ │ │ │ ├── SearchMessage.tsx │ │ │ │ ├── SideNav.spec.tsx │ │ │ │ ├── SideNav.tsx │ │ │ │ ├── SideNavMethodTags.spec.tsx │ │ │ │ ├── SideNavMethodTags.tsx │ │ │ │ ├── SideNavMethods.spec.tsx │ │ │ │ ├── SideNavMethods.tsx │ │ │ │ ├── SideNavTypeTags.spec.tsx │ │ │ │ ├── SideNavTypeTags.tsx │ │ │ │ ├── SideNavTypes.spec.tsx │ │ │ │ ├── SideNavTypes.tsx │ │ │ │ ├── index.ts │ │ │ │ └── searchUtils.ts │ │ │ ├── common │ │ │ │ ├── Loader.tsx │ │ │ │ ├── common.tsx │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── custom.d.ts │ │ ├── index.ts │ │ ├── routes │ │ │ ├── AppRouter.tsx │ │ │ └── index.ts │ │ ├── scenes │ │ │ ├── DiffScene │ │ │ │ ├── DiffScene.tsx │ │ │ │ ├── DocDiff │ │ │ │ │ ├── DiffBanner.tsx │ │ │ │ │ ├── DiffItem.spec.tsx │ │ │ │ │ ├── DiffItem.tsx │ │ │ │ │ ├── DiffLegend.tsx │ │ │ │ │ ├── DocDiff.spec.tsx │ │ │ │ │ ├── DocDiff.tsx │ │ │ │ │ ├── docDiffUtils.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── diffUtils.spec.ts │ │ │ │ ├── diffUtils.ts │ │ │ │ └── index.ts │ │ │ ├── ErrorDetailScene │ │ │ │ ├── ErrorDetailScene.tsx │ │ │ │ └── index.ts │ │ │ ├── HomeScene │ │ │ │ ├── HomeScene.tsx │ │ │ │ └── index.ts │ │ │ ├── MethodScene │ │ │ │ ├── MethodScene.tsx │ │ │ │ ├── components │ │ │ │ │ ├── DocOperation.spec.tsx │ │ │ │ │ ├── DocOperation.tsx │ │ │ │ │ ├── DocRequestBody.spec.tsx │ │ │ │ │ ├── DocRequestBody.tsx │ │ │ │ │ ├── DocResponses │ │ │ │ │ │ ├── DocResponseTypes.tsx │ │ │ │ │ │ ├── DocResponses.spec.tsx │ │ │ │ │ │ ├── DocResponses.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── MethodTagScene │ │ │ │ ├── MethodTagScene.spec.tsx │ │ │ │ ├── MethodTagScene.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── utils.spec.ts │ │ │ │ └── utils.ts │ │ │ ├── TypeScene │ │ │ │ ├── TypeScene.tsx │ │ │ │ └── index.ts │ │ │ ├── TypeTagScene │ │ │ │ ├── TypeTagScene.spec.tsx │ │ │ │ ├── TypeTagScene.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── utils.spec.ts │ │ │ │ └── utils.ts │ │ │ ├── index.ts │ │ │ └── utils │ │ │ │ ├── hooks │ │ │ │ ├── index.ts │ │ │ │ ├── tagStoreSync.spec.ts │ │ │ │ └── tagStoreSync.ts │ │ │ │ └── index.ts │ │ ├── state │ │ │ ├── index.ts │ │ │ ├── lodes │ │ │ │ ├── index.ts │ │ │ │ ├── sagas.spec.ts │ │ │ │ ├── sagas.ts │ │ │ │ ├── selectors.spec.ts │ │ │ │ ├── selectors.ts │ │ │ │ └── slice.ts │ │ │ ├── settings │ │ │ │ ├── index.ts │ │ │ │ ├── sagas.spec.ts │ │ │ │ ├── sagas.ts │ │ │ │ ├── selectors.spec.ts │ │ │ │ ├── selectors.ts │ │ │ │ └── slice.ts │ │ │ ├── specs │ │ │ │ ├── index.ts │ │ │ │ ├── sagas.spec.ts │ │ │ │ ├── sagas.ts │ │ │ │ ├── selectors.ts │ │ │ │ └── slice.ts │ │ │ └── store.ts │ │ ├── test-data │ │ │ ├── declarations.ts │ │ │ ├── examples.ts │ │ │ ├── index.ts │ │ │ ├── sdkLanguages.ts │ │ │ └── specs.ts │ │ ├── test-utils │ │ │ ├── index.ts │ │ │ ├── lodes.tsx │ │ │ ├── redux.tsx │ │ │ └── router.tsx │ │ └── utils │ │ │ ├── adaptorUtils.ts │ │ │ ├── apixAdaptor.ts │ │ │ ├── highlight.spec.tsx │ │ │ ├── highlight.tsx │ │ │ ├── hooks │ │ │ ├── globalStoreSync.spec.tsx │ │ │ ├── globalStoreSync.ts │ │ │ ├── index.ts │ │ │ ├── navigation.spec.ts │ │ │ ├── navigation.ts │ │ │ └── useQuery.ts │ │ │ ├── index.ts │ │ │ ├── lodeUtils.ts │ │ │ ├── path.spec.ts │ │ │ ├── path.ts │ │ │ ├── sdkLanguage.spec.ts │ │ │ ├── sdkLanguage.ts │ │ │ └── useWindowSize.tsx │ ├── tsconfig.build.json │ ├── webpack.dev.config.js │ └── webpack.prod.config.js ├── code-editor │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── CodeCopy │ │ │ ├── CodeCopy.spec.tsx │ │ │ ├── CodeCopy.tsx │ │ │ └── index.ts │ │ ├── CodeDisplay │ │ │ ├── CodeDisplay.spec.tsx │ │ │ ├── CodeDisplay.tsx │ │ │ ├── CodeWrapper.tsx │ │ │ ├── LineItem.tsx │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── CodeEditor │ │ │ ├── CodeEditor.spec.tsx │ │ │ ├── CodeEditor.tsx │ │ │ └── index.ts │ │ ├── Markdown │ │ │ ├── Markdown.spec.tsx │ │ │ ├── Markdown.tsx │ │ │ ├── TableCell.tsx │ │ │ ├── common.tsx │ │ │ ├── index.ts │ │ │ ├── utils.spec.ts │ │ │ └── utils.ts │ │ ├── index.ts │ │ ├── test-data │ │ │ ├── codeBlob.ts │ │ │ └── index.ts │ │ └── utils │ │ │ ├── index.ts │ │ │ ├── utils.spec.ts │ │ │ └── utils.ts │ └── tsconfig.build.json ├── embed-components │ ├── CHANGELOG.md │ ├── LICENSE │ ├── package.json │ ├── src │ │ ├── GlobalStore │ │ │ ├── index.ts │ │ │ ├── sagas.spec.ts │ │ │ ├── sagas.ts │ │ │ ├── slice.ts │ │ │ └── store.ts │ │ ├── QuickEmbed │ │ │ ├── QuickEmbed.spec.tsx │ │ │ ├── QuickEmbed.tsx │ │ │ └── index.ts │ │ ├── Theme │ │ │ ├── SelectTheme.spec.tsx │ │ │ ├── SelectTheme.tsx │ │ │ ├── index.ts │ │ │ └── state │ │ │ │ ├── index.ts │ │ │ │ ├── sagas.spec.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── slice.ts │ │ ├── index.ts │ │ └── test-utils │ │ │ ├── index.ts │ │ │ ├── store.tsx │ │ │ └── utils.ts │ └── tsconfig.build.json ├── embed-playground │ ├── LICENSE │ ├── package.json │ ├── src │ │ ├── App.tsx │ │ ├── EmbedPlayground.tsx │ │ ├── StandaloneEmbedPlayground.tsx │ │ ├── components │ │ │ ├── Loader │ │ │ │ ├── Loader.tsx │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── index.html │ │ ├── index.ts │ │ ├── index.tsx │ │ └── state │ │ │ ├── index.ts │ │ │ └── store.ts │ ├── tsconfig.build.json │ └── webpack.dev.config.js ├── embed-services │ ├── CHANGELOG.md │ ├── LICENSE │ ├── package.json │ ├── src │ │ ├── EmbedUrl.spec.ts │ │ ├── EmbedUrl.ts │ │ ├── EntityService.ts │ │ ├── ItemList.spec.ts │ │ ├── ItemList.ts │ │ ├── ServiceFactory.spec.ts │ │ ├── ServiceFactory.ts │ │ ├── ThemeService.spec.ts │ │ ├── ThemeService.ts │ │ ├── index.ts │ │ └── test-utils │ │ │ ├── index.ts │ │ │ └── utils.ts │ └── tsconfig.build.json ├── extension-api-explorer │ ├── CHANGELOG.md │ ├── README.md │ ├── bin │ │ └── deploy │ ├── manifest.lkml │ ├── package.json │ ├── public │ │ └── index.html │ ├── src │ │ ├── ExtensionApiExplorer.tsx │ │ ├── custom.d.ts │ │ └── index.tsx │ ├── tsconfig.build.json │ ├── webpack.dev.config.js │ └── webpack.prod.config.js ├── extension-playground │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ │ ├── App.tsx │ │ ├── Playground.tsx │ │ └── index.tsx │ ├── tsconfig.build.json │ ├── webpack.dev.config.js │ └── webpack.prod.config.js ├── extension-sdk-react │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── __mocks__ │ │ └── @looker │ │ │ └── extension-sdk.ts │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── ErrorMessage │ │ │ │ ├── ErrorMessage.spec.tsx │ │ │ │ ├── ErrorMessage.tsx │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── ExtensionConnector │ │ │ │ ├── ExtensionConnector.spec.tsx │ │ │ │ ├── ExtensionConnector.tsx │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── ExtensionProvider │ │ │ │ ├── ExtensionProvider.spec.tsx │ │ │ │ ├── ExtensionProvider.tsx │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── ExtensionProvider2 │ │ │ │ ├── ExtensionProvider2.spec.tsx │ │ │ │ ├── ExtensionProvider2.tsx │ │ │ │ └── index.ts │ │ │ ├── ExtensionProvider40 │ │ │ │ ├── ExtensionProvider40.spec.tsx │ │ │ │ ├── ExtensionProvider40.tsx │ │ │ │ └── index.ts │ │ │ ├── ExtensionProviderBase │ │ │ │ ├── ExtensionProviderBase.tsx │ │ │ │ └── index.ts │ │ │ ├── RouteChangeListener │ │ │ │ ├── RouteChangeListener.tsx │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ └── utils │ │ │ │ ├── get_initial_route_entries.spec.ts │ │ │ │ ├── get_initial_route_entries.ts │ │ │ │ └── setup_close_popovers.ts │ │ ├── index.tsx │ │ └── sdk │ │ │ ├── core_sdk.spec.ts │ │ │ ├── core_sdk.ts │ │ │ ├── core_sdk2.ts │ │ │ └── core_sdk_40.ts │ └── tsconfig.build.json ├── extension-sdk │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src │ │ ├── connect │ │ │ ├── connect_extension_host.spec.ts │ │ │ ├── connect_extension_host.ts │ │ │ ├── extension_host_api.spec.ts │ │ │ ├── extension_host_api.ts │ │ │ ├── fetch_proxy.spec.ts │ │ │ ├── fetch_proxy.ts │ │ │ ├── global_listener.ts │ │ │ ├── index.ts │ │ │ ├── tile │ │ │ │ ├── index.ts │ │ │ │ ├── tile_sdk.spec.ts │ │ │ │ ├── tile_sdk.ts │ │ │ │ └── types.ts │ │ │ ├── types.ts │ │ │ └── visualization │ │ │ │ ├── index.ts │ │ │ │ ├── types.ts │ │ │ │ ├── visualization_sdk.spec.ts │ │ │ │ └── visualization_sdk.ts │ │ ├── index.ts │ │ ├── sdk │ │ │ ├── extension_sdk.spec.ts │ │ │ ├── extension_sdk.ts │ │ │ ├── index.ts │ │ │ └── sdk_connection.ts │ │ └── util │ │ │ ├── errors.ts │ │ │ ├── index.ts │ │ │ └── logger.ts │ └── tsconfig.build.json ├── extension-tile-playground │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ │ ├── App.tsx │ │ ├── TileExtension.tsx │ │ ├── components │ │ │ ├── DashboardTile │ │ │ │ ├── DashboardTile.tsx │ │ │ │ └── index.ts │ │ │ ├── Inspector │ │ │ │ ├── Inspector.tsx │ │ │ │ ├── components │ │ │ │ │ ├── EventTester │ │ │ │ │ │ ├── EventTester.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── TileHostData │ │ │ │ │ │ ├── TileHostData.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── VisualizationData │ │ │ │ │ │ ├── VisualizationData.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── Layout │ │ │ │ ├── Layout.tsx │ │ │ │ └── index.ts │ │ │ ├── LiquidFillGaugeViz │ │ │ │ ├── LiquidFillGaugeViz.tsx │ │ │ │ ├── index.ts │ │ │ │ └── liquid_fill_gauge.js │ │ │ ├── NavigateButton │ │ │ │ ├── NavigateButton.tsx │ │ │ │ └── index.ts │ │ │ ├── Unsupported │ │ │ │ ├── Unsupported.tsx │ │ │ │ ├── components │ │ │ │ │ └── UnsupportedGraphic │ │ │ │ │ │ ├── UnsupportedGraphic.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ └── VisualizationTile │ │ │ │ ├── VisualizationTile.tsx │ │ │ │ ├── index.ts │ │ │ │ └── util │ │ │ │ └── liquid_fill.ts │ │ ├── hooks │ │ │ ├── use_debounce.ts │ │ │ └── use_window_size.ts │ │ └── index.tsx │ ├── tsconfig.build.json │ ├── webpack.dev.config.js │ └── webpack.prod.config.js ├── extension-utils │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src │ │ ├── APIErrorDisplay │ │ │ ├── APIErrorContent.tsx │ │ │ ├── APIErrorDetails.tsx │ │ │ ├── APIErrorDialog.spec.tsx │ │ │ ├── APIErrorDialog.tsx │ │ │ ├── APIErrorDisplay.spec.tsx │ │ │ ├── APIErrorDisplay.tsx │ │ │ ├── APIErrorDocLink.tsx │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ ├── ExtMarkdown.tsx │ │ ├── OAuthForm │ │ │ ├── index.ts │ │ │ └── src │ │ │ │ ├── components │ │ │ │ ├── CollapserCard.spec.tsx │ │ │ │ ├── CollapserCard.tsx │ │ │ │ ├── ConfigHeading.tsx │ │ │ │ ├── OAuthForm.spec.tsx │ │ │ │ ├── OAuthForm.tsx │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── state │ │ │ │ ├── index.ts │ │ │ │ ├── sagas.spec.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── slice.ts │ │ │ │ └── utils.ts │ │ ├── OAuthScene.tsx │ │ ├── adaptorUtils.ts │ │ ├── authUtils.ts │ │ ├── browserAdaptor.spec.ts │ │ ├── browserAdaptor.ts │ │ ├── extensionAdaptor.spec.ts │ │ ├── extensionAdaptor.ts │ │ └── index.ts │ └── tsconfig.build.json ├── hackathon │ ├── CHANGELOG.md │ ├── README.md │ ├── artifact.ipynb │ ├── manifest.lkml │ ├── package.json │ ├── src │ │ ├── Hackathon.tsx │ │ ├── authToken │ │ │ └── gAuthSession.ts │ │ ├── components │ │ │ ├── Header │ │ │ │ ├── Header.tsx │ │ │ │ └── index.ts │ │ │ ├── Loading │ │ │ │ ├── Loading.tsx │ │ │ │ └── index.ts │ │ │ ├── ProjectViewDialog │ │ │ │ ├── ProjectViewDialog.tsx │ │ │ │ └── index.ts │ │ │ ├── Scroller │ │ │ │ ├── Scroller.tsx │ │ │ │ └── index.ts │ │ │ ├── SideNav │ │ │ │ ├── SideNav.tsx │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── constants.tsx │ │ ├── data │ │ │ ├── add_user │ │ │ │ ├── actions.ts │ │ │ │ ├── reducer.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── selectors.ts │ │ │ ├── admin │ │ │ │ ├── actions.ts │ │ │ │ ├── reducer.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── selectors.ts │ │ │ ├── common │ │ │ │ ├── actions.ts │ │ │ │ ├── reducer.ts │ │ │ │ └── selectors.ts │ │ │ ├── hack_session │ │ │ │ ├── actions.ts │ │ │ │ ├── reducer.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── selectors.ts │ │ │ ├── hackers │ │ │ │ ├── actions.ts │ │ │ │ ├── reducer.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── selectors.ts │ │ │ ├── judgings │ │ │ │ ├── actions.ts │ │ │ │ ├── reducer.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── selectors.ts │ │ │ ├── projects │ │ │ │ ├── actions.ts │ │ │ │ ├── reducer.ts │ │ │ │ ├── sagas.ts │ │ │ │ └── selectors.ts │ │ │ ├── root_reducer.ts │ │ │ ├── sheets_client.ts │ │ │ ├── store.ts │ │ │ └── types.ts │ │ ├── index.tsx │ │ ├── models │ │ │ ├── Hackathons.spec.ts │ │ │ ├── Hackathons.ts │ │ │ ├── Hacker.spec.ts │ │ │ ├── Hacker.ts │ │ │ ├── Judgings.spec.ts │ │ │ ├── Judgings.ts │ │ │ ├── Projects.spec.ts │ │ │ ├── Projects.ts │ │ │ ├── Registrations.ts │ │ │ ├── SheetData.spec.ts │ │ │ ├── SheetData.ts │ │ │ ├── SheetRow.ts │ │ │ ├── TeamMembers.ts │ │ │ ├── Technologies.ts │ │ │ ├── Users.ts │ │ │ ├── index.ts │ │ │ └── sheetUtils.tsx │ │ ├── routes │ │ │ ├── AppRouter.tsx │ │ │ └── index.ts │ │ ├── scenes │ │ │ ├── AdminScene │ │ │ │ ├── AdminScene.tsx │ │ │ │ ├── components │ │ │ │ │ ├── AddUsers.tsx │ │ │ │ │ └── UserAttributes.tsx │ │ │ │ └── index.ts │ │ │ ├── HomeScene │ │ │ │ ├── HomeScene.tsx │ │ │ │ ├── agenda.ts │ │ │ │ ├── components │ │ │ │ │ ├── Agenda.spec.tsx │ │ │ │ │ ├── Agenda.tsx │ │ │ │ │ ├── AgendaEra.tsx │ │ │ │ │ ├── AgendaRow.tsx │ │ │ │ │ ├── agendaUtils.spec.ts │ │ │ │ │ ├── agendaUtils.ts │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── JudgingEditorScene │ │ │ │ ├── JudgingEditorScene.tsx │ │ │ │ ├── components │ │ │ │ │ ├── JudgingForm.tsx │ │ │ │ │ ├── JudgingView.tsx │ │ │ │ │ ├── JudgingViewDialog.tsx │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── JudgingScene │ │ │ │ ├── JudgingScene.tsx │ │ │ │ ├── components │ │ │ │ │ ├── JudgingList.tsx │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── NotFoundScene │ │ │ │ ├── NotFoundScene.tsx │ │ │ │ └── index.ts │ │ │ ├── ProjectEditorScene │ │ │ │ ├── ProjectEditorScene.tsx │ │ │ │ ├── components │ │ │ │ │ ├── ProjectForm.tsx │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── ProjectsScene │ │ │ │ ├── ProjectsScene.tsx │ │ │ │ ├── components │ │ │ │ │ ├── ProjectList.tsx │ │ │ │ │ ├── ProjectView.tsx │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── ResourceScene │ │ │ │ ├── ResourceScene.tsx │ │ │ │ ├── index.ts │ │ │ │ └── resource_data.ts │ │ │ ├── UsersScene │ │ │ │ ├── UsersScene.tsx │ │ │ │ ├── components │ │ │ │ │ ├── HackerList.tsx │ │ │ │ │ └── index.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ ├── test-data │ │ │ ├── index.ts │ │ │ └── mocks.ts │ │ └── utils │ │ │ ├── csv_parse.ts │ │ │ ├── index.ts │ │ │ ├── permissions.ts │ │ │ └── tabs.ts │ ├── tsconfig.build.json │ ├── webpack.dev.config.js │ └── webpack.prod.config.js ├── run-it │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── playground │ │ ├── RunItDemo.tsx │ │ ├── index.html │ │ └── index.tsx │ ├── src │ │ ├── RunIt.spec.tsx │ │ ├── RunIt.tsx │ │ ├── RunItProvider.tsx │ │ ├── components │ │ │ ├── Collapser │ │ │ │ ├── CollapserCard.spec.tsx │ │ │ │ ├── CollapserCard.tsx │ │ │ │ └── index.ts │ │ │ ├── ConfigForm │ │ │ │ ├── ConfigForm.spec.tsx │ │ │ │ ├── ConfigForm.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── utils.spec.ts │ │ │ │ └── utils.ts │ │ │ ├── CopyLinkWrapper │ │ │ │ ├── CopyLinkWrapper.spec.tsx │ │ │ │ ├── CopyLinkWrapper.tsx │ │ │ │ └── index.ts │ │ │ ├── DataGrid │ │ │ │ ├── DataGrid.tsx │ │ │ │ ├── gridUtils.spec.tsx │ │ │ │ ├── gridUtils.tsx │ │ │ │ └── index.ts │ │ │ ├── DocSdkCalls │ │ │ │ ├── DocMultiCall.tsx │ │ │ │ ├── DocSdkCalls.spec.tsx │ │ │ │ ├── DocSdkCalls.tsx │ │ │ │ ├── callUtils.ts │ │ │ │ └── index.ts │ │ │ ├── Loading │ │ │ │ ├── Loading.spec.tsx │ │ │ │ ├── Loading.tsx │ │ │ │ └── index.ts │ │ │ ├── LoginForm │ │ │ │ ├── LoginForm.spec.tsx │ │ │ │ ├── LoginForm.tsx │ │ │ │ └── index.ts │ │ │ ├── MethodBadge │ │ │ │ ├── MethodBadge.spec.tsx │ │ │ │ ├── MethodBadge.tsx │ │ │ │ └── index.ts │ │ │ ├── PerfTracker │ │ │ │ ├── PerfChart.tsx │ │ │ │ ├── PerfTable.spec.tsx │ │ │ │ ├── PerfTable.tsx │ │ │ │ ├── PerfTracker.spec.tsx │ │ │ │ ├── PerfTracker.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── perfTableUtils.tsx │ │ │ │ └── perfUtils.ts │ │ │ ├── RequestForm │ │ │ │ ├── FormItem.tsx │ │ │ │ ├── RequestForm.spec.tsx │ │ │ │ ├── RequestForm.tsx │ │ │ │ ├── formUtils.spec.tsx │ │ │ │ ├── formUtils.tsx │ │ │ │ └── index.ts │ │ │ ├── ResponseExplorer │ │ │ │ ├── ResponseExplorer.spec.tsx │ │ │ │ ├── ResponseExplorer.tsx │ │ │ │ └── index.ts │ │ │ ├── ShowResponse │ │ │ │ ├── ShowResponse.spec.tsx │ │ │ │ ├── ShowResponse.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── responseUtils.spec.tsx │ │ │ │ └── responseUtils.tsx │ │ │ ├── common │ │ │ │ ├── common.tsx │ │ │ │ └── index.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── test-data │ │ │ ├── index.ts │ │ │ ├── responses.ts │ │ │ └── specs.ts │ │ └── utils │ │ │ ├── RunItSDK.spec.ts │ │ │ ├── RunItSDK.ts │ │ │ ├── index.ts │ │ │ ├── requestUtils.spec.ts │ │ │ └── requestUtils.ts │ ├── tsconfig.build.json │ └── webpack.dev.config.js ├── sdk-codegen-scripts │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── config │ │ └── development.js │ ├── package.json │ ├── scripts │ │ ├── appconfig.json │ │ ├── mineDeclarations.ts │ │ ├── mineExamples.ts │ │ ├── refresh_specs.ts │ │ ├── register.ts │ │ ├── specLinter.ts │ │ ├── utils.ts │ │ └── vox.ts │ ├── src │ │ ├── convert.apispec.ts │ │ ├── convert.ts │ │ ├── declarationMiner.spec.ts │ │ ├── declarationMiner.ts │ │ ├── exampleMiner.spec.ts │ │ ├── exampleMiner.ts │ │ ├── fetchSpec.apispec.ts │ │ ├── fetchSpec.ts │ │ ├── index.ts │ │ ├── languages.ts │ │ ├── legacy.ts │ │ ├── legacyGenerator.ts │ │ ├── nodeUtils.ts │ │ ├── prettify.spec.ts │ │ ├── prettify.ts │ │ ├── reformatter.ts │ │ ├── sdkConfig.ts │ │ ├── sdkGen.ts │ │ ├── sdkGenerator.spec.ts │ │ ├── sdkGenerator.ts │ │ ├── specConvert.ts │ │ ├── utils.spec.ts │ │ ├── utils.ts │ │ └── yamlToJson.ts │ └── tsconfig.build.json ├── sdk-codegen-utils │ ├── CHANGELOG.md │ ├── README.md │ ├── data │ │ ├── Looker.3.1.json │ │ ├── Looker.3.1.oas.json │ │ ├── Looker.4.0.json │ │ ├── Looker.4.0.oas.json │ │ ├── data.yml │ │ ├── errorCodesIndex.json │ │ ├── examplesIndex.json │ │ ├── openApiRef.json │ │ └── swaggerRef.json │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── mocks.ts │ │ ├── testUtils.spec.ts │ │ ├── testUtils.ts │ │ ├── utils.spec.ts │ │ └── utils.ts │ └── tsconfig.build.json ├── sdk-codegen │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src │ │ ├── codeGen.ts │ │ ├── codeGenerators.spec.ts │ │ ├── codeGenerators.ts │ │ ├── csharp.gen.spec.ts │ │ ├── csharp.gen.ts │ │ ├── declarationInfo.ts │ │ ├── exampleInfo.spec.ts │ │ ├── exampleInfo.ts │ │ ├── go.gen.spec.ts │ │ ├── go.gen.ts │ │ ├── index.ts │ │ ├── kotlin.gen.spec.ts │ │ ├── kotlin.gen.ts │ │ ├── pseudo.gen.spec.ts │ │ ├── pseudo.gen.ts │ │ ├── python.gen.spec.ts │ │ ├── python.gen.ts │ │ ├── sdkModels.spec.ts │ │ ├── sdkModels.ts │ │ ├── specConverter.spec.ts │ │ ├── specConverter.ts │ │ ├── specDiff.spec.ts │ │ ├── specDiff.ts │ │ ├── swift.gen.spec.ts │ │ ├── swift.gen.ts │ │ ├── typescript.gen.spec.ts │ │ └── typescript.gen.ts │ └── tsconfig.build.json ├── sdk-node │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── nodeSdk.ts │ │ ├── nodeServices.spec.ts │ │ ├── nodeServices.ts │ │ ├── nodeSession.apispec.ts │ │ ├── nodeSession.ts │ │ ├── nodeSettings.spec.ts │ │ ├── nodeSettings.ts │ │ ├── nodeTransport.apispec.ts │ │ └── nodeTransport.ts │ ├── test │ │ ├── methods.spec.ts │ │ ├── sdk.apispec.ts │ │ └── setup.mjs │ └── tsconfig.build.json ├── sdk-rtl │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src │ │ ├── CSRFSession.ts │ │ ├── apiMethods.spec.ts │ │ ├── apiMethods.ts │ │ ├── apiSettings.spec.ts │ │ ├── apiSettings.ts │ │ ├── authSession.ts │ │ ├── authToken.spec.ts │ │ ├── authToken.ts │ │ ├── baseTransport.ts │ │ ├── browser.ts │ │ ├── browserServices.spec.ts │ │ ├── browserServices.ts │ │ ├── browserSession.spec.ts │ │ ├── browserSession.ts │ │ ├── browserTransport.spec.ts │ │ ├── browserTransport.ts │ │ ├── constants.spec.ts │ │ ├── constants.ts │ │ ├── cryptoHash.ts │ │ ├── delimArray.spec.ts │ │ ├── delimArray.ts │ │ ├── errorDoc.spec.ts │ │ ├── errorDoc.ts │ │ ├── extensionSession.spec.ts │ │ ├── extensionSession.ts │ │ ├── extensionTransport.spec.ts │ │ ├── extensionTransport.ts │ │ ├── index.ts │ │ ├── lookerSDKError.ts │ │ ├── oauthSession.spec.ts │ │ ├── oauthSession.ts │ │ ├── paging.spec.ts │ │ ├── paging.ts │ │ ├── platformServices.ts │ │ ├── proxySession.spec.ts │ │ ├── proxySession.ts │ │ ├── sleep.ts │ │ ├── testUtils │ │ │ ├── index.ts │ │ │ └── testUtils.ts │ │ ├── transport.spec.ts │ │ └── transport.ts │ └── tsconfig.build.json ├── sdk │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src │ │ ├── 4.0 │ │ │ ├── funcs.ts │ │ │ ├── methods.ts │ │ │ ├── methodsInterface.ts │ │ │ ├── models.ts │ │ │ └── streams.ts │ │ ├── browserSdk.ts │ │ ├── constants.ts │ │ ├── extensionSdk.ts │ │ └── index.ts │ └── tsconfig.build.json ├── wholly-artifact │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── RowModel.spec.ts │ │ ├── RowModel.ts │ │ ├── WhollyArtifact.spec.ts │ │ ├── WhollyArtifact.ts │ │ └── index.ts │ └── tsconfig.build.json └── wholly-sheet │ ├── CHANGELOG.md │ ├── README.md │ ├── jest.config.js │ ├── package.json │ ├── src │ ├── RowModel.spec.ts │ ├── RowModel.ts │ ├── SheetSDK.spec.ts │ ├── SheetSDK.ts │ ├── WhollySheet.spec.ts │ ├── WhollySheet.ts │ ├── index.ts │ └── testUtils │ │ └── testUtils.ts │ └── tsconfig.build.json ├── python ├── .flake8 ├── .gitignore ├── .python-version ├── CHANGELOG.md ├── LICENSE.txt ├── MANIFEST.in ├── Pipfile ├── README.rst ├── looker_sdk │ ├── __init__.py │ ├── error.py │ ├── looker-sample.ini │ ├── py.typed │ ├── rtl │ │ ├── __init__.py │ │ ├── api_methods.py │ │ ├── api_settings.py │ │ ├── auth_session.py │ │ ├── auth_token.py │ │ ├── constants.py │ │ ├── hooks.py │ │ ├── model.py │ │ ├── requests_transport.py │ │ ├── serialize.py │ │ └── transport.py │ ├── sdk │ │ ├── __init__.py │ │ ├── api40 │ │ │ ├── __init__.py │ │ │ ├── methods.py │ │ │ └── models.py │ │ └── constants.py │ └── version.py ├── mypy.ini ├── python-sdk-tutorial.ipynb ├── setup.py ├── tests │ ├── __init__.py │ ├── conftest.py │ ├── integration │ │ ├── .env │ │ ├── __init__.py │ │ ├── test_methods.py │ │ └── test_netrc.py │ └── rtl │ │ ├── .env │ │ ├── __init__.py │ │ ├── test_api_methods.py │ │ ├── test_api_settings.py │ │ ├── test_auth_session.py │ │ ├── test_auth_token.py │ │ ├── test_requests_transport.py │ │ ├── test_serialize.py │ │ └── test_transport.py └── tox.ini ├── release-please-config.json ├── release-please-config.json.template ├── shell.nix ├── spec ├── Looker.3.1.json ├── Looker.3.1.oas.json ├── Looker.4.0.json └── Looker.4.0.oas.json ├── swift └── looker │ ├── .gitignore │ ├── Package.swift │ ├── README.md │ ├── Tests │ ├── LinuxMain.swift │ └── lookerTests │ │ ├── XCTestManifests.swift │ │ ├── apiConfigTests.swift │ │ ├── apiSettingsTests.swift │ │ ├── authSessionTests.swift │ │ ├── authTokenTests.swift │ │ ├── baseTransportTests.swift │ │ ├── constantsTests.swift │ │ ├── lookerTests.swift │ │ ├── methodsTests.swift │ │ ├── modelsTests.swift │ │ ├── smokeTests.swift │ │ └── transportTests.swift │ ├── looker.xcodeproj │ ├── lookerTests_Info.plist │ ├── looker_Info.plist │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── looker-Package.xcscheme │ ├── rtl │ ├── AnyCodable.swift │ ├── AnyDecodable.swift │ ├── AnyEncodable.swift │ ├── apiConfig.swift │ ├── apiMethods.swift │ ├── apiSettings.swift │ ├── authSession.swift │ ├── authToken.swift │ ├── baseTransport.swift │ ├── constants.swift │ ├── looker.swift │ ├── oauthSession.swift │ ├── serializer.swift │ └── transport.swift │ └── sdk │ ├── methods.swift │ ├── models.swift │ └── streams.swift ├── test ├── data.yml ├── data.yml.json ├── errorCodesIndex.json ├── openApiRef.json └── swaggerRef.json ├── tsconfig.build.json ├── tsconfig.common.json ├── tsconfig.json ├── webpack.base.config.js ├── webpack.browser.config.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset = utf-8 3 | end_of_line = lf 4 | insert_final_newline = true 5 | trim_trailing_whitespace = true 6 | 7 | [*.{kt,kts}] 8 | indent_style = space 9 | indent_size = 4 10 | ktlint_standard_no-wildcard-imports = disabled 11 | ktlint_standard_filename = disabled 12 | ktlint_standard_enum-entry-name-case = disabled 13 | -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- 1 | if has nix; then 2 | use nix 3 | fi -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | packages/extension-tile-playground/src/components/LiquidFillGaugeViz/liquid_fill_gauge.js -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @looker-open-source/cloud-looker-devrel 2 | -------------------------------------------------------------------------------- /.github/scripts/wait_for_looker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | check_looker() { 4 | status=$(curl --silent --insecure --write "%{http_code}" \ 5 | --data "client_id=$LOOKERSDK_CLIENT_ID&client_secret=$LOOKERSDK_CLIENT_SECRET"\ 6 | $LOOKERSDK_BASE_URL/api/${LOOKERSDK_API_VERSION:-4.0}/login\ 7 | -o /dev/null) 8 | } 9 | 10 | MAX_RETRIES=160 11 | ATTEMPTS=1 12 | status=0 13 | check_looker 14 | while [ $status -ne 200 ]; 15 | do 16 | RETRY_MSG="after $ATTEMPTS attempts: $(expr $MAX_RETRIES - $ATTEMPTS) retries remaining." 17 | if [ $ATTEMPTS -ge $MAX_RETRIES ]; 18 | then 19 | echo 'Looker took too long to start' 20 | exit 1 21 | else 22 | if [ $status -ne 0 ]; 23 | then 24 | echo "Received status($status) from Looker $RETRY_MSG" 25 | else 26 | echo "Looker server connection rejected $RETRY_MSG" 27 | fi 28 | fi 29 | 30 | sleep 2 31 | ATTEMPTS=$(( $ATTEMPTS + 1 )) 32 | check_looker 33 | done 34 | echo "Looker ready after $ATTEMPTS attempts" 35 | exit 0 36 | -------------------------------------------------------------------------------- /.github/semantic.yml: -------------------------------------------------------------------------------- 1 | # Config file for Semantic Pull Requests Probot 2 | # See https://github.com/probot/semantic-pull-requests 3 | 4 | # Always validate the PR title, and ignore the commits 5 | titleOnly: true 6 | -------------------------------------------------------------------------------- /.github/workflows/fix-npm.yml: -------------------------------------------------------------------------------- 1 | name: Fix NPM info 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | 8 | fix: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Get NPM token last 8 12 | run: echo $NODE_AUTH_TOKEN | sed 's/^.*\(.\{8\}\)$/\1/' 13 | env: 14 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN_RELEASE_BACKED }} 15 | -------------------------------------------------------------------------------- /.github/workflows/p3-issue-label.yml: -------------------------------------------------------------------------------- 1 | name: Label all new/reopened issues with P3 2 | on: 3 | issues: 4 | types: 5 | - reopened 6 | - opened 7 | jobs: 8 | label_issues_p3: 9 | runs-on: ubuntu-latest 10 | permissions: 11 | issues: write 12 | steps: 13 | - uses: actions/github-script@v6 14 | with: 15 | script: | 16 | github.rest.issues.addLabels({ 17 | issue_number: context.issue.number, 18 | owner: context.repo.owner, 19 | repo: context.repo.repo, 20 | labels: ["p3"] 21 | }) 22 | -------------------------------------------------------------------------------- /.github/workflows/python-publish.yml: -------------------------------------------------------------------------------- 1 | name: Python Publish to PYPI 2 | on: 3 | release: 4 | types: published 5 | 6 | workflow_dispatch: 7 | inputs: 8 | ref: 9 | description: 'commit/tag/branch to release from' 10 | required: true 11 | 12 | defaults: 13 | run: 14 | shell: bash 15 | working-directory: python/ 16 | 17 | jobs: 18 | publish: 19 | if: > 20 | (github.event.inputs) || 21 | (startsWith(github.event.release.tag_name, 'looker_sdk') && 22 | !github.event.release.draft && 23 | !github.event.release.prerelease) 24 | runs-on: ubuntu-latest 25 | steps: 26 | - uses: actions/checkout@v4 27 | with: 28 | ref: ${{ github.event.release.tag_name || github.event.inputs.ref }} 29 | 30 | - uses: actions/setup-python@v5 31 | with: 32 | python-version: '3.10' 33 | 34 | - name: Package release artifacts 35 | run: | 36 | pip install wheel 37 | python setup.py sdist bdist_wheel 38 | 39 | - uses: pypa/gh-action-pypi-publish@v1.4.1 40 | with: 41 | user: __token__ 42 | password: ${{ secrets.PYPI_API_TOKEN }} 43 | packages_dir: python/dist/ 44 | -------------------------------------------------------------------------------- /.github/workflows/release-metrics.yml: -------------------------------------------------------------------------------- 1 | name: Send publish metrics to bigquery 2 | on: 3 | release: 4 | types: published 5 | jobs: 6 | publish: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Authenticate to Google Cloud 10 | uses: google-github-actions/auth@v2 11 | with: 12 | credentials_json: ${{ secrets.GCP_BQ_METRICS_KEY }} 13 | project_id: ${{ secrets.GCP_PROJECT_ID }} 14 | create_credentials_file: true 15 | export_environment_variables: true 16 | 17 | - name: Set up Cloud SDK 18 | uses: google-github-actions/setup-gcloud@v2 19 | 20 | - run: 'jq -c ''.release | 21 | { 22 | package_name: .name | split(" ")[0], 23 | name, 24 | tag_name, 25 | version: .tag_name | split("-v")[1], 26 | html_url, 27 | target_commitish, 28 | created_at, 29 | published_at, 30 | draft, 31 | prerelease 32 | }'' $GITHUB_EVENT_PATH > releases.json' 33 | 34 | # Avoid rate limit exceeded error in bq load step 35 | - name: Sleep for random time 36 | run: sleep $((RANDOM % 120)) 37 | 38 | - run: bq load --source_format=NEWLINE_DELIMITED_JSON metrics.releases releases.json 39 | -------------------------------------------------------------------------------- /.github/workflows/release-please.yml: -------------------------------------------------------------------------------- 1 | name: release-please 2 | on: 3 | workflow_dispatch: 4 | push: 5 | branches: 6 | - main 7 | jobs: 8 | release-please: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: google-github-actions/release-please-action@v3.7.8 12 | with: 13 | command: manifest 14 | monorepo-tags: true 15 | token: ${{ secrets.LOS_AUTO_BOT_RP_TOKEN }} 16 | -------------------------------------------------------------------------------- /.github/workflows/triage-issue-label.yml: -------------------------------------------------------------------------------- 1 | name: Label issues that need triage 2 | on: 3 | issues: 4 | types: 5 | - opened 6 | jobs: 7 | label_issues_p3: 8 | runs-on: ubuntu-latest 9 | permissions: 10 | issues: write 11 | steps: 12 | - uses: actions/github-script@v6 13 | with: 14 | script: | 15 | github.rest.issues.addLabels({ 16 | issue_number: context.issue.number, 17 | owner: context.repo.owner, 18 | repo: context.repo.repo, 19 | labels: ["need triage"] 20 | }) 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # local credentials 2 | .npmrc 3 | looker.ini 4 | 5 | # dependencies 6 | node_modules 7 | 8 | # typescript incrementals 9 | *.tsbuildinfo 10 | 11 | # testing 12 | /coverage 13 | .cache 14 | .eslintcache 15 | python/.tox/ 16 | 17 | # code-gen 18 | ./public 19 | 20 | # lerna 21 | /packages/*/lib 22 | /packages/*/dist 23 | 24 | # misc 25 | .DS_Store 26 | .env 27 | .env.* 28 | .idea/ 29 | .direnv/ 30 | 31 | # logs 32 | npm-debug.log* 33 | yarn-debug.log* 34 | yarn-error.log* 35 | /lerna-debug.log 36 | 37 | looker.ini.* 38 | lookerapi*.json 39 | Looker*.json 40 | 41 | # ide configurations 42 | **/.idea/* 43 | **/.vscode/* 44 | 45 | # code generator unversioned files 46 | api/* 47 | python/venv/* 48 | venv/* 49 | package-lock.json 50 | **/lib/* 51 | **/dist/* 52 | **/.DS_Store 53 | **/.build 54 | **/xcuserdata/ 55 | kotlin/.gradle/* 56 | **/.gradle/* 57 | kotlin/.* 58 | kotlin/bin/* 59 | kotlin/build/* 60 | kotlin/out/* 61 | spec/versions.json 62 | 63 | # test output 64 | junit.xml 65 | results/* 66 | 67 | # csharp 68 | csharp/*.cache 69 | **/obj/ 70 | **/bin/Debug 71 | *.user 72 | 73 | # hackathon 74 | **/google-creds.json 75 | 76 | # apix indexes 77 | declarationsIndex.json 78 | /apix-files/yarn.lock 79 | 80 | # hackathon test files 81 | /hack*.json 82 | 83 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | *.md 2 | **/*.md 3 | **/*.mdx 4 | **/dist 5 | **/lib 6 | **/storybook-static 7 | **/test/output 8 | **/.eslintrc 9 | *.lock 10 | bin/** -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | // module.exports = require("@looker/prettier-config"); 2 | const config = { 3 | // SSchema: "https://json.schemastore.org/prettierrc", 4 | semi: true, 5 | singleQuote: true, 6 | trailingComma: 'es5', 7 | arrowParens: 'avoid', 8 | }; 9 | module.exports = config; 10 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.8.2 2 | -------------------------------------------------------------------------------- /.release-please-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | ".": "25.8.0", 3 | "packages/api-explorer": "0.9.76", 4 | "packages/code-editor": "0.1.43", 5 | "packages/extension-api-explorer": "22.21.33", 6 | "packages/extension-sdk": "25.8.0", 7 | "packages/extension-sdk-react": "25.8.0", 8 | "packages/extension-utils": "0.1.53", 9 | "packages/hackathon": "22.21.35", 10 | "packages/run-it": "0.9.76", 11 | "packages/sdk": "25.8.0", 12 | "packages/sdk-codegen": "21.9.12", 13 | "packages/sdk-codegen-scripts": "21.5.33", 14 | "packages/sdk-codegen-utils": "21.0.23", 15 | "packages/sdk-node": "25.8.0", 16 | "packages/sdk-rtl": "21.6.4", 17 | "packages/wholly-artifact": "0.1.34", 18 | "packages/wholly-sheet": "0.5.72", 19 | "python": "25.8.0", 20 | "packages/extension-playground": "1.0.33", 21 | "packages/extension-tile-playground": "1.1.20", 22 | "packages/embed-services": "25.8.0", 23 | "packages/embed-components": "25.8.0" 24 | } 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "pypi" 3 | url = "https://pypi.org/simple" 4 | verify_ssl = true 5 | 6 | [dev-packages] 7 | tox = "*" 8 | tox-pipenv = "*" 9 | 10 | [packages] 11 | black = "*" 12 | 13 | [requires] 14 | python_version = "3.8" 15 | 16 | [pipenv] 17 | allow_prereleases = true 18 | -------------------------------------------------------------------------------- /apix-files/README.md: -------------------------------------------------------------------------------- 1 | # API Explorer file server 2 | 3 | API Explorer (aka APIX) uses some JSON-formatted "index" files to augment the information provided in a specification. 4 | 5 | To use this server, clone this repository and: 6 | 7 | ```sh 8 | yarn && yarn build 9 | yarn mine 10 | cd apix-files 11 | yarn serve 12 | ``` 13 | 14 | This will start the API Explorer file server at `http://localhost:30000` 15 | 16 | ## Mining the source code 17 | 18 | `yarn mine` runs two specific miners: 19 | 20 | - `yarn mine:examples` 21 | - `yarn mine:declarations` 22 | 23 | which are briefly explained below 24 | 25 | ### Example mining 26 | 27 | The source code in this repository is mined to find examples of using the Looker SDKs. 28 | 29 | ```sh 30 | yarn mine:examples 31 | ``` 32 | 33 | produces [examplesIndex.json](/examplesIndex.json), which is checked in. 34 | 35 | ### Declaration mining 36 | 37 | ```sh 38 | yarn mine:declarations 39 | ``` 40 | 41 | produces [declarationsIndex.json](/declarationsIndex.json), which is not checked in (so it will be missing unless you've modified the declaration miner configuration to find your spec implementation). 42 | This file is used internally by Looker to provide direct links from API Explorer to the source code that defines our endpoints and API types. 43 | -------------------------------------------------------------------------------- /apix-files/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@internal/apix-files", 3 | "version": "21.0.11", 4 | "description": "Looker File Server for API Explorer", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib" 9 | ], 10 | "author": "Looker", 11 | "license": "MIT", 12 | "private": true, 13 | "publishConfig": { 14 | "access": "public" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/looker-open-source/sdk-codegen.git", 19 | "directory": "packages/sdk-codegen-utils" 20 | }, 21 | "bugs": { 22 | "url": "https://github.com/looker-open-source/sdk-codegen/issues" 23 | }, 24 | "homepage": "https://github.com/looker-open-source/sdk-codegen/tree/main/packages/sdk-codegen-utils", 25 | "keywords": [ 26 | "Looker", 27 | "SDK", 28 | "API", 29 | "Explorer", 30 | "Files" 31 | ], 32 | "dependencies": { 33 | "http-server": "^14.1.1" 34 | }, 35 | "scripts": { 36 | "serve": "http-server ../ -p 30000 --cors" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /bin/looker-resources-index/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | tmp -------------------------------------------------------------------------------- /bin/looker-resources-index/README.md: -------------------------------------------------------------------------------- 1 | # Looker Resources Index 2 | 3 | This folder contains data (in code) about Looker-related resources and scripts to maintain and repackage that data for publication. 4 | 5 | The main location that the data is maintained is in `src/resource-data/resources.ts` 6 | 7 | The main output of these scripts is a JSON file in `../../docs/resources` intended to be checked in to git and consumed via CDN. You may also import the typescript exports from this folder, for example to benefit from type declarations. 8 | 9 | - Before use, install dependencies with `yarn install` 10 | - To run tests & reports about the resources data, `yarn run analyze` 11 | - To build the distributable JSON file, run `yarn run build` 12 | 13 | ## Sample Use Cases 14 | 15 | - Create a "resource explorer" UI (for developer portal or hackathons) 16 | - Generate a "home"/"index" page for the developer portal 17 | - Generate an "Overview" page for each platform feature page (e.g. Actions, API, etc.) 18 | - Find and embed "related resources" into specific articles and content 19 | -------------------------------------------------------------------------------- /bin/looker-resources-index/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@internal/looker-resources-index", 3 | "version": "0.0.0", 4 | "description": "A listing of Looker-related resources, and some automation for publishing the listing in consumable formats", 5 | "main": "src/resource-data/resources.ts", 6 | "private": true, 7 | "engines": { 8 | "node": ">=12.0.0" 9 | }, 10 | "scripts": { 11 | "start": "echo \"No 'start' command available. Did you want to 'build'?\"", 12 | "build": "node_modules/.bin/tsc --project . && node tmp/compiled-typescript/scripts/build.js", 13 | "analyze": "node_modules/.bin/tsc --project . && node tmp/compiled-typescript/scripts/analyze/cli.js", 14 | "test": "echo \"Error: no test specified\" && exit 1" 15 | }, 16 | "author": "Looker", 17 | "license": "MIT", 18 | "devDependencies": { 19 | "@types/node": "22.5.4", 20 | "typescript": "5.5.4" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bin/looker-resources-index/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "noImplicitAny": true, 6 | "moduleResolution": "node", 7 | "sourceMap": true, 8 | "outDir": "tmp/compiled-typescript", 9 | "baseUrl": ".", 10 | "types": ["node"], 11 | "lib": ["es2019"], 12 | "paths": { 13 | "*": ["node_modules/*"] 14 | } 15 | }, 16 | "include": ["src/**/*"] 17 | } 18 | -------------------------------------------------------------------------------- /bin/prettify: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | source "bin/args_parser.sh" 4 | args=() 5 | 6 | if [[ "${ARG_FIX}" == "false" ]]; then 7 | args+=("--check") 8 | fi 9 | 10 | if [[ "${ARG_FIX}" == "true" ]] && [[ "${ARG_QUICK}" == "false" ]]; then 11 | args+=("--write") 12 | fi 13 | 14 | cd "$(dirname "${0}")/.." || exit 1 15 | 16 | if [[ "${ARG_QUICK}" == "true" ]]; then 17 | echo "Quick processing changed files supported by prettier" 18 | # This flag is only supported by pretty-quick 19 | if [[ "${ARG_STAGED}" == "true" ]]; then 20 | args+=("--staged") 21 | fi 22 | 23 | echo "Sorry, quick isn't supported yet because pretty-quick is bloated and borked" 24 | # yarn pretty-quick "${args[@]}" 25 | else 26 | echo "👀 Running on your local dev machine? Consider using -q|--quick to check only changed files." 27 | yarn prettier . "${args[@]}" --ignore ../.prettierignore --single-quote --semi --trailing-comma es5 28 | # When we switch to NPM, use npx --workspaces prettier . "${args[@]}" --single-quote --semi --trailing-comma es5 29 | fi 30 | -------------------------------------------------------------------------------- /bin/pullci: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # pull a version and start up looker dockerized container 3 | 4 | if [[ $# -ne 1 ]]; then 5 | echo "$0 " 6 | echo " release_version: XX_XX, like 22_4, not 22.4" 7 | exit 2 8 | fi 9 | 10 | VERSION=$1 11 | NAME=looker-sdk-codegen-ci 12 | DOCK=us-west1-docker.pkg.dev/cloud-looker-sdk-codegen-cicd/looker/$VERSION 13 | WEBPORT=10000 14 | APIPORT=20000 15 | 16 | # stop_port 10000 17 | # will stop the Docker image running on the specific port 18 | function stop_port() { 19 | for id in $(docker ps -q) 20 | do 21 | if [[ $(docker port "${id}") == *"${1}"* ]]; then 22 | echo "stopping container ${id}" 23 | docker stop "${id}" 24 | fi 25 | done 26 | } 27 | 28 | stop_port $WEBPORT 29 | docker rm -f "$NAME" 1> /dev/null 30 | docker pull "$DOCK" 31 | docker run --name "$NAME" -d -p $WEBPORT:9999 -p $APIPORT:19999 "$DOCK" 32 | -------------------------------------------------------------------------------- /bin/rebuild: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # clear all web stack artifacts and rebuild 3 | 4 | cd "$(dirname "$0")"/.. || exit 5 | rm -rf ./**/node_modules 6 | rm yarn.lock 7 | yarn install 8 | yarn build 9 | yarn dedupe:dev -------------------------------------------------------------------------------- /config/jest/fileMock.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2020 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | module.exports = 'test-file-stub'; 28 | -------------------------------------------------------------------------------- /config/jest/styleMock.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2020 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | module.exports = {}; 28 | -------------------------------------------------------------------------------- /csharp/README.md: -------------------------------------------------------------------------------- 1 | # Look\# 2 | 3 | ## C# .NET SDK for Looker 4 | 5 | Look# was developed using the principles in [Build Your Own SDK](/docs/byosdk.md). 6 | 7 | Look# has: 8 | 9 | - C# Runtime library with strong typing for HTTP responses 10 | - Uses .NET Core 6.x, an Open Source, cross-platform run-time for macOS, Windows, and Linux 11 | - SDK Codegen generates the SDK bindings from the Looker API spec 12 | - API 4.0 methods (SDK calls) and models (SDK types) 13 | - Includes many unit and some functional tests! 14 | - nice: `AllDashboardsTests` shows LINQ, which is one of the coolest features of .NET 15 | 16 | **NOTE**: We used JetBrains Rider instead of VS Code, which provided much better developer tools for C#. 17 | 18 | **WARNING**: Look# is currently only "community supported" via issues or questions in this repository. It will eventually reach "officially supported by Looker" status in the future. The date for official support has not yet been established. 19 | -------------------------------------------------------------------------------- /csharp/csharp.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net6.0 4 | false 5 | false 6 | 10 7 | 8 | 9 | bin\Debug/net6.0/ 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /csharp/rtl.Tests/sdkrtl.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | false 6 | false 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /csharp/rtl/sdkrtl.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | false 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/resources/README.md: -------------------------------------------------------------------------------- 1 | # Looker Resources Index 2 | 3 | The `resources.json` file contained in this directory provides an index of Looker-related resources, primarily aimed at developers and hackathon attendees. 4 | 5 | **The JSON file is generated. Do not modify it directly, as any direct modifications will be overwritten** 6 | 7 | To modify the contents of the JSON file, edit the source code/data in [`/bin/looker-resources-index`](../../bin/looker-resources-index) and then `yarn install && yarn run build` in that directory. 8 | -------------------------------------------------------------------------------- /env-sample: -------------------------------------------------------------------------------- 1 | # This is a sample .env file 2 | # If you want to use a .env file for your sdk-codegen settings instead of a looker.ini, 3 | # - copy this file to .env or .env.local 4 | # - put in the correct values for your configuration 5 | # - and you should be up and running with any SDK that supports environment variable configuration 6 | # 7 | # This repository is configured to gitignore `.env` files. A valid `.env` file should never be checked in. 8 | LOOKERSDK_BASE_URL=https://self-signed.looker.com:19999 9 | LOOKERSDK_VERIFY_SSL=false 10 | LOOKERSDK_TIMEOUT=120 11 | LOOKERSDK_CLIENT_ID=YourAPIClientID 12 | LOOKERSDK_CLIENT_SECRET=YourAPIClientSSecret 13 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # Examples for the Looker SDKs 2 | 3 | This repository contains source code examples and projects that use SDKs to communicate with the Looker API. Examples are organized by folder names that correspond to the name of the programming language used. 4 | 5 | This is a constantly-evolving repository, where examples could change, appear, and disappear at any time. 6 | 7 | ## Configuration 8 | 9 | To simplify configuring API credential information for the examples, most of the examples use a `looker.ini` file in the root directory of this repository. It can be exactly the same as the configuration file used for the SDK code generator. 10 | 11 | See [Configuring `looker.ini`](/README.md#configuring-lookerini-or-env) for help with configuring your Looker server and API credentials. 12 | 13 | ## Please contribute 14 | 15 | All are welcome to submit examples. Please feel free to submit a PR for any examples you want to share. Thank you! 16 | -------------------------------------------------------------------------------- /examples/csharp/README.md: -------------------------------------------------------------------------------- 1 | # C# Examples for the Looker API 2 | 3 | There are currently no C# examples for the Looker API. Feel free to submit some! 4 | -------------------------------------------------------------------------------- /examples/go/get_all_dashboards.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/looker-open-source/sdk-codegen/go/rtl" 7 | "github.com/looker-open-source/sdk-codegen/go/sdk/v4" 8 | ) 9 | 10 | func main() { 11 | // Read settings from ini file 12 | cfg, err := rtl.NewSettingsFromFile("looker.ini", nil) 13 | if err != nil { 14 | panic(err) 15 | } 16 | 17 | // New instance of LookerSDK 18 | sdk := v4.NewLookerSDK(rtl.NewAuthSession(cfg)) 19 | 20 | // List all Dashboards in Looker 21 | dashboards, err := sdk.SearchDashboards(v4.RequestSearchDashboards{}, nil) 22 | if err != nil { 23 | panic(err) 24 | } 25 | 26 | println("-------------------------") 27 | // Iterate the Dashboards and print basic info 28 | for _, d := range dashboards { 29 | fmt.Printf("Dashboard: %s\tID: %s \n", *d.Title, *d.Id) 30 | } 31 | println("-------------------------") 32 | } 33 | -------------------------------------------------------------------------------- /examples/go/get_all_folders.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/looker-open-source/sdk-codegen/go/rtl" 7 | "github.com/looker-open-source/sdk-codegen/go/sdk/v4" 8 | ) 9 | 10 | func main() { 11 | // Read settings from ini file 12 | cfg, err := rtl.NewSettingsFromFile("looker.ini", nil) 13 | if err != nil { 14 | panic(err) 15 | } 16 | 17 | // New instance of LookerSDK 18 | sdk := v4.NewLookerSDK(rtl.NewAuthSession(cfg)) 19 | 20 | // List all Folders in Looker 21 | folders, err := sdk.SearchFolders(v4.RequestSearchFolders{}, nil) 22 | if err != nil { 23 | panic(err) 24 | } 25 | 26 | println("-------------------------") 27 | // Iterate the Folders and print basic info 28 | for _, f := range folders { 29 | fmt.Printf("Folders ID: %s with Name: %s \n", *f.Id, f.Name) 30 | } 31 | println("-------------------------") 32 | } 33 | -------------------------------------------------------------------------------- /examples/go/get_all_groups.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/looker-open-source/sdk-codegen/go/rtl" 7 | "github.com/looker-open-source/sdk-codegen/go/sdk/v4" 8 | ) 9 | 10 | func main() { 11 | // Read settings from ini file 12 | cfg, err := rtl.NewSettingsFromFile("looker.ini", nil) 13 | if err != nil { 14 | panic(err) 15 | } 16 | 17 | // New instance of LookerSDK 18 | sdk := v4.NewLookerSDK(rtl.NewAuthSession(cfg)) 19 | 20 | // List all Groups in Looker 21 | looks, err := sdk.AllGroups(v4.RequestAllGroups{}, nil) 22 | if err != nil { 23 | panic(err) 24 | } 25 | 26 | println("-------------------------") 27 | // Iterate the Groups and print basic info 28 | for _, g := range looks { 29 | fmt.Printf("Group: %s\tUser Count: %d \n", *g.Name, *g.UserCount) 30 | } 31 | println("-------------------------") 32 | } 33 | -------------------------------------------------------------------------------- /examples/go/get_all_looks.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/looker-open-source/sdk-codegen/go/rtl" 7 | "github.com/looker-open-source/sdk-codegen/go/sdk/v4" 8 | ) 9 | 10 | func main() { 11 | // Read settings from ini file 12 | cfg, err := rtl.NewSettingsFromFile("looker.ini", nil) 13 | if err != nil { 14 | panic(err) 15 | } 16 | 17 | // New instance of LookerSDK 18 | sdk := v4.NewLookerSDK(rtl.NewAuthSession(cfg)) 19 | 20 | // List all Looks in Looker 21 | looks, err := sdk.SearchLooks(v4.RequestSearchLooks{}, nil) 22 | if err != nil { 23 | panic(err) 24 | } 25 | 26 | println("-------------------------") 27 | // Iterate the Looks and print basic info 28 | for _, l := range looks { 29 | fmt.Printf("Look: %s\tID: %d \tWas Deleted? %t \n", *l.Title, *l.Id, *l.Deleted) 30 | } 31 | println("-------------------------") 32 | } 33 | -------------------------------------------------------------------------------- /examples/java/README.md: -------------------------------------------------------------------------------- 1 | # Java Examples for the Looker API 2 | 3 | You can find Java language examples in this folder. 4 | 5 | - [Java with Kotlin SDK interop using gradle](example_gradle) 6 | 7 | - [Java with Kotlin SDK interop using maven](example_maven) 8 | -------------------------------------------------------------------------------- /examples/java/example_gradle/.env_sample: -------------------------------------------------------------------------------- 1 | LOOKERSDK_BASE_URL= 2 | LOOKERSDK_VERIFY_SSL= 3 | LOOKERSDK_TIMEOUT= 4 | LOOKERSDK_CLIENT_ID= 5 | LOOKERSDK_CLIENT_SECRET= 6 | -------------------------------------------------------------------------------- /examples/java/example_gradle/.gitignore: -------------------------------------------------------------------------------- 1 | !lib/.gitkeep 2 | **.class 3 | -------------------------------------------------------------------------------- /examples/java/example_gradle/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'application' 3 | } 4 | apply plugin : "java" 5 | 6 | group 'com.looker' 7 | version '1.0-SNAPSHOT' 8 | 9 | repositories { 10 | mavenCentral() 11 | } 12 | 13 | dependencies { 14 | implementation "io.github.cdimascio:dotenv-kotlin:6.2.2" 15 | implementation "org.ini4j:ini4j:0.5.4" 16 | implementation "io.ktor:ktor-client-okhttp:$ktorVersion" 17 | implementation "io.ktor:ktor-client-json:$ktorVersion" 18 | implementation "io.ktor:ktor-client-jackson:$ktorVersion" 19 | 20 | implementation 'io.github.cdimascio:java-dotenv:5.2.2' 21 | implementation "org.ini4j:ini4j:0.5.4" 22 | compile files('lib/looker-kotlin-sdk.jar') 23 | } 24 | 25 | ext { 26 | javaMainClass = "com.looker.example.ExampleRunner" 27 | } 28 | 29 | application { 30 | mainClassName = javaMainClass 31 | } 32 | -------------------------------------------------------------------------------- /examples/java/example_gradle/gradle.properties: -------------------------------------------------------------------------------- 1 | ktorVersion=1.4.2 2 | -------------------------------------------------------------------------------- /examples/java/example_gradle/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/examples/java/example_gradle/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /examples/java/example_gradle/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /examples/java/example_gradle/lib/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/examples/java/example_gradle/lib/.gitkeep -------------------------------------------------------------------------------- /examples/java/example_gradle/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'example_gradle' 2 | 3 | -------------------------------------------------------------------------------- /examples/java/example_maven/.env_sample: -------------------------------------------------------------------------------- 1 | LOOKERSDK_BASE_URL= 2 | LOOKERSDK_VERIFY_SSL= 3 | LOOKERSDK_TIMEOUT= 4 | LOOKERSDK_CLIENT_ID= 5 | LOOKERSDK_CLIENT_SECRET= 6 | -------------------------------------------------------------------------------- /examples/java/example_maven/.gitignore: -------------------------------------------------------------------------------- 1 | !lib/.gitkeep 2 | **.class 3 | target/ 4 | -------------------------------------------------------------------------------- /examples/java/example_maven/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/examples/java/example_maven/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /examples/java/example_maven/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /examples/java/example_maven/example_maven.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/java/example_maven/lib/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/examples/java/example_maven/lib/.gitkeep -------------------------------------------------------------------------------- /examples/kotlin/README.md: -------------------------------------------------------------------------------- 1 | # Kotlin Examples for the Looker API 2 | 3 | You can find Kotlin language examples in this folder. 4 | -------------------------------------------------------------------------------- /examples/python/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | ignore = E203, E266, E501, W503 3 | max-line-length = 80 4 | max-complexity = 18 5 | select = B,C,E,F,W,T4,B9 6 | -------------------------------------------------------------------------------- /examples/python/.gitignore: -------------------------------------------------------------------------------- 1 | Pipfile.lock 2 | -------------------------------------------------------------------------------- /examples/python/.python-version: -------------------------------------------------------------------------------- 1 | 3.8.2 2 | -------------------------------------------------------------------------------- /examples/python/Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "pypi" 3 | url = "https://pypi.org/simple" 4 | verify_ssl = true 5 | 6 | [[source]] 7 | name = "testpypi" 8 | url = "https://test.pypi.org/simple" 9 | verify_ssl = true 10 | 11 | [dev-packages] 12 | 13 | [packages] 14 | looker-sdk = "*" 15 | mypy = "*" 16 | black = "*" 17 | flake8 = "*" 18 | flake8-bugbear = "*" 19 | 20 | [requires] 21 | python_version = "3.8" 22 | 23 | [pipenv] 24 | allow_prereleases = true # black is pre-release 25 | -------------------------------------------------------------------------------- /examples/python/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/examples/python/__init__.py -------------------------------------------------------------------------------- /examples/python/__pycache__/sdk_exceptions.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/examples/python/__pycache__/sdk_exceptions.cpython-37.pyc -------------------------------------------------------------------------------- /examples/python/cloud-function-content-cleanup-automation/requirements.txt: -------------------------------------------------------------------------------- 1 | # Function dependencies, for example: 2 | # package>=version 3 | looker_sdk 4 | google-cloud-storage==2.7.0 5 | google-api-core==2.11.0 -------------------------------------------------------------------------------- /examples/python/cloud-function-user-provision/requirements.txt: -------------------------------------------------------------------------------- 1 | # Function dependencies, for example: 2 | # package>=version 3 | looker_sdk 4 | google-api-python-client==1.7.9 5 | google-auth-httplib2==0.0.3 6 | google-auth-oauthlib==0.4.0 7 | -------------------------------------------------------------------------------- /examples/python/cloud-function-write-to-bigquery/requirements.txt: -------------------------------------------------------------------------------- 1 | # Function dependencies, for example: 2 | # package>=version 3 | looker_sdk 4 | google-api-python-client==1.7.9 5 | google-auth-httplib2==0.0.3 6 | google-auth-oauthlib==0.4.0 7 | google-cloud-bigquery -------------------------------------------------------------------------------- /examples/python/create_db_connections.py: -------------------------------------------------------------------------------- 1 | import looker_sdk 2 | from looker_sdk import models40 as models 3 | import base64 4 | 5 | with open("credentials_file.json", "rb") as f: 6 | cert = f.read() 7 | 8 | 9 | cert = base64.b64encode(cert).decode("utf-8") 10 | """Base64 encoded Certificate body for server authentication""" 11 | 12 | 13 | sdk = looker_sdk.init40("looker.ini") 14 | 15 | 16 | sdk.create_connection( 17 | models.WriteDBConnection( 18 | name="api created", 19 | host="host_name", 20 | database="your_db", 21 | dialect_name="bigquery_standard_sql", 22 | certificate=cert, 23 | username="user_name", 24 | file_type=".json", 25 | ) 26 | ) 27 | -------------------------------------------------------------------------------- /examples/python/large_dashboard_warning_text_automation/dashboard_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/examples/python/large_dashboard_warning_text_automation/dashboard_warning.png -------------------------------------------------------------------------------- /examples/python/logout_all_users.py: -------------------------------------------------------------------------------- 1 | from typing import cast, Sequence 2 | 3 | import looker_sdk 4 | 5 | from looker_sdk import models40 as models 6 | 7 | sdk = looker_sdk.init40("../../looker.ini") 8 | 9 | 10 | def main(): 11 | users = get_all_users() 12 | 13 | if not users: 14 | print("No users found.") 15 | return 16 | 17 | count = 0 18 | for user in users: 19 | if user.sessions: 20 | terminate_sessions(cast(int, user.id), user.sessions) 21 | count += len(user.sessions) 22 | 23 | print(f"Terminated {count} session{'' if count == 1 else 's'}") 24 | 25 | 26 | def get_all_users() -> Sequence[models.User]: 27 | """Return a list of users.""" 28 | users = sdk.all_users(fields="id, sessions") 29 | return users 30 | 31 | 32 | def terminate_sessions(user_id: int, sessions: Sequence[models.Session]): 33 | """Delete active sessions for a given user id.""" 34 | for session in sessions: 35 | assert isinstance(session.id, int) 36 | sdk.delete_user_session(user_id, session.id) 37 | 38 | 39 | main() 40 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/.gitignore: -------------------------------------------------------------------------------- 1 | looker.ini 2 | venv/ 3 | instance/ 4 | __pycache__ -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | import flask 4 | from . import db 5 | from . import auth 6 | from . import blog 7 | 8 | 9 | def create_app(test_config=None): 10 | app = flask.Flask(__name__, instance_relative_config=True) 11 | app.config.from_mapping( 12 | SECRET_KEY="dev", 13 | DATABASE=os.path.join(app.instance_path, "lookersdk-flask.sqlite"), 14 | ) 15 | 16 | if test_config is None: 17 | # Load real config unless we are testing 18 | app.config.from_pyfile("config.py", silent=True) 19 | else: 20 | app.config.from_mapping(test_config) 21 | try: 22 | os.makedirs(app.instance_path) 23 | except OSError: 24 | pass 25 | 26 | # Initialize app and register our blueprints 27 | db.init_app(app) 28 | app.register_blueprint(auth.bp) 29 | app.register_blueprint(blog.bp) 30 | app.add_url_rule("/", endpoint="index") 31 | 32 | return app 33 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/looker.ini.sample: -------------------------------------------------------------------------------- 1 | # Rename to looker.ini and add your credentials, or use environment variables instead 2 | [Looker] 3 | # Base URL for API. Do not include /api/* in the url 4 | base_url=https://your.cloud.looker.com 5 | # API 3 client id 6 | client_id=clientid 7 | # API 3 client secret 8 | client_secret=clientsecret 9 | # Set to false if testing locally against self-signed certs. Otherwise leave True 10 | verify_ssl=True -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/looker.py: -------------------------------------------------------------------------------- 1 | """ 2 | Contains all of the Looker auth & SDK methods used in the app. 3 | """ 4 | 5 | import looker_sdk 6 | import base64 7 | 8 | # See the Python SDK README for complete instructions on initializing the Python SDK 9 | # https://github.com/looker-open-source/sdk-codegen/tree/main/python 10 | 11 | # Rename the looker.ini.sample file in the project root to looker.ini and fill it out 12 | sdk = looker_sdk.init40("app/looker.ini") 13 | # Or uncomment below to use environment variables instead, if you have set them. 14 | # sdk = looker_sdk.init40('lookersdk-flask/looker.ini') 15 | 16 | 17 | def get_my_user(): 18 | my_user = sdk.me() 19 | return my_user 20 | 21 | 22 | def get_looks(): 23 | response = sdk.all_looks() 24 | return response 25 | 26 | 27 | def get_html_for_look(look_id): 28 | response = sdk.run_look(look_id=look_id, result_format="html", apply_vis=True) 29 | return response 30 | 31 | 32 | def get_image_for_look(look_id): 33 | response = sdk.run_look( 34 | look_id=look_id, result_format="png", image_width=300, image_height=300 35 | ) 36 | image_string = base64.b64encode(response) 37 | return image_string 38 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/schema.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS user; 2 | DROP TABLE IF EXISTS post; 3 | 4 | CREATE TABLE user ( 5 | id INTEGER PRIMARY KEY AUTOINCREMENT, 6 | username TEXT UNIQUE NOT NULL, 7 | password TEXT NOT NULL 8 | ); 9 | 10 | CREATE TABLE post ( 11 | id INTEGER PRIMARY KEY AUTOINCREMENT, 12 | author_id INTEGER NOT NULL, 13 | created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 14 | title TEXT NOT NULL, 15 | body TEXT NOT NULL, 16 | look_id INTEGER, 17 | look_image TEXT, 18 | FOREIGN KEY (author_id) REFERENCES user (id) 19 | ); -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/templates/auth/login.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} {% block header %} 2 |

{% block title %}Log In{% endblock %}

3 | {% endblock %} {% block content %} 4 |
5 | 6 | 7 | 8 | 9 | 10 |
11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/templates/auth/register.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} {% block header %} 2 |

{% block title %}Register{% endblock %}

3 | {% endblock %} {% block content %} 4 |
5 | 6 | 7 | 8 | 9 | 10 |
11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/templates/base.html: -------------------------------------------------------------------------------- 1 | 2 | {% block title %}{% endblock %} - Looker SDK Flask Example 3 | 4 | 5 | 36 |
37 |
{% block header %}{% endblock %}
38 | {% for message in get_flashed_messages() %} 39 |
{{ message }}
40 | {% endfor %} {% block content %}{% endblock %} 41 |
42 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/templates/blog/create.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} {% block header %} 2 |

{% block title %}New Post{% endblock %}

3 | {% endblock %} {% block content %} 4 |
5 | 6 | 7 | 8 | 14 | 15 | 16 | 17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/app/templates/blog/update.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} {% block header %} 2 |

{% block title %}Edit "{{ post['title'] }}"{% endblock %}

3 | {% endblock %} {% block content %} 4 |
5 | 6 | 12 | 13 | 18 | 19 | 22 | 23 |
24 |
25 |
26 | 32 |
33 | {% endblock %} 34 | -------------------------------------------------------------------------------- /examples/python/lookersdk-flask/requirements.txt: -------------------------------------------------------------------------------- 1 | click==8.1.3 2 | Flask==2.3.2 3 | looker_sdk==7.20.0 4 | Werkzeug==3.0.6 -------------------------------------------------------------------------------- /examples/python/mypy.ini: -------------------------------------------------------------------------------- 1 | [mypy] 2 | python_version=3.7 3 | 4 | check_untyped_defs=True 5 | -------------------------------------------------------------------------------- /examples/python/simple_sample.py: -------------------------------------------------------------------------------- 1 | import looker_sdk 2 | sdk = looker_sdk.init40(config_file='../../looker.ini') 3 | 4 | instance_url = sdk.get_setting(fields="host_url") 5 | print(instance_url['host_url']) 6 | 7 | my_user = sdk.me() 8 | print(my_user["first_name"]) -------------------------------------------------------------------------------- /examples/r/README.md: -------------------------------------------------------------------------------- 1 | # R Examples for the Looker API 2 | 3 | You can find R language examples in this folder. 4 | -------------------------------------------------------------------------------- /examples/ruby/all_git_branches.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | all_projects = sdk.all_projects() 11 | 12 | # iterate thru all projects 13 | all_projects.each { |project| 14 | puts "Project name '#{project[:name]}' has the following branches:" 15 | all_branches = sdk.all_git_branches(project[:id], :fields => 'name, personal') 16 | 17 | # find all the branches 18 | all_branches.each { |branch| 19 | if branch[:personal] 20 | puts branch[:name].concat(" : Personal Branch") 21 | else 22 | branch[:name] == "master" ? (puts "#{branch[:name]} : Production Branch") : (puts "#{branch[:name]} : Shared Branch") 23 | 24 | end 25 | } 26 | puts "\n" 27 | } 28 | -------------------------------------------------------------------------------- /examples/ruby/all_users_to_group.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | all_groups = sdk.all_groups(:fields => 'id, name') 11 | all_groups.each { |group| 12 | #change this value below to match exactly the group name you want 13 | if group[:name] == "Custom Fields Beta Users" 14 | puts "Group \"#{group[:name]}\" has ID #{group[:id]}" 15 | $group_id = group[:id] 16 | end 17 | } 18 | 19 | all_users = looker.all_users(:fields => 'id, email') 20 | all_users.each { |user| 21 | body = {"user_id": user[:id]} 22 | looker.add_group_user($group_id, body) 23 | # puts "User: #{user[:email].to_s.capitalize} with ID #{user[:id]} was added to the Group" 24 | } 25 | -------------------------------------------------------------------------------- /examples/ruby/delete_unused_content.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | require 'time' 3 | 4 | # get API creds from environment variables 5 | sdk = LookerSDK::Client.new( 6 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 7 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 8 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 9 | ) 10 | 11 | # replace with the number of days you want 12 | $what_is_old = 360 13 | 14 | all_looks = sdk.all_looks(:fields => 'id, title, last_accessed_at, user') 15 | all_looks.each { | look | 16 | unless look[:last_accessed_at].nil? 17 | if (Time.now.utc - look[:last_accessed_at]) /60/60/24 > $what_is_old 18 | sdk.delete_look(look[:id]) 19 | puts "Look: #{look[:title].capitalize} was deleted!\tLast accessed #{((Time.now.utc-look[:last_accessed_at])/60/60/24 ).ceil} days ago" 20 | end 21 | end 22 | } 23 | -------------------------------------------------------------------------------- /examples/ruby/disable_users.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | # list the users to disable in the instance 11 | users_to_disable = [264, 214, 260] 12 | body = {"is_disabled": true} 13 | 14 | 15 | users_to_disable.each { |item| 16 | sdk.update_user(item, body) 17 | puts "User '#{sdk.user(item)[:first_name]} #{sdk.user(item)[:last_name]}' was disabled (id: #{item})" 18 | } 19 | -------------------------------------------------------------------------------- /examples/ruby/kill_all_running_queries.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | all_running_queries = sdk.all_running_queries() 11 | all_running_queries.each { |item| 12 | puts "Killing query: #{item[:query_task_id]} from #{item[:source].to_s.capitalize}" 13 | sdk.kill_query(item[:query_task_id]) 14 | } 15 | -------------------------------------------------------------------------------- /examples/ruby/list_users_and_auth_type.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | response = sdk.all_users() 11 | 12 | response.each { |user| 13 | user.each { | creds | 14 | unless creds[1].inspect.nil? 15 | if creds[0].inspect.include? "credentials_" 16 | if creds[1].class.to_s == 'Sawyer::Resource' 17 | puts "Auth type: #{creds[0]} for user #{creds[1][:email].inspect} with User ID: #{user[:id]}" unless creds[1][:email].nil? 18 | end 19 | end 20 | end 21 | } 22 | } 23 | 24 | puts "\nThere are #{response.length} users in the instance." 25 | -------------------------------------------------------------------------------- /examples/ruby/logout_all_users.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | all_users = sdk.all_users() 11 | count_users = 0 12 | all_users.each { |item| 13 | if not item[:sessions][0].nil? 14 | sdk.delete_user_session(item[:id], item[:sessions][0][:id]) 15 | puts "Logged out user: #{item[:first_name].to_s.capitalize} #{item[:last_name].to_s.capitalize}" 16 | count_users += 1 17 | end 18 | } 19 | puts "\nScript logged out #{count_users} users" 20 | -------------------------------------------------------------------------------- /examples/ruby/render_look_png.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | look_to_render = 44 11 | 12 | png = sdk.create_look_render_task(look_to_render, "png", {}, {:query => {:width => 1000, :height => 600}}) 13 | 14 | id = png[:id] 15 | 16 | until sdk.render_task(id)[:status] == 'success' do 17 | end 18 | 19 | results = sdk.render_task_results(id) 20 | 21 | File.open('look.png', 'w') { |file| file.write(results) } 22 | -------------------------------------------------------------------------------- /examples/ruby/test.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | puts ENV['LOOKERSDK_CLIENT_ID'] 4 | puts ENV['LOOKERSDK_CLIENT_SECRET'] 5 | puts ENV['LOOKERSDK_BASE_URL'] 6 | 7 | # get API creds from environment variables 8 | sdk = LookerSDK::Client.new( 9 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 10 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 11 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 12 | ) 13 | 14 | puts sdk.me().to_s -------------------------------------------------------------------------------- /examples/ruby/test_all_connections.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | def test_all_connections(looker) 11 | all_connections = looker.all_connections(:fields => 'name, port, host, dialect(connection_tests, label)') 12 | test_results = [] 13 | 14 | all_connections.each { | connection | 15 | puts "Processing connection tests for \"#{connection[:name]}\"" 16 | begin 17 | tests_to_run = connection[:dialect][:connection_tests].join(',') 18 | 19 | testing = looker.test_connection(connection[:name], {}, tests: tests_to_run) 20 | testing.each { | test | 21 | if test[:status] != "success" 22 | test_results << "Connection \"#{connection[:name]}\" (#{connection[:dialect][:label]}) has #{test[:status]}!" 23 | end 24 | } 25 | rescue 26 | test_results << "Uncaught error in testing connection \"#{connection[:name]}\"" 27 | end 28 | } 29 | puts "\n**********" 30 | return test_results 31 | end 32 | 33 | puts test_all_connections(sdk) 34 | -------------------------------------------------------------------------------- /examples/ruby/test_integrations.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | all_integrations = sdk.all_integrations(:fields => 'id, label, enabled') 11 | 12 | all_integrations.each { | integration | 13 | begin 14 | testing = sdk.test_integration(integration[:id]) 15 | puts testing[:success] ? "Test OK\t\t#{integration[:label]}" : "Not Enabled\t#{integration[:label]}" 16 | rescue 17 | not_enabled = "Error with test for integration #{integration[:label]}" 18 | puts !integration[:enabled] ? not_enabled : "Unknown error\t#{integration[:label]}" 19 | end 20 | } 21 | -------------------------------------------------------------------------------- /examples/ruby/update_look.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | # get look, here look id 32 11 | my_look = sdk.look(32) 12 | 13 | # get query id for look 14 | my_query = sdk.query(my_look.query_id).to_attrs 15 | 16 | # set new filters, here update the value for order_id 17 | my_query[:filters] = {:"order_items.order_id" => "<567"} 18 | 19 | # remove the client id! 20 | my_query[:client_id] = {} 21 | 22 | # create a new query 23 | my_new_query = sdk.create_query(my_query) 24 | puts "New Query ID: " + my_new_query[:id].to_s 25 | 26 | # update look with new query 27 | my_look = sdk.update_look(32, :query_id => my_new_query[:id]) 28 | puts "Updated Look Query ID: " + my_look[:query_id].to_s 29 | 30 | 31 | if my_new_query[:id] == my_look[:query_id] 32 | puts "Success!" 33 | else 34 | puts "Fail again, fail better" 35 | end 36 | -------------------------------------------------------------------------------- /examples/ruby/users_list_and_auth_types.rb: -------------------------------------------------------------------------------- 1 | require 'looker-sdk' 2 | 3 | # get API creds from environment variables 4 | sdk = LookerSDK::Client.new( 5 | :client_id => ENV['LOOKERSDK_CLIENT_ID'], 6 | :client_secret => ENV['LOOKERSDK_CLIENT_SECRET'], 7 | :api_endpoint => ENV['LOOKERSDK_BASE_URL'] 8 | ) 9 | 10 | # get info for all users for these fields 11 | details_for_users = sdk.all_users(:fields => 'id, first_name, last_name, credentials_email, credentials_totp, 12 | credentials_ldap, credentials_google, credentials_saml, credentials_oidc, 13 | credentials_api3, crendentials_embed, credentials_looker_openid, sessions') 14 | 15 | # go through the users to get out output 16 | details_for_users.each { |user| 17 | user.each { | creds | 18 | unless creds[1].inspect.nil? 19 | if creds[1].class.to_s == 'Sawyer::Resource' 20 | 21 | user_name = user[:first_name].to_s + " " + user[:last_name].to_s 22 | puts "User #{user_name} with User ID: #{user[:id]}" unless creds[1][:email].nil? 23 | puts "Auth type: #{creds[0]} for email #{creds[1][:email].inspect}\n" unless creds[1][:email].nil? 24 | 25 | end 26 | end 27 | } 28 | } 29 | 30 | puts "\nThere are #{details_for_users.length} users in the instance." 31 | -------------------------------------------------------------------------------- /examples/swift/README.md: -------------------------------------------------------------------------------- 1 | # Swift Examples for the Looker API 2 | 3 | You can find Swift language examples in this folder. 4 | 5 | The examples are based on Swift 5.1 and above. 6 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/README.md: -------------------------------------------------------------------------------- 1 | # Sample iOS Swift SDK Example 2 | 3 | ## Setting the Looker SDK configuration 4 | 5 | There are a couple different ways to configure the SDK for a Looker server. 6 | This example sets them as environment variables. 7 | To set the environment vars go to `Product`>`Scheme`>`Edit Scheme...` 8 | and add 9 | 10 | - `LOOKERSDK_BASE_URL` for the Looker API server URL, like `https://foo.looker.com:19999` 11 | - `LOOKER_API_VERSION` as `4.0` 12 | - `LOOKERSDK_CLIENT_ID` for the API Client ID 13 | - `LOOKERSDK_CLIENT_SECRET` for the API Client Secret 14 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdk/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "version": 1, 4 | "author": "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdk/Dashboards.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Dashboards.swift 3 | // sample-swift-sdk 4 | // 5 | 6 | import Foundation 7 | import UIKit 8 | 9 | struct Dashboards { 10 | var all:[DashboardModel] = [] 11 | 12 | // Create struct that inherits identifiable for view 13 | struct DashboardModel: Identifiable { 14 | var id: Int64 15 | var title: String 16 | 17 | init(id: Int64, title: String) { 18 | self.id = id 19 | self.title = title 20 | } 21 | } 22 | 23 | init() { 24 | let appDelegate = UIApplication.shared.delegate as! AppDelegate 25 | let sdk = appDelegate.sdk! 26 | 27 | // Grab the title and the content_metadata_id from the results 28 | for dashboard in sdk.ok(sdk.all_dashboards(fields: "title,content_metadata_id")) { 29 | all.append(DashboardModel(id: dashboard.content_metadata_id ?? 0, title: dashboard.title ?? "")) 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdk/LookerSwiftSDK/looker.swift: -------------------------------------------------------------------------------- 1 | struct looker { 2 | var text = "Hello, SDK World!" 3 | } 4 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdk/MainView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // sample-swift-sdk 4 | // 5 | 6 | import SwiftUI 7 | 8 | struct MainView: View { 9 | @State var dashboards = Dashboards().all 10 | 11 | var body: some View { 12 | List(dashboards) { dashboard in 13 | HStack() { 14 | Text(String(dashboard.id)) 15 | Text(dashboard.title) 16 | } 17 | } 18 | } 19 | } 20 | 21 | struct MainView_Previews: PreviewProvider { 22 | static var previews: some View { 23 | MainView() 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdk/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "version": 1, 4 | "author": "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdkTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdkTests/sample_swift_sdkTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // sample_swift_sdkTests.swift 3 | // sample-swift-sdkTests 4 | // 5 | 6 | 7 | import XCTest 8 | @testable import sample_swift_sdk 9 | 10 | class sample_swift_sdkTests: XCTestCase { 11 | 12 | override func setUp() { 13 | // Put setup code here. This method is called before the invocation of each test method in the class. 14 | } 15 | 16 | override func tearDown() { 17 | // Put teardown code here. This method is called after the invocation of each test method in the class. 18 | } 19 | 20 | func testExample() { 21 | // This is an example of a functional test case. 22 | // Use XCTAssert and related functions to verify your tests produce the correct results. 23 | } 24 | 25 | func testPerformanceExample() { 26 | // This is an example of a performance test case. 27 | self.measure { 28 | // Put the code you want to measure the time of here. 29 | } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /examples/swift/sample-swift-sdk/sample-swift-sdkUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /examples/typescript/dependencyGraph.ts: -------------------------------------------------------------------------------- 1 | import { LookerNodeSDK } from '@looker/sdk-node'; 2 | import { renderDot } from 'render-dot'; 3 | import * as fs from 'fs'; 4 | 5 | const sdk = LookerNodeSDK.init40(); 6 | 7 | // returns an svg file with the pdt dependency graph viz 8 | const getPDTGraph = async (modelname: string, filename: string) => { 9 | if (modelname) { 10 | const res = await sdk.ok( 11 | sdk.graph_derived_tables_for_model({ model: modelname }) 12 | ); 13 | const result = await renderDot({ 14 | input: res.graph_text, 15 | format: 'svg', 16 | }); 17 | const file = fs.writeFileSync(filename, result, 'binary'); 18 | return file; 19 | } else { 20 | throw Error( 21 | `Model name not specified, please specifiy a model name to pull pdt dependency graph for.` 22 | ); 23 | } 24 | }; 25 | 26 | // Example 27 | //getPDTGraph('pdtgraph') 28 | -------------------------------------------------------------------------------- /examples/typescript/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | console.log('Please read the README.md'); 27 | -------------------------------------------------------------------------------- /go/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/looker-open-source/sdk-codegen/go 2 | 3 | go 1.14 4 | 5 | require ( 6 | github.com/json-iterator/go v1.1.12 7 | golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect 8 | gopkg.in/ini.v1 v1.61.0 9 | ) 10 | -------------------------------------------------------------------------------- /go/rtl/constants.go: -------------------------------------------------------------------------------- 1 | package rtl 2 | 3 | const ( 4 | baseUrlEnvKey = "LOOKERSDK_BASE_URL" 5 | apiVersionEnvKey = "LOOKERSDK_API_VERSION" 6 | verifySslEnvKey = "LOOKERSDK_VERIFY_SSL" 7 | timeoutEnvKey = "LOOKERSDK_TIMEOUT" 8 | clientIdEnvKey = "LOOKERSDK_CLIENT_ID" 9 | clientSecretEnvKey = "LOOKERSDK_CLIENT_SECRET" 10 | ) 11 | -------------------------------------------------------------------------------- /go/rtl/testdata/settings.ini: -------------------------------------------------------------------------------- 1 | [Looker] 2 | base_url = "BaseUrlValue" 3 | verify_ssl = "false" 4 | timeout = 160 5 | agent_tag = "AgentTagValue" 6 | file_name = "FileNameValue" 7 | api_version = "10.0" 8 | client_id = "client-id" 9 | client_secret = "client-secret" 10 | -------------------------------------------------------------------------------- /kotlin/gradle.properties: -------------------------------------------------------------------------------- 1 | kotlinVersion=1.9.10 2 | googleHttpVersion=1.43.3 3 | -------------------------------------------------------------------------------- /kotlin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/kotlin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /kotlin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /kotlin/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "looker-kotlin-sdk" 2 | 3 | pluginManagement { 4 | val kotlinVersion = providers.gradleProperty("kotlinVersion").get() 5 | plugins { 6 | kotlin("jvm") version kotlinVersion 7 | id("com.diffplug.spotless") version "6.20.0" 8 | id("org.gradle.toolchains.foojay-resolver-convention") version "0.7.0" 9 | id("com.github.johnrengelman.shadow") version "8.1.1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /kotlin/src/test/TestModels.kt: -------------------------------------------------------------------------------- 1 | import org.junit.Test 2 | import java.net.URI 3 | import kotlin.test.assertEquals 4 | 5 | class TestModels { 6 | @Test 7 | fun testParseUri() { 8 | val value = "/projects/cucu_thelook_1552930443_project/files/business_pulse.dashboard.lookml?line=1" 9 | val url = URI(value) 10 | assertEquals(url.toString(), value) 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": ["packages/*"], 3 | "npmClient": "yarn", 4 | "useWorkspaces": true, 5 | "version": "independent" 6 | } 7 | -------------------------------------------------------------------------------- /looker-sample.ini: -------------------------------------------------------------------------------- 1 | [Looker] 2 | # Base URL for API. Do not include /api/* in the url 3 | base_url=https://:19999 4 | # API client id. You can instead customize how this is provided by overriding readConfig() 5 | client_id=your_API_client_id 6 | # API client secret. You can instead customize how this is provided by overriding readConfig() 7 | client_secret=your_API_client_secret 8 | # Set to false only if testing locally against self-signed certs. Defaults to true if not specified 9 | verify_ssl=true 10 | # Timeout in seconds for HTTP requests. Defaults to 2 minutes (120) seconds if not specified. 11 | timeout=120 12 | -------------------------------------------------------------------------------- /packages/api-explorer/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | -------------------------------------------------------------------------------- /packages/api-explorer/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/api-explorer/README.md: -------------------------------------------------------------------------------- 1 | # OpenAPI Explorer 2 | 3 | Use this **OpenAPI Explorer** to read any [OpenAPI](https://www.openapis.org/) specification and explore its **methods** and **types**. 4 | Fast and powerful searching is also supported. 5 | 6 | This is an Open Source project that builds on the specification processing created in the Looker 7 | [SDK Codegen project](https://github.com/looker-open-source/sdk-codegen). 8 | 9 | ## Getting started 10 | 11 | This package uses Yarn. See the [Yarn installation](https://classic.yarnpkg.com/en/docs/install/) instructions if you need to install it. 12 | 13 | To install dependencies, run: 14 | 15 | ```sh 16 | yarn install 17 | ``` 18 | 19 | followed by: 20 | 21 | NOTE: For API-explorer to build all other packages must have been built at least once. Use `yarn build` to do a complete build. 22 | 23 | ```sh 24 | yarn workspace @looker/api-explorer develop 25 | ``` 26 | 27 | will start the development server and monitor for changes. 28 | 29 | To see the other scripts supported by the package, do 30 | 31 | ```sh 32 | yarn workspace @looker/api-explorer run 33 | ``` 34 | -------------------------------------------------------------------------------- /packages/api-explorer/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | API Explorer 5 | 6 | 7 |
8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /packages/api-explorer/public/versions.json: -------------------------------------------------------------------------------- 1 | { 2 | "looker_release_version": "21.12", 3 | "current_version": { 4 | "version": "4.0", 5 | "full_version": "4.0.23.18", 6 | "status": "current", 7 | "swagger_url": "Looker.4.0.json" 8 | }, 9 | "supported_versions": [ 10 | { 11 | "version": "4.0", 12 | "full_version": "4.0.21.12", 13 | "status": "current", 14 | "swagger_url": "/Looker.4.0.json" 15 | } 16 | ], 17 | "api_server_url": "https://localhost:8080", 18 | "headless": false 19 | } 20 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/Banner/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { Banner } from './Banner'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocCode/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocCode } from './DocCode'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocMarkdown/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocMarkdown } from './DocMarkdown'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocPseudo/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocPseudo } from './DocPseudo'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocSDKs/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocSDKs } from './DocSDKs'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocSchema/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export { DocSchema } from './DocSchema'; 28 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocSdkUsage/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocSdkUsage } from './DocSdkUsage'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocSource/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocSource } from './DocSource'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocStatus/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocStatus } from './DocStatus'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/DocTitle/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DocTitle } from './DocTitle'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/Link/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export { Link } from './Link'; 28 | -------------------------------------------------------------------------------- /packages/api-explorer/src/components/SideNav/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { SideNav } from './SideNav'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/custom.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.svg' { 2 | const content: any; 3 | export default content; 4 | } 5 | -------------------------------------------------------------------------------- /packages/api-explorer/src/routes/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { AppRouter } from './AppRouter'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/scenes/DiffScene/DocDiff/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export { DocDiff } from './DocDiff'; 28 | -------------------------------------------------------------------------------- /packages/api-explorer/src/scenes/DiffScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export { DiffScene } from './DiffScene'; 28 | -------------------------------------------------------------------------------- /packages/api-explorer/src/scenes/HomeScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { HomeScene } from './HomeScene'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/scenes/MethodScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { MethodScene } from './MethodScene'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/scenes/TypeScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { TypeScene } from './TypeScene'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/scenes/TypeTagScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { TypeTagScene } from './TypeTagScene'; 27 | -------------------------------------------------------------------------------- /packages/api-explorer/src/scenes/utils/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export { useTagStoreSync } from './hooks'; 28 | -------------------------------------------------------------------------------- /packages/api-explorer/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/code-editor/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/code-editor/src/CodeCopy/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './CodeCopy'; 27 | -------------------------------------------------------------------------------- /packages/code-editor/src/CodeEditor/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { CodeEditor } from './CodeEditor'; 27 | -------------------------------------------------------------------------------- /packages/code-editor/src/Markdown/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Markdown'; 27 | -------------------------------------------------------------------------------- /packages/code-editor/src/test-data/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { pythonTestCode } from './codeBlob'; 27 | -------------------------------------------------------------------------------- /packages/code-editor/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/embed-components/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/embed-components/src/QuickEmbed/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './QuickEmbed'; 27 | -------------------------------------------------------------------------------- /packages/embed-components/src/Theme/state/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './slice'; 27 | -------------------------------------------------------------------------------- /packages/embed-components/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/embed-playground/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/embed-playground/src/components/Loader/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Loader'; 27 | -------------------------------------------------------------------------------- /packages/embed-playground/src/components/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Loader'; 27 | -------------------------------------------------------------------------------- /packages/embed-playground/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Embed Playground 5 | 6 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/embed-playground/src/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './EmbedPlayground'; 27 | -------------------------------------------------------------------------------- /packages/embed-playground/src/state/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './store'; 27 | -------------------------------------------------------------------------------- /packages/embed-playground/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/embed-services/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/embed-services/src/test-utils/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './utils'; 27 | -------------------------------------------------------------------------------- /packages/embed-services/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/extension-api-explorer/README.md: -------------------------------------------------------------------------------- 1 | # Using the Looker API Explorer as an extension 2 | 3 | The API Explorer extension can be manually installed and run with a Looker instance using the following steps: 4 | 5 | 1. create a new LookML project called `apix` 6 | 1. create a new model. In `apix.model`, put: 7 | ```lookml 8 | connection: "" 9 | ``` 10 | 1. Use the contents of the linked [`manifest.lkml`](manifest.lkml) as the project's `manifest.lkml`. The `http://localhost:30000` url is for the optional [API Explorer file server](/apix-files/README.md) 11 | 1. save all changes and deploy to production 12 | 1. in the root of `sdk-codegen`: 13 | 14 | ```sh 15 | yarn && yarn build && yarn dev:xapix 16 | ``` 17 | 18 | 1. on the Looker web page, click `Browse|API Explorer` to view the API Explorer 19 | -------------------------------------------------------------------------------- /packages/extension-api-explorer/manifest.lkml: -------------------------------------------------------------------------------- 1 | project_name: "api-explorer" 2 | 3 | application: api-explorer { 4 | label: "API Explorer" 5 | file: "bundle.js" 6 | # url: "https://localhost:8080/dist/bundle.js" 7 | entitlements: { 8 | local_storage: yes 9 | navigation: no 10 | new_window: yes 11 | new_window_external_urls: ["https://looker.com/*", "https://developer.mozilla.org/*", "https://docs.looker.com/*", "https://cloud.google.com/*"] 12 | raw_api_request: yes 13 | use_form_submit: yes 14 | use_embeds: yes 15 | use_clipboard: yes 16 | core_api_methods: ["versions", "api_spec"] 17 | external_api_urls : ["https://raw.githubusercontent.com","http://localhost:30000","https://localhost:8080","https://static-a.cdn.looker.app","https://docs.looker.com","https://cloud.google.com", "https://developer.mozilla.org/"] 18 | oauth2_urls: [] 19 | } 20 | } 21 | 22 | constant: CONNECTION_NAME { 23 | value: "" 24 | export: override_optional 25 | } 26 | -------------------------------------------------------------------------------- /packages/extension-api-explorer/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | API Explorer 5 | 6 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/extension-api-explorer/src/custom.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.svg' { 2 | const content: any; 3 | export default content; 4 | } 5 | -------------------------------------------------------------------------------- /packages/extension-api-explorer/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/extension-playground/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/extension-sdk-react/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/extension-sdk-react/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/extension-sdk/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/extension-sdk/src/connect/tile/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2022 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './types'; 27 | -------------------------------------------------------------------------------- /packages/extension-sdk/src/sdk/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export * from './extension_sdk'; 28 | -------------------------------------------------------------------------------- /packages/extension-sdk/src/util/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export * from './logger'; 28 | export * from './errors'; 29 | -------------------------------------------------------------------------------- /packages/extension-sdk/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/extension-tile-playground/src/components/Inspector/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2022 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Inspector'; 27 | -------------------------------------------------------------------------------- /packages/extension-tile-playground/src/components/Layout/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2022 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Layout'; 27 | -------------------------------------------------------------------------------- /packages/extension-tile-playground/src/components/Unsupported/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2022 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Unsupported'; 27 | -------------------------------------------------------------------------------- /packages/extension-tile-playground/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/extension-utils/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/extension-utils/src/OAuthForm/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './src'; 27 | -------------------------------------------------------------------------------- /packages/extension-utils/src/OAuthForm/src/components/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { OAuthForm } from './OAuthForm'; 27 | -------------------------------------------------------------------------------- /packages/extension-utils/src/OAuthForm/src/state/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2023 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { OAuthFormSlice } from './slice'; 27 | -------------------------------------------------------------------------------- /packages/extension-utils/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/hackathon/src/components/Header/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Header'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/components/Loading/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Loading'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/components/ProjectViewDialog/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './ProjectViewDialog'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/components/Scroller/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './Scroller'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/components/SideNav/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './SideNav'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/constants.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export const PAGE_SIZE = 25; 28 | -------------------------------------------------------------------------------- /packages/hackathon/src/routes/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './AppRouter'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/AdminScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './AdminScene'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/HomeScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './HomeScene'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/JudgingScene/components/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './JudgingList'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/JudgingScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './JudgingScene'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/NotFoundScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './NotFoundScene'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/ProjectEditorScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './ProjectEditorScene'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/ResourceScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './ResourceScene'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/UsersScene/components/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './HackerList'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/src/scenes/UsersScene/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './UsersScene'; 27 | -------------------------------------------------------------------------------- /packages/hackathon/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/run-it/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/run-it/playground/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | RunIt Playground 5 | 6 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/run-it/src/components/Loading/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export { Loading } from './Loading'; 28 | -------------------------------------------------------------------------------- /packages/run-it/src/components/MethodBadge/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { MethodBadge } from './MethodBadge'; 27 | -------------------------------------------------------------------------------- /packages/run-it/src/components/ResponseExplorer/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './ResponseExplorer'; 27 | -------------------------------------------------------------------------------- /packages/run-it/src/components/ShowResponse/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { ShowResponse } from './ShowResponse'; 27 | -------------------------------------------------------------------------------- /packages/run-it/src/components/common/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export { DarkSpan, RunItHeading } from './common'; 27 | -------------------------------------------------------------------------------- /packages/run-it/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | export * from './RunItSDK'; 27 | export * from './requestUtils'; 28 | -------------------------------------------------------------------------------- /packages/run-it/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/sdk-codegen-scripts/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/sdk-codegen-scripts/README.md: -------------------------------------------------------------------------------- 1 | # Looker SDK code generator scripts 2 | 3 | This package contains the Node-based scripts used by the Looker SDK Codegen project. 4 | 5 | It has node dependencies, so it cannot be used in the browser. 6 | 7 | **DEPRECATED AND NOT SUPPORTED**: Looker does not support direct use of this package, other than via indirect use in the 8 | [SDK Codegen project](https://github.com/looker-open-source/sdk-codegen) repository. 9 | 10 | ## Scripts 11 | 12 | - [sdkGen.ts](src/sdkGen.ts) is the script for the Looker SDK code generator. Run `yarn gen -h` to see options. 13 | - [legacy.ts](src/legacy.ts) for the OpenAPI legacy code generator 14 | - [specConvert.ts](src/specConvert.ts) converts a swagger (OpenAPI 2.x) file to OpenAPI 3.x 15 | - [yamlToJson.ts](src/yamlToJson.ts) converts a `YAML` file to a pretty-printed `JSON` file 16 | -------------------------------------------------------------------------------- /packages/sdk-codegen-scripts/scripts/appconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "client_guid": "looker.api-explorer", 3 | "redirect_uri": "https://localhost:8080/oauth", 4 | "display_name": "CORS API Explorer", 5 | "description": "Looker API Explorer using CORS", 6 | "enabled": true 7 | } 8 | -------------------------------------------------------------------------------- /packages/sdk-codegen-scripts/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/sdk-codegen-utils/README.md: -------------------------------------------------------------------------------- 1 | # Looker SDK code generator utility files 2 | 3 | This package contains utility routines for the SDK code generator projects 4 | 5 | The code in this package is really trivial and should not be used directly in your own projects. 6 | 7 | 8 | **DEPRECATED AND NOT SUPPORTED**: Looker does not support direct use of this package, other than via indirect use in the 9 | [SDK Codegen project](https://github.com/looker-open-source/sdk-codegen) repository. 10 | 11 | See the [SDK Codegen project](https://github.com/looker-open-source/sdk-codegen) repository for more information. 12 | -------------------------------------------------------------------------------- /packages/sdk-codegen-utils/data/errorCodesIndex.json: -------------------------------------------------------------------------------- 1 | { 2 | "404": { 3 | "url": "404.md" 4 | }, 5 | "400/get/content_metadata/{content_metadata_id}": { 6 | "url": "content_metadata_400.md" 7 | }, 8 | "422/post/folders": { 9 | "url": "create_folder_422.md" 10 | }, 11 | "422/post/groups": { 12 | "url": "create_group_422.md" 13 | }, 14 | "404/get/dashboards/{dashboard_id}/dashboard_filters": { 15 | "url": "dashboard_dashboard_filters_404.md" 16 | }, 17 | "404/delete/alerts/{alert_id}": { 18 | "url": "delete_alert_404.md" 19 | }, 20 | "404/delete/boards/{board_id}": { 21 | "url": "delete_board_404.md" 22 | }, 23 | "404/delete/dashboard_filters/{dashboard_filter_id}": { 24 | "url": "delete_dashboard_filter_404.md" 25 | }, 26 | "404/delete/looks/{look_id}": { 27 | "url": "delete_look_404.md" 28 | }, 29 | "404/post/login": { 30 | "url": "login_404.md" 31 | }, 32 | "404/get/roles/{role_id}": { 33 | "url": "role_404.md" 34 | }, 35 | "404/post/queries/run/{result_format}": { 36 | "url": "run_inline_query_404.md" 37 | }, 38 | "422/post/queries/run/{result_format}": { 39 | "url": "run_inline_query_422.md" 40 | }, 41 | "404/get/looks/{look_id}/run/{result_format}": { 42 | "url": "run_look_404.md" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /packages/sdk-codegen-utils/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/sdk-codegen/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/sdk-codegen/README.md: -------------------------------------------------------------------------------- 1 | # Looker SDK code generator core files 2 | 3 | This package contains the OpenAPI analysis files, and all source code necessary to generate method and type declarations for supported languages. 4 | 5 | This package can be used in a browser because it has no node dependencies. 6 | 7 | **DEPRECATED AND NOT SUPPORTED**: Looker does not support direct use of this package, other than via indirect use in the 8 | [SDK Codegen project](https://github.com/looker-open-source/sdk-codegen) repository. 9 | 10 | ## Supported languages 11 | 12 | This package includes the following language generators: 13 | 14 | - [TypeScript](src/typescript.gen.ts) 15 | - [Python](src/python.gen.ts) 16 | - [Kotlin](src/kotlin.gen.ts) 17 | - [Swift](src/swift.gen.ts) 18 | - [C#](src/csharp.gen.ts) 19 | - [Go](src/go.gen.ts) 20 | -------------------------------------------------------------------------------- /packages/sdk-codegen/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/sdk-node/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/sdk-node/test/setup.mjs: -------------------------------------------------------------------------------- 1 | import { register } from 'node:module'; 2 | 3 | register('some-typescript-loader'); 4 | // TypeScript is supported hereafter 5 | // BUT other test/setup.*.mjs files still must be plain JavaScript! 6 | -------------------------------------------------------------------------------- /packages/sdk-node/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/sdk-rtl/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/sdk-rtl/src/testUtils/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MIT License 4 | 5 | Copyright (c) 2021 Looker Data Sciences, Inc. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | */ 26 | 27 | export * from './testUtils'; 28 | -------------------------------------------------------------------------------- /packages/sdk-rtl/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/sdk/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/sdk/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/wholly-artifact/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Looker Data Sciences, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/wholly-artifact/README.md: -------------------------------------------------------------------------------- 1 | # Looker Artifact API SDK 2 | 3 | This package combines the design of [wholly-sheet](../wholly-sheet) with the Looker Artifact API to replace the GSheets "data table" implementation of WhollySheet with the key/value store of the Looker Artifact API. 4 | 5 | This package for using the artifact API to create dynamic tables is classified as `alpha` or `experimental` and subject to drastic change or removal at any time. 6 | 7 | Currently, the Looker Artifact API is reserved for Looker's own extensions and is not available for other uses. The artifact endpoints in the Looker API are also marked as `alpha`. 8 | 9 | ## Design 10 | 11 | This SDK supports CRUDS (Create, Read, Update, Delete, Search) operations for typed object collection to be managed by the Artifact API, replacing the GSheets-based persistence layer in WhollySheet. 12 | -------------------------------------------------------------------------------- /packages/wholly-artifact/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/wholly-sheet/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "rootDir": "./src", 5 | "outDir": "./lib" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /python/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | ignore = E203, E266, E501, W503 3 | max-line-length = 80 4 | max-complexity = 18 5 | select = B,C,E,F,W,T4,B9 6 | -------------------------------------------------------------------------------- /python/.gitignore: -------------------------------------------------------------------------------- 1 | looker_sdk/sdk/methods.* 2 | looker_sdk/sdk/models.* 3 | dist/ 4 | build/ 5 | looker_sdk.egg-info/ 6 | .eggs/ 7 | *.pyc 8 | *.pyo 9 | *.mypy_cache 10 | Pipfile.lock 11 | -------------------------------------------------------------------------------- /python/.python-version: -------------------------------------------------------------------------------- 1 | 3.10.2 2 | 3.9.10 3 | 3.9.9 4 | 3.9.0 5 | 3.8.2 6 | 3.7.6 7 | -------------------------------------------------------------------------------- /python/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2019 Looker Data Sciences, Inc. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /python/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.txt 2 | recursive-include docs *.txt 3 | -------------------------------------------------------------------------------- /python/Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "pypi" 3 | url = "https://pypi.org/simple" 4 | verify_ssl = true 5 | 6 | [dev-packages] 7 | pytest = "*" 8 | ptpython = "*" 9 | ipython = "*" 10 | mypy = "*" 11 | types-requests = "*" 12 | pytest-cov = "*" 13 | black = "*" 14 | flake8 = "*" 15 | flake8-bugbear = "*" 16 | prettyprinter = "*" 17 | setuptools = "*" 18 | wheel = "*" 19 | pyyaml = "*" 20 | pytest-pudb = "*" 21 | pytest-mock = "*" 22 | twine = "*" 23 | pillow = "*" 24 | tox = "*" 25 | tox-pyenv = "*" 26 | 27 | [packages] 28 | requests = "*" 29 | attrs = "*" 30 | cattrs = ">=1.3, <23.2" 31 | python-dateutil = "*" 32 | 33 | [requires] 34 | python_full_version = "3.10" 35 | 36 | [pipenv] 37 | # for `black` 38 | allow_prereleases = true 39 | -------------------------------------------------------------------------------- /python/looker_sdk/looker-sample.ini: -------------------------------------------------------------------------------- 1 | [Looker] 2 | # Base URL for API. Do not include /api/* in the url 3 | base_url=https://:19999 4 | # API client id 5 | client_id=your_API_client_id 6 | # API client secret 7 | client_secret=your_API_client_secret 8 | # Optional embed secret for SSO embedding 9 | verify_ssl=True 10 | -------------------------------------------------------------------------------- /python/looker_sdk/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/python/looker_sdk/py.typed -------------------------------------------------------------------------------- /python/looker_sdk/rtl/__init__.py: -------------------------------------------------------------------------------- 1 | # The MIT License (MIT) 2 | # 3 | # Copyright (c) 2019 Looker Data Sciences, Inc. 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /python/looker_sdk/sdk/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/python/looker_sdk/sdk/__init__.py -------------------------------------------------------------------------------- /python/looker_sdk/sdk/api40/__init__.py: -------------------------------------------------------------------------------- 1 | # Generated file. 2 | -------------------------------------------------------------------------------- /python/looker_sdk/sdk/constants.py: -------------------------------------------------------------------------------- 1 | # The MIT License (MIT) 2 | # 3 | # Copyright (c) 2019 Looker Data Sciences, Inc. 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | sdk_version = "25.8" 24 | environment_prefix = "LOOKERSDK" 25 | -------------------------------------------------------------------------------- /python/looker_sdk/version.py: -------------------------------------------------------------------------------- 1 | # The MIT License (MIT) 2 | # 3 | # Copyright (c) 2019 Looker Data Sciences, Inc. 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | 23 | __version__ = "25.8.0" 24 | -------------------------------------------------------------------------------- /python/mypy.ini: -------------------------------------------------------------------------------- 1 | [mypy] 2 | python_version=3.7 3 | 4 | disallow_any_expr=False 5 | 6 | no_implicit_optional=True 7 | 8 | [mypy-tests.*] 9 | disallow_any_expr=False 10 | 11 | [mypy-looker_sdk.sdk.*] 12 | disallow_any_expr=False 13 | -------------------------------------------------------------------------------- /python/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/looker-open-source/sdk-codegen/4794aab33d3f4450188d71d63d85df4df427628f/python/tests/__init__.py -------------------------------------------------------------------------------- /python/tests/integration/.env: -------------------------------------------------------------------------------- 1 | LOOKERSDK_CLIENT_ID=${LOOKERSDK_CLIENT_ID} 2 | LOOKERSDK_CLIENT_SECRET=${LOOKERSDK_CLIENT_SECRET} 3 | LOOKERSDK_BASE_URL=${LOOKERSDK_BASE_URL} 4 | LOOKERSDK_VERIFY_SSL=${LOOKERSDK_VERIFY_SSL} 5 | TOX_SKIP_ENV=.*-unit 6 | -------------------------------------------------------------------------------- /python/tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | """I exist so that mypy.ini "[mypy-tests.*]" config works. 2 | """ 3 | -------------------------------------------------------------------------------- /python/tests/rtl/.env: -------------------------------------------------------------------------------- 1 | LOOKERSDK_CLIENT_ID=${LOOKERSDK_CLIENT_ID} 2 | LOOKERSDK_CLIENT_SECRET=${LOOKERSDK_CLIENT_SECRET} 3 | LOOKERSDK_BASE_URL=${LOOKERSDK_BASE_URL} 4 | LOOKERSDK_VERIFY_SSL=${LOOKERSDK_VERIFY_SSL} 5 | TOX_SKIP_ENV=.*-integration 6 | -------------------------------------------------------------------------------- /python/tests/rtl/__init__.py: -------------------------------------------------------------------------------- 1 | """I exist so that mypy.ini "[mypy-tests.*]" config works. 2 | """ 3 | -------------------------------------------------------------------------------- /python/tox.ini: -------------------------------------------------------------------------------- 1 | # tox (https://tox.readthedocs.io/) is a tool for running tests 2 | # in multiple virtualenvs. This configuration file will run the 3 | # test suite on all supported python versions. To use it, "pip install tox" 4 | # and then run "tox" from this directory. 5 | 6 | [tox] 7 | envlist = {py37,py38,py39}-{unit,integration} 8 | 9 | [testenv] 10 | # otherwise tox won't let the code read LOOKERSDK env vars 11 | passenv = LOOKERSDK* 12 | deps = 13 | pytest 14 | pytest-cov 15 | pytest-mock 16 | pyyaml 17 | 18 | [testenv:unit] 19 | commands = 20 | pytest --junitxml={env:TOX_JUNIT_OUTPUT_DIR:../results/}/{env:TOX_JUNIT_OUTPUT_NAME:python}-{envname}.xml tests/rtl/ 21 | 22 | [testenv:integration] 23 | deps = 24 | pillow 25 | {[testenv]deps} 26 | commands = 27 | pytest --junitxml={env:TOX_JUNIT_OUTPUT_DIR:../results/}/{env:TOX_JUNIT_OUTPUT_NAME:python}-{envname}.xml tests/integration/ 28 | -------------------------------------------------------------------------------- /release-please-config.json.template: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["node-workspace"], 3 | "bump-minor-pre-major": true, 4 | "bump-patch-for-minor-pre-major": true, 5 | "packages": { 6 | ".": { "release-as": "" }, 7 | "packages/api-explorer": { "release-as": "" }, 8 | "packages/code-editor": { "release-as": "" }, 9 | "packages/extension-api-explorer": { }, 10 | "packages/extension-sdk": { }, 11 | "packages/extension-sdk-react": { }, 12 | "packages/extension-utils": { "release-as": "" }, 13 | "packages/hackathon": { }, 14 | "packages/run-it": { "release-as": "" }, 15 | "packages/sdk": { }, 16 | "packages/sdk-codegen": { "release-as": "" }, 17 | "packages/sdk-codegen-scripts": { "release-as": "" }, 18 | "packages/sdk-codegen-utils": { "release-as": "" }, 19 | "packages/sdk-node": { }, 20 | "packages/sdk-rtl": { "release-as": "" }, 21 | "packages/wholly-sheet": { "release-as": "" }, 22 | "python": { "release-type": "python", "package-name": "looker_sdk" } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /shell.nix: -------------------------------------------------------------------------------- 1 | let nixpkgs = import {}; 2 | in 3 | with nixpkgs; 4 | with lib; 5 | mkShell { 6 | name = "sdk-codegen"; 7 | buildInputs =[nodejs yarn]; 8 | } 9 | -------------------------------------------------------------------------------- /swift/looker/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | xcuserdata/ 5 | **/.idea/* 6 | .idea/* 7 | 8 | -------------------------------------------------------------------------------- /swift/looker/looker.xcodeproj/lookerTests_Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CFBundleDevelopmentRegion 5 | en 6 | CFBundleExecutable 7 | $(EXECUTABLE_NAME) 8 | CFBundleIdentifier 9 | $(PRODUCT_BUNDLE_IDENTIFIER) 10 | CFBundleInfoDictionaryVersion 11 | 6.0 12 | CFBundleName 13 | $(PRODUCT_NAME) 14 | CFBundlePackageType 15 | BNDL 16 | CFBundleShortVersionString 17 | 1.0 18 | CFBundleSignature 19 | ???? 20 | CFBundleVersion 21 | $(CURRENT_PROJECT_VERSION) 22 | NSPrincipalClass 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /swift/looker/looker.xcodeproj/looker_Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | $(MARKETING_VERSION) 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /swift/looker/looker.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /swift/looker/looker.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /swift/looker/looker.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded 6 | 7 | 8 | -------------------------------------------------------------------------------- /swift/looker/rtl/looker.swift: -------------------------------------------------------------------------------- 1 | struct looker { 2 | var text = "Hello, SDK World!" 3 | } 4 | -------------------------------------------------------------------------------- /test/errorCodesIndex.json: -------------------------------------------------------------------------------- 1 | { 2 | "404": { 3 | "url": "404.md" 4 | }, 5 | "400/get/content_metadata/{content_metadata_id}": { 6 | "url": "content_metadata_400.md" 7 | }, 8 | "422/post/folders": { 9 | "url": "create_folder_422.md" 10 | }, 11 | "422/post/groups": { 12 | "url": "create_group_422.md" 13 | }, 14 | "404/get/dashboards/{dashboard_id}/dashboard_filters": { 15 | "url": "dashboard_dashboard_filters_404.md" 16 | }, 17 | "404/delete/alerts/{alert_id}": { 18 | "url": "delete_alert_404.md" 19 | }, 20 | "404/delete/boards/{board_id}": { 21 | "url": "delete_board_404.md" 22 | }, 23 | "404/delete/dashboard_filters/{dashboard_filter_id}": { 24 | "url": "delete_dashboard_filter_404.md" 25 | }, 26 | "404/delete/looks/{look_id}": { 27 | "url": "delete_look_404.md" 28 | }, 29 | "404/post/login": { 30 | "url": "login_404.md" 31 | }, 32 | "404/get/roles/{role_id}": { 33 | "url": "role_404.md" 34 | }, 35 | "404/post/queries/run/{result_format}": { 36 | "url": "run_inline_query_404.md" 37 | }, 38 | "422/post/queries/run/{result_format}": { 39 | "url": "run_inline_query_422.md" 40 | }, 41 | "404/get/looks/{look_id}/run/{result_format}": { 42 | "url": "run_look_404.md" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.common.json", 3 | "compilerOptions": { 4 | "declaration": true, 5 | "emitDeclarationOnly": true 6 | }, 7 | "exclude": [ 8 | "lib", 9 | "node_modules", 10 | "**/testUtils", 11 | "**/test-data", 12 | "**/*.spec.ts", 13 | "**/*.spec.tsx", 14 | "**/*.test.ts", 15 | "**/*.test.tsx" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /tsconfig.common.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["ES2019", "dom", "dom.iterable"], 4 | "module": "commonjs", 5 | "target": "ES2019", 6 | "jsx": "react", 7 | "allowJs": true, 8 | "allowSyntheticDefaultImports": true, 9 | "esModuleInterop": true, 10 | "moduleResolution": "node", 11 | "removeComments": true, 12 | "resolveJsonModule": true, 13 | "sourceMap": true, 14 | "strict": true, 15 | "forceConsistentCasingInFileNames": true, 16 | "noImplicitAny": true, 17 | "noImplicitThis": true, 18 | "noImplicitReturns": true, 19 | "strictNullChecks": true, 20 | "preserveConstEnums": true, 21 | "noFallthroughCasesInSwitch": true, 22 | "noUnusedLocals": true, 23 | "noUnusedParameters": true, 24 | "skipLibCheck": true 25 | }, 26 | "exclude": ["lib", "node_modules"], 27 | "include": ["*.css"] 28 | } 29 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.common.json", 3 | "compilerOptions": { 4 | "noEmit": true, 5 | "pretty": true, 6 | "baseUrl": ".", 7 | "paths": { 8 | "@looker/*": ["packages/*/src"] 9 | } 10 | }, 11 | "include": ["packages/*/src"] 12 | } 13 | --------------------------------------------------------------------------------