![OSDK overview header image.](../../../assets/073836e5071a5338dba6786dc4eaeea2c7c759c4eaa14b8ec447e6d751ecb843.webp) # Ontology SDK (OSDK) The Ontology Software Development Kit (OSDK) allows you to access the full power of the Ontology directly from your development environment. The OSDK supports npm for TypeScript, pip or Conda for Python, Maven for Java, and OpenAPI spec for any other language. By treating Foundry as your backend, you can leverage the Ontology's robust ability to perform high-scale queries and Foundry writeback alongside granular governance controls to accelerate the process of securely developing applications that can power your organization. To create and manage OSDK applications, use [Developer Console](../../developer-console/overview/index.md). This section covers SDK-specific reference documentation. ![The demo app setup page shows example code and documentation.](../../../assets/70471823cfce2f81e68bb2cb90e2fbcdcf64be17e11af37fa065d89cc9de9d1a.webp) ## OSDK benefits The OSDK was built to provide several primary benefits: * **Accelerated development:** With the OSDK, you can quickly start developing applications backed by the Foundry Ontology. By enabling ergonomic access to Ontology APIs, the OSDK allows you to read and write back to the Ontology with minimal code. * **Strong type-safety:** The functions and types generated for the OSDK are based on just the subset of the Ontology relevant to you. Types and functions are generated from your Ontology, allowing you to query and explore your Ontology directly in your editor. * **Centralized maintenance:** As the Ontology is built and managed centrally in Foundry, you can focus on application building and decrease the typical maintenance burden required to build a data foundation. * **Secure by design:** The OSDK uses a token that is scoped only to the ontological entities you want your application to access, in addition to the user's own permissions to the data. :::callout{theme="warning" title="Read-time enforcement only"} Row and column access controls (including [restricted views](../../security/restricted-views/index.md), [object security policies](../../object-permissioning/object-security-policies/index.md), and [property security policies](../../security/property-security-markings/index.md)) filter what a user can read through the OSDK. Users can never read data they are not authorized to see. These controls do not extend to the OSDK response payload or to anything your application does with the data. To keep data protected as it flows downstream, pair these controls with a [marking](../../security/markings/index.md) or [Classification-based Access Control](../../security/classification-based-access-controls/index.md). For the full model, see [Access control propagation](../../security/access-control-propagation/index.md). ::: Additionally, TypeScript bindings for frontend development provide a convenient way for developers to quickly build React applications on top of Foundry. ![The Developer Console interface displays the Application SDK overview panel.](../../../assets/3302c41e6690dab02de2c2e971a52c8d0bbd5ac4cb907a61c764666038067dcd.webp) The generated code uses metadata about your Ontology, including property names and descriptions. You can view this metadata directly in your editor. ## Getting started If you define your Ontology in code rather than in the UI, consider creating a [SuperRepo](../../superrepo/overview/index.md) instead of following the steps below. A SuperRepo suits an Ontology and application that evolve together and that you want versioned and released as a single artifact. In a SuperRepo, your object types, links, and actions are declared with [Ontology-as-code](../../superrepo/core-concepts/index.md#ontology-as-code) in the same repository as your [functions](../../functions/overview/index.md) and frontend. The OSDK is generated locally and regenerated whenever those definitions change, so you can extend the Ontology and consume the new types within a single edit-and-preview loop, without republishing an SDK version between each change. To build an application with the OSDK: 1. [Create a new application](../../developer-console/create-application/index.md) in Developer Console 2. Bootstrap your application using one of the language-specific guides: * [TypeScript](../../developer-console/how-to-bootstrapping-typescript/index.md) (or [add OSDK to an existing TypeScript application](../../developer-console/how-to-add-to-existing-typescript/index.md)) * [Python](../../developer-console/how-to-bootstrapping-python/index.md) * [Java](../../developer-console/how-to-bootstrapping-java/index.md) 3. Optionally, [host your application on Foundry](../../developer-console/deploy-custom-application-on-foundry/index.md) If you have an existing application that was bootstrapped without an OSDK, refer to [Add an OSDK to a bootstrapped repository](../add-osdk-to-bootstrapped-repository/index.md) for integration instructions. You can also use the OSDK within [compute modules](../../compute-modules/osdk-integration/index.md) to interact with Foundry ontology objects from containerized applications. ## SDK references This section contains language-specific API reference documentation: * [Java OSDK](../java-osdk/index.md) * [Python OSDK](../python-osdk/index.md) * [Python OSDK migration guide](../python-osdk-migration/index.md) * [TypeScript OSDK](../typescript-osdk/index.md) * [TypeScript OSDK migration guide](../typescript-osdk-migration/index.md) * [Unit testing TypeScript OSDK code](../typescript-osdk-testing/index.md) * [Subscribe to Ontology changes with the TypeScript OSDK](../typescript-subscriptions/index.md) * [Generate OSDK for other languages](../generate-osdk-for-other-languages/index.md) * [Subscribe to Ontology changes via WebSocket](../websocket-subscriptions/index.md) ## Related documentation * [Developer Console overview](../../developer-console/overview/index.md): Create and manage OSDK applications * [OSDK React applications](../../ontology-sdk-react-applications/overview/index.md): Build React applications with OSDK * [Development environment](../../ontology-sdk-react-applications/development/index.md): Set up your development workflow * [SuperRepo](../../superrepo/overview/index.md): Define your Ontology, functions, and application in one pro-code repository, with the OSDK generated from your code definitions * [Install a Developer Console application with Marketplace](../../developer-console/marketplace-installation/index.md): Package and deploy OSDK applications across Foundry environments * [Palantir MCP](../../palantir-mcp/overview/index.md): Work with the Ontology SDK directly from your IDE using AI-assisted development tools