Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upcoming into main for Hyper API November 2023 Release #71

Merged
merged 7 commits into from
Nov 8, 2023
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
4 changes: 1 addition & 3 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:

- name: Download language docs
working-directory: main/website
run: yarn ts-node download_links.ts docs_py docs_cxx docs_java docs_dotnet
run: yarn ts-node download_links.ts docs_py docs_cxx docs_java

- name: Build webpage for `main` branch
working-directory: main/website
Expand Down Expand Up @@ -86,8 +86,6 @@ jobs:
mv combined/lang_docs/tableauhyperapi-cxx-docs-* combined/lang_docs/cxx
unzip main/website/docs_java.zip -d combined/lang_docs
mv combined/lang_docs/tableauhyperapi-java-docs-* combined/lang_docs/java
unzip main/website/docs_dotnet.zip -d combined/lang_docs
mv combined/lang_docs/tableauhyperapi-dotnet-docs-* combined/lang_docs/dotnet
- name: Upload webpage artifact
uses: actions/upload-pages-artifact@v1
Expand Down
3 changes: 1 addition & 2 deletions website/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,8 @@ The Hyper API libraries are available for the most commonly used languages, i.e.
- Python
- C++
- Java
- C#/.NET

and is available for Windows, macOS and Linux.
It can be used both in the cloud as well as on small consumer-grade laptops.

More details on the supported platforms and hardware requirements can be found in the [Installation instructions](installation).
More details on the supported platforms and hardware requirements can be found in the [Installation instructions](installation).
69 changes: 0 additions & 69 deletions website/docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,21 +70,6 @@ Using at least C++17 is recommended, as the API uses C++17 classes, such as `std

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

```mdx-code-block
</TabItem>
<TabItem value="dotnet" label=".NET">
```

:::warning Deprecation Warning

The .NET version of Hyper API is deprecated.
Older versions of Hyper API will still be available via NuGET. In the future, .Net will not receive any new features or updates. The old packages will stay available on NuGET indefinitely, so you can keep using older versions in .Net. The other languages (Python, Java, C++) are not impacted by this in any way. In case this is causing issues for you, please reach out via [Slack](https://join.slack.com/t/tableau-datadev/shared_invite/zt-1q4rrimsh-lHHKzrhid1MR4aMOkrnAFQ).

:::

* **[.NET Core 2.2 SDK](https://dotnet.microsoft.com/download)** (or newer) or **[.NET Framework 4.6.1](https://dotnet.microsoft.com/en-us/download/dotnet-framework)** (or newer) is required.
* The examples use the .NET Core SDK.

```mdx-code-block
</TabItem>
</Tabs>
Expand Down Expand Up @@ -210,60 +195,6 @@ 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 value="dotnet" label=".NET">
```

:::warning Deprecation Warning

The .NET version of Hyper API is deprecated.
Older versions of Hyper API will still be available via NuGET. In the future, .Net will not receive any new features or updates. The old packages will stay available on NuGET indefinitely, so you can keep using older versions in .Net. The other languages (Python, Java, C++) are not impacted by this in any way. In case this is causing issues for you, please reach out via [Slack](https://join.slack.com/t/tableau-datadev/shared_invite/zt-1q4rrimsh-lHHKzrhid1MR4aMOkrnAFQ).

:::

You can install the Hyper API for .NET in two ways. You can either download the `.zip` file that contains the library and example code, or you can install the NuGet package for the library, either directly, or by adding a reference to your project.

### Using the Hyper API NuGet package {#using-the-hyper-api-nuget-package}

The Hyper API library is available as a NuGet package. To use the library, you need to add a reference to the `Tableau.HyperAPI.NET` package in your project. Use the NuGet Package Manager in Visual Studio, or for other installation options, see **[Tableau.HyperAPI.NET in the NuGet Gallery](https://www.nuget.org/packages/Tableau.HyperAPI.NET/)**.

### Hyper API for .NET installation from the download (.zip) package

In addition to using the NuGet package, you can also download the Hyper API library for .NET. The download package includes the .NET examples for the Hyper API.

1. [Download](/docs/releases#download) the .NET Hyper API package file (`.zip` file) for your operating system. The files are identified as `tableauhyperapi-dotnet-`
1. Unzip the Hyper API package file to a convenient location.
1. Build and run the examples.
* To run the examples, you need to install .Net Core 2.2 SDK or newer. You can install it from the [official .NET download page](https://dotnet.microsoft.com/download).
* To build the example project, open a terminal, navigate into the example directory and run:
* On Windows: `build.bat`
* On Linux/macOS: `./build.sh`
* Then run the examples with `dotnet run`. For example, `dotnet run -- insert-data-into-single-table`

:::note
The examples assume that you have .NET Core 2.2 installed. Depending upon the version of the .NET Core Framework you are using (2.2 or later), you might need to change the `<TargetFramework>` version in the project file (`Example.csproj`). You might also need to change the `xcopy` path in the `build.bat` or `build.sh` file.
:::

### Use Visual Studio to create new .NET project

You can create a new project with the Hyper API in Visual Studio.

* In Visual Studio, create or initialize a new .NET project.
* In the project file (`.csproj`), add a reference to the managed library (`Tableau.HyperAPI.NET.dll`). The library is located in the `lib` directory where you extracted the Hyper API package.

```xml
<ItemGroup>
<Reference Include="Tableau.HyperAPI.NET">
<HintPath>../lib/Tableau.HyperAPI.NET.dll</HintPath>
</Reference>
</ItemGroup>
```

* Or if you want to use the NuGet package, and a reference to the package as described [Using the Hyper API NuGet package](#using-the-hyper-api-nuget-package).
* Change the platform to **x64** in the Configuration manager.
* Make sure to deploy the native tableauhyperapi library (`tableauhyperapi.dll` on Windows and `libtableauhyperapi.so` on Linux) and the `hyper` folder next to the managed `Tableau.HyperAPI.NET.dll` assembly. Both are located in the `lib` folder where you installed the Hyper API package.

```mdx-code-block
</TabItem>
</Tabs>
Expand Down
8 changes: 8 additions & 0 deletions website/docs/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ In case you are wondering why all our releases start with `0.0`, read [this FAQ

:::

### 0.0.18161 [November 8th, 2023]

* Reduced memory consumption for `WITH RECURSIVE`: Up to 20,000x less memory usage in microbenchmarks.
* Improved performance for `WITH RECURSIVE`: Roughly 2x improvement in microbenchmarks.
* Improved heuristic rewrites for joins:
* Remove semi/anti-joins with a constant FALSE conditions.
* Apply the exact same "constant FALSE condition" rewrites also in cases where the join has an empty input on one of both sides.
* Updated OpenSSL version from 1.1.1u to 3.0.10.

### 0.0.17971 [October 9th, 2023]

Expand Down
1 change: 0 additions & 1 deletion website/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ const sidebars = {
{ type: 'link', label: "Examples", href: "https://github.com/tableau/hyper-api-samples" },
{ type: 'link', label: "Python Reference", href: "pathname:///lang_docs/py/index.html" },
{ type: 'link', label: "C++ Reference", href: "pathname:///lang_docs/cxx/index.html" },
{ type: 'link', label: ".NET Reference", href: "pathname:///lang_docs/dotnet/api/index.html" },
{ type: 'link', label: "Java Reference", href: "pathname:///lang_docs/java/overview-summary.html" },
],
},
Expand Down
47 changes: 1 addition & 46 deletions website/src/components/DownloadPicker/index.tsx
Original file line number Diff line number Diff line change
@@ -1,41 +1,14 @@
import React, { useState } from 'react';
import React from 'react';
import { config } from '@site/src/config';
import { detectOS } from '@site/src/os_detection';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import Admonition from '@theme/Admonition';
import styles from './styles.module.css';
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';

type DotNetWarningProps = {
url: string;
};

function DotNetWarning({ url }: DotNetWarningProps) {
return (
<div style={{ 'margin-top': '1em' }}>
<Admonition type="danger" title="Deprecation Warning">
The .NET version of Hyper API is deprecated. Older versions of Hyper API will still be available via
NuGET. In the future, .Net will not receive any new features or updates. The old packages will stay
available on NuGET indefinitely, so you can keep using older versions in .Net. The other languages
(Python, Java, C++) are not impacted by this in any way. In case this is causing issues for you, please
reach out via{' '}
<a href="https://join.slack.com/t/tableau-datadev/shared_invite/zt-1q4rrimsh-lHHKzrhid1MR4aMOkrnAFQ">
Slack
</a>
.
<br />
<br />
<a href={url}>Download the .Net Hyper API</a>
</Admonition>
</div>
);
}

export function DownloadPicker() {
const [displayDotnet, setDisplayDotnet] = useState(false);
return (
<Tabs defaultValue={detectOS()}>
<TabItem
Expand All @@ -56,12 +29,6 @@ export function DownloadPicker() {
<li>
<a href={config.download.windows_java}>Java (Windows)</a>
</li>
<li>
<a href="#" onClick={() => setDisplayDotnet(true)}>
.Net (Windows)
</a>
{displayDotnet ? <DotNetWarning url={config.download.windows_dotnet} /> : <></>}
</li>
</ul>
</TabItem>
<TabItem
Expand All @@ -82,12 +49,6 @@ export function DownloadPicker() {
<li>
<a href={config.download.macos_java}>Java (macOS)</a>
</li>
<li>
<a href="#" onClick={() => setDisplayDotnet(true)}>
.Net (macOS)
</a>
{displayDotnet ? <DotNetWarning url={config.download.macos_dotnet} /> : <></>}
</li>
</ul>
</TabItem>
<TabItem
Expand All @@ -108,12 +69,6 @@ export function DownloadPicker() {
<li>
<a href={config.download.linux_java}>Java (Linux)</a>
</li>
<li>
<a href="#" onClick={() => setDisplayDotnet(true)}>
.Net (Linux)
</a>
{displayDotnet ? <DotNetWarning url={config.download.linux_dotnet} /> : <></>}
</li>
</ul>
</TabItem>
</Tabs>
Expand Down
6 changes: 1 addition & 5 deletions website/src/config.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const version_long = '0.0.17971.r09b6da92';
const version_long = '0.0.18161.r484f6727';
const version_short = version_long.substr(0, version_long.lastIndexOf('.'));

const downloadBaseUrl = 'https://downloads.tableau.com/tssoftware/';
Expand All @@ -8,21 +8,17 @@ export const config = {
windows_py: `${downloadBaseUrl}/tableauhyperapi-${version_short}-py3-none-win_amd64.whl`,
windows_cxx: `${downloadBaseUrl}/tableauhyperapi-cxx-windows-x86_64-release-main.${version_long}.zip`,
windows_java: `${downloadBaseUrl}/tableauhyperapi-java-windows-x86_64-release-main.${version_long}.zip`,
windows_dotnet: `${downloadBaseUrl}/tableauhyperapi-dotnet-windows-x86_64-main.${version_long}.zip`,

macos_py: `${downloadBaseUrl}/tableauhyperapi-${version_short}-py3-none-macosx_10_11_x86_64.whl`,
macos_cxx: `${downloadBaseUrl}/tableauhyperapi-cxx-macos-x86_64-release-main.${version_long}.zip`,
macos_java: `${downloadBaseUrl}/tableauhyperapi-java-macos-x86_64-release-main.${version_long}.zip`,
macos_dotnet: `${downloadBaseUrl}/tableauhyperapi-dotnet-macos-x86_64-main.${version_long}.zip`,

linux_py: `${downloadBaseUrl}/tableauhyperapi-${version_short}-py3-none-manylinux2014_x86_64.whl`,
linux_cxx: `${downloadBaseUrl}/tableauhyperapi-cxx-linux-x86_64-release-main.${version_long}.zip`,
linux_java: `${downloadBaseUrl}/tableauhyperapi-java-linux-x86_64-release-main.${version_long}.zip`,
linux_dotnet: `${downloadBaseUrl}/tableauhyperapi-dotnet-linux-x86_64-main.${version_long}.zip`,

docs_py: `${downloadBaseUrl}/tableauhyperapi-py-docs-main.${version_long}.zip`,
docs_java: `${downloadBaseUrl}/tableauhyperapi-java-docs-main.${version_long}.zip`,
docs_dotnet: `${downloadBaseUrl}/tableauhyperapi-dotnet-docs-main.${version_long}.zip`,
docs_cxx: `${downloadBaseUrl}/tableauhyperapi-cxx-docs-main.${version_long}.zip`,
},
version_long: version_long,
Expand Down