Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 12 additions & 30 deletions website/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ description: Advanced installation instructions
# Installation


```mdx-code-block
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { Link } from "react-router-dom";
```

Hyper API is available for Python, C++ and Java supporting Windows, Mac and Linux each.
Depending on the language, the installation can be complex.
Expand Down Expand Up @@ -43,19 +41,15 @@ The Hyper API only supports 64-bit platforms. It has the following minimum hardw

## Language-specific Requirements

```mdx-code-block
<Tabs queryString="client-language">
<TabItem value="python" label="Python" default>
```
<TabItem value="python" label="Python" default>

* **[Python 3.11](https://www.python.org/downloads/)** (or newer) is required.
- Install the 64-bit version (for example, for Windows, the download is listed as `Windows x86-64`).
- On Windows, we recommend to select the option **Add Python 3.x to PATH** during installation.

```mdx-code-block
</TabItem>
<TabItem value="cxx" label="C++">
```
</TabItem>
<TabItem value="cxx" label="C++">

* The C++ headers use C++11, so a **standard-compliant compiler with thorough C++11 support** is required. Our internal testing is done with the newest Clang.

Expand All @@ -66,24 +60,18 @@ Using at least C++17 is recommended, as the API uses C++17 classes, such as `std
* For the examples, a CMake project file is provided. To build it, **[CMake](https://cmake.org/download/)** must be installed on your computer and available in your PATH.
* On Windows, you also need Visual Studio 2015 (or newer).

```mdx-code-block
</TabItem>
<TabItem value="java" label="Java">
```
</TabItem>
<TabItem value="java" label="Java">

* **[JDK 8](https://www.oracle.com/java/technologies/downloads/)** (or newer) is required.

```mdx-code-block
</TabItem>
</TabItem>
</Tabs>
```

## Instructions

```mdx-code-block
<Tabs queryString="client-language">
<TabItem value="python" label="Python" default>
```
<TabItem value="python" label="Python" default>

:::note
The following instructions assume that you have set up a virtual environment for Python. For more information on creating virtual environments, see [venv - Creation of virtual environments](https://docs.python.org/3/library/venv.html) in the Python Standard Library.
Expand Down Expand Up @@ -119,10 +107,8 @@ The following instructions assume that you have set up a virtual environment for
- On Linux/macOS:
`[venv_directory]/bin/python hyper-api-samples/Tableau-Supported/Python/insert_data_into_single_table.py`

```mdx-code-block
</TabItem>
<TabItem value="cxx" label="C++">
```
</TabItem>
<TabItem value="cxx" label="C++">

1. [Download](/docs/releases#download) the C++ Hyper API package file (`.zip` file) for your operating system.

Expand Down Expand Up @@ -150,10 +136,8 @@ The following instructions assume that you have set up a virtual environment for
- On Linux: Append the extracted lib directory to your system `LD_LIBRARY_PATH` variable.
- On macOS: You need to include the lib directory as `RPATH` for every binary.

```mdx-code-block
</TabItem>
<TabItem value="java" label="Java">
```
</TabItem>
<TabItem value="java" label="Java">

1. [Download](/docs/releases#download) the Java Hyper API package file (`.zip` file) for your operating system.

Expand Down Expand Up @@ -198,7 +182,5 @@ If your security requirements require you to run Java applications with the syst
* For macOS, the library (`libtableauhyperapi.dylib`) is in the `lib` folder of the `.zip` file.
1. Set system property `jna.library.path` with value set to the absolute path of the folder or directory that contains the native library file for your platform (from step 2).

```mdx-code-block
</TabItem>
</TabItem>
</Tabs>
```
2 changes: 1 addition & 1 deletion website/docs/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ Noteworthy changes in the Time Zone Database:

* The Hyper API `Inserter` class now allows inserting Well-known text (WKT) into `Geography` columns. You can use the `CAST` expression to transform WKT data to the `Geography` type and provide WKT data as a string to the `Inserter` class. For more information, see [Add Geospatial Data to a Hyper File](/docs/guides/hyper_file/geodata).

* Documented the available settings that can be passed to the `HyperProcess` and `Connection` constructors. See [Settings](/docs/hyper-api/hyper_process#passingprocesssettings).
* Documented the available settings that can be passed to the `HyperProcess` and `Connection` constructors. See [Settings](/docs/hyper-api/hyper_process#process-settings).

* Exposed settings for the `HyperProcess` class that give control over the way Hyper communicates with its clients. See [Connectivity Settings](/docs/hyper-api/hyper_process#connectivitysettings).

Expand Down
9 changes: 7 additions & 2 deletions website/docusaurus.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion

const lightCodeTheme = require('prism-react-renderer/themes/github');
const lightCodeTheme = require('prism-react-renderer').themes.github;

const getConfig = async () => {
const remarkDefList = (await import("remark-deflist")).default;
Expand Down Expand Up @@ -29,7 +29,12 @@ const getConfig = async () => {

// We want all issues to be reported as build errors
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'throw',
onBrokenAnchors: 'throw',
markdown: {
hooks: {
onBrokenMarkdownLinks: 'throw',
},
},

// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
Expand Down
33 changes: 12 additions & 21 deletions website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,38 +17,29 @@
"lint:check": "prettier --check src"
},
"dependencies": {
"@docusaurus/core": "^2.4.3",
"@docusaurus/plugin-google-tag-manager": "^2.4.3",
"@docusaurus/preset-classic": "^2.4.3",
"@mdx-js/react": "^1.6.22",
"@docusaurus/core": "^3.10.2",
"@docusaurus/plugin-google-tag-manager": "^3.10.2",
"@docusaurus/preset-classic": "^3.10.2",
"@mdx-js/react": "^3.1.1",
"clsx": "^2.0.0",
"prism-react-renderer": "^1.3.5",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"prism-react-renderer": "^2.4.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-vertical-timeline-component": "^3.6.0",
"remark-deflist": "^1.0.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^2.4.3",
"@tsconfig/docusaurus": "^1.0.5",
"@docusaurus/module-type-aliases": "^3.10.2",
"@docusaurus/tsconfig": "^3.10.2",
"@types/react": "^18.3.12",
"prettier": "^3.0.3",
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
"typescript": "~5.6.3"
},
"resolutions": {
"webpack": "5.94.0",
"@babel/core": "7.29.7",
"axios": "0.34.0",
"body-parser": "1.20.8",
"cookie": "0.7.2",
"got": "11.8.6",
"minimatch": "3.1.5",
"on-headers": "1.1.0",
"qs": "6.16.0",
"serialize-javascript": "7.1.1",
"trim": "0.0.3",
"uuid": "11.1.1",
"ws": "8.21.3"
"@types/react": "18.3.12"
},
"browserslist": {
"production": [
Expand Down
22 changes: 13 additions & 9 deletions website/src/components/DownloadPicker/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,20 @@ import LinuxIcon from '@site/static/img/devicon-linux.svg';
import WindowsIcon from '@site/static/img/devicon-windows.svg';
import MacosIcon from '@site/static/img/devicon-macos.svg';

// Docusaurus v3 narrowed TabItem's `label` prop to `string`, but it still
// renders any ReactNode at runtime — this keeps the OS icon labels working.
const richLabel = (label: React.ReactNode) => label as unknown as string;

export function DownloadPicker() {
return (
<Tabs defaultValue={detectOS()}>
<TabItem
value="windows"
label={
label={richLabel(
<>
<WindowsIcon className={styles.svgicon} /> Windows
</>
}
</>,
)}
>
<ul>
<li>
Expand All @@ -33,11 +37,11 @@ export function DownloadPicker() {
</TabItem>
<TabItem
value="macos"
label={
label={richLabel(
<>
<MacosIcon className={styles.svgicon} /> macOS
</>
}
</>,
)}
>
<ul>
<li>
Expand All @@ -62,11 +66,11 @@ export function DownloadPicker() {
</TabItem>
<TabItem
value="linux"
label={
label={richLabel(
<>
<LinuxIcon className={styles.svgicon} /> Linux
</>
}
</>,
)}
>
<ul>
<li>
Expand Down
11 changes: 10 additions & 1 deletion website/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
{
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "@tsconfig/docusaurus/tsconfig.json",
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "."
},
// @docusaurus/tsconfig sets module: esnext, which makes ts-node resolve as
// ESM and reject the extensionless imports in download_links.ts. ts-node
// reads this block (the Docusaurus build ignores it) to run as CommonJS.
"ts-node": {
"compilerOptions": {
"module": "CommonJS",
"moduleResolution": "node"
}
}
}
Loading
Loading