Date published: 2023-09-21
The development experience for Palantir Foundry's Code Repositories application has been optimized with a collection of improvements as follows:
install
, formatCode
, tasks
, and whoneeds
. When Task Runner is enabled, adding a package from the Libraries tab in the left panel will now install the requested package on top of your current environment, instead of provisioning a Code Assist workspace as before. The additional logs generated during this stage helps provide clarity should debugging be required. In addition, the complex filters and preview input configuration interface has been improved for ease of use.Add and install packages using Task Runner
Complex filters and Preview input configuration interface improvements
conda-forge
as an artifacts backing repository for all repositories out-of-the-box. In addition, noarch
Python library templates make it easier for developers to create and manage cross-platform libraries.black
and ruff
linters to ensure coding style consistency.vscode
gradle task locally.Date published: 2023-09-19
The Ontology SDK (OSDK) typescript version and the new Developer Console application are now GA on all stacks. The Python SDK is currently in beta and on track to GA by the end of October 2023.
The Ontology Software Development Kit (OSDK) allows you to access the full power of the Ontology directly from your development environment. You can generate the Ontology SDK with the Developer Console, a new portal for creating and managing third party applications using Palantir APIs. For more details and instructions, see our public docs.
The Developer Console is a new application that lets you generate an Ontology SDK for ergonomic access to Ontology APIs. The SDK can be generated as a TypeScript NPM package and as Python PyPi/Conda packages (beta). The Ontology SDK package includes only the entities from the Ontology defined by the developer in the Developer Console.
Developers can use the Ontology SDK to easily read from the Ontology, write back to Foundry via Actions, execute Ontology Functions and much more. Using the SDK provides a type-safe way of interacting with our APIs.
Developers can then effectively treat Foundry as a backend, relying on the infrastructure and central Ontology management that Foundry provides and allowing for more focus on application development unique to their organization.
A GIF showing the Ontology SDK integrating Foundry Ontology resources in a code editor.
The Ontology SDK is generated through the Developer Console, a new Foundry tool through which you can create and manage applications built to use Palantir APIs. Open the Developer Console from the Applications Portal in the workspace navigation bar, or search using CMD + J
(MacOS) or CTRL + J
(Windows).
Search for the Developer Console in the Applications Portal.
Though both the Ontology SDK and Developer Console will be available to all enrollments, you can choose to opt-out of the Developer Console by disabling it in Control Panel or configuring granular access for a given group in the Access applications page.
Documentation on how to use the Ontology SDK and Developer Console is available, including walkthroughs for different application workflows. There is also a starter TypeScript/React-based application in our public repository ↗ to help you get started.
The Developer Console provides customized documentation for each application based on the selected Ontology entities.
A view of API documentation for an Aircraft object type in the Developer Console.
Date published: 2023-09-19
Sensitive Data Scanner (SDS, formerly known as "Foundry Inference") helps organizations discover and secure sensitive data within their Palantir Foundry datasets. Available now in beta, governance users can use SDS to specify patterns of sensitive data to identify and the automated action to take when matching data is found. In addition, users can benefit from an updated interface to accurately track and monitor launched scans.
The Sensitive Data Scanner landing page now includes a progress bar serving as status summary of the datasets that were scanned for each one-time scan. The color-coded bar fills proportionately to the number of datasets that match a particular condition over the total number of datasets in queue for scanning:
Additionally, you can easily review the categorization of each dataset under a particular scan by selecting a dropdown arrow to the right of each scan item.
A detailed view of a one-time scan showing the different categorization of files
Users can also review the number of datasets that are queued for scanning by Sensitive Data Scanner, providing an estimate of how long the scan may take while encouraging review of the scope of a scan where necessary.
The final step of setting up a scan shows the number of datasets that will be scanned and provides users the option of creating a one-time scan or a recurring scan.
You can now generate regular expression match conditions using AIP (on stacks where AIP is enabled) without needing to write the regex yourself. To use this feature, provide a natural-language prompt describing your desired data format, then select Generate during the Select match conditions step when creating a one-time scan.
User generating a regex match condition for email addresses using AIP
For more information, review the Sensitive Data Scanner documentation.
Date published: 2023-09-19
We have updated checks performance across Python repositories on Foundry stacks with targeted improvements. To note, the average P95 checks completion time (the time taken to run checks from start to finish) across all Python jobs on internal stacks decreased from 2 minutes 15 seconds in March 2023 to approximately 1 minute and 15 seconds in June 2023, a decrease of 44.4%.
Our recent work to improve check efficiency includes the following updates.
Previously “gzip
compression", ZST has been implemented to enable significantly faster compression and decompression for conda-pack
↗, essential for running the condaPackRun
and/or condaPackTest
tasks in your checks.
A chart displaying the average P95 checks completion time (down from 2m 15s in March 2023 to ~1m 15s in June 2023)
Jemma, our checks runner, no longer double-compresses files. Instead, files are compressed using ZST, resulting in a decrease of resource usage and CPU time.
Avoiding double-compression and using zst
to compress the cache directories result in a significantly faster compression speed (20MBs → 80MB/s). Shown below is the time taken to compress the cache directory and store the compressed file.
The following common tasks will run faster by leveraging base Docker images and updating Gradle tasks where noted:
condaInfo
: Bundle the Conda installer into the Docker image used to run checks.setupPythonEnv
: Bundle Conda installers for supported Python versions (major and minor) into the Docker image used for checks.vscode
: Switch from Gradle's @InputFiles
to @Input
to decrease task execution from 13 seconds to less than 1 second.Use custom Gradle caching to avoid inefficiencies that cause the double-compression of Conda packs, resulting in wasted compute time and overall slower performance. This improvement also benefits from the ability of the artifacts cache layout to refresh the TTL of entries based on usage.
Below is a chart from an early prototype that shows the time required to run a task, using our custom caching mechanism. Note that the improvements become more substantial as the environment grows larger, such as in modeling-related packages.
We are currently working on enhancements to speed up Code Assist at launch and improve the resolution and installation of test environments.
Date published: 2023-09-11
This feature is now generally available. Read the latest announcement.
Date published: 2023-09-28
[Data Integration/Code Repositories] Code Repositories users now have access to the Source Control feature, a new panel that displays file changes and allows users to commit them to a remote repository. Learn more in the associated highlight.
Date published: 2023-09-26
[Foundry S3 Proxy] The S3-compatible API for Foundry datasets has been made generally available. The API for obtaining credentials is considered stable and now offers the ability to use temporary as well as static credentials. For more details and instructions on how to get started with this API and use it with standard AWS clients and SDKs, review the documentation.
Date published: 2023-09-26
[Ontology/Ontology Management] Users can now set up edit-only properties for object types in OSv2 within the Ontology Manager. These properties are not tied to any column and can only obtain their values through Actions, providing more flexibility in managing object types.
Date published: 2023-09-26
[Ontology/Foundry Rules] Foundry Rules allows users to author rule-based logic that connects seamlessly to a data transformation pipeline.
Access the new home page of the Foundry Rules application to see workflow setup and configuration. Setting up a new Rules workflow is powered by Foundry Marketplace, providing value quicker while requiring less upfront configuration.
You can also access Foundry Rules by selecting a Rules workflow configuration from Files.
Foundry Rules workflow overview list
Date published: 2023-09-26
[Data Integration/Pipeline Builder] Users can now add comments to their proposal reviews, enabling them to approve with a message or reject proposals with a reason. This update provides greater flexibility and communication during the review process.
Date published: 2023-09-26
[Ontology/Ontology Management] The Ontology Management App now displays a countdown for automatic deindexing of unused tables in the Phonograph section for object types and many-to-many link types. This feature helps users to be aware of the remaining time before the automatic deindexing occurs.
Date published: 2023-09-26
[Data Integration/Pipeline Builder] AIP Generate is now GA in Pipeline Builder, allowing users to create new data transformation logic with a single prompt. This feature simplifies the process of writing complex data transformations while maintaining transparency and legibility in generated logic.
Date published: 2023-09-13
[Analytics / Notepad] The value embed widget lets users insert text from a template input directly into a document. Users can add a value embed widget into a Notepad template, and configure it with a string template input. When documents are generated from the template, text is inserted in place of the widget. Learn more about the value embed widget.
Picture of Notepad template with two value embed widgets
Date published: 2023-09-13
[Analytics/Quiver] The AIP window has been removed from the next actions menu and is now a floating, draggable, and resizable modal window. This update enables users to maintain an unobstructed view of object set properties and visualizations on the canvas while writing prompts. Processing of user prompts now occurs in the background with the AIP window minimized, so users are able to continue their workflows while waiting for a result. Additionally, the AIP buttons have been renamed to better reflect their functionality; AIP Generate will generate cards in the analysis, while AIP Configure will update a card configuration.
Quiver AIP minimized during runtime
New Quiver AIP modal window
Date published: 2023-09-13
[Analytics/Quiver] The AIP window now includes suggestions for possible next actions to be taken on the object or object set based on their properties and Quiver cards that support AIP. Additionally, when typing a prompt, AIP displays possible completions for the prompt. Both features help users discover new opportunities to use AIP to explore and analyze Ontology data.
AIP modal window with AIP suggested next actions on the selected object set
AIP modal window with prompt completions
Date published: 2023-09-13
[Data Integration / Pipeline Builder] User-defined functions let you run your own arbitrary Java code in Pipeline Builder or in Code Repositories that can be versioned and upgraded. You can now create your own user-defined function (UDF) to incorporate external Java libraries or reuse complex logic across pipelines. Contact your Palantir representative to enable UDFs in Pipeline Builder, and learn more in our documentation.
Date published: 2023-09-11
[Quicksearch] After two months of widespread availability, Quicksearch is now the sole search interface in Foundry. As proactively announced in July, the legacy search interface has now been deprecated. Users who opted out of the new search experience during the transition will now be rolled into Quicksearch. See the Quicksearch documentation and the Quicksearch GA announcement for more details.
Date published: 2023-09-05
[Security / Projects] A graph-based view, commonly known as Access Graph, can now be used to visualize relationships between entities like projects, users, groups, and markings to make checking permissions simpler. For more information, refer to Checking permissions documentation.
Date published: 2023-09-05
[Model Integration: Workspace] The Quicksearch integration in the resource selector allows users to search for resources quicker without having to wait for panels to load. With results fetched based on names and ranked by search relevance, the Quicksearch bar streamlines navigation while still offering the option to perform a full search.
Date published: 2023-09-05
[Administration: Resource Management] Use the Budgets tab in the Resource Management application to create financial budgets against compute usage.
Date published: 2023-09-05
[Data Integration: Pipeline Builder] Introducing custom approval policies for pipeline proposals, enabling users to require reviews from a configurable list of individuals or groups. Enhance version control and safely collaborate on production pipelines by gating changes that affect the main branch. Choose between none, permission-based (edit), and custom policies (groups and users) when configuring your policy.
Date published: 2023-09-05
[Ontology: Ontology Management] Introducing a new Favorites section on the Ontology home page, displaying all favorited object types for easy access. Users can reorder or disable this section as needed and it will be enabled by default for those with favorite object types.