# Inrupt Solid Client **Inrupt Solid Client** (`@inrupt/solid-client`) is the official JavaScript/TypeScript SDK from Inrupt for interacting with [[Solid]] pods. It provides high-level abstractions over the [[Solid Protocol]] for reading, writing, and managing data. ## Overview - **Maintainer**: Inrupt (company co-founded by Tim Berners-Lee) - **Language**: TypeScript (compiles to JavaScript) - **Runtime**: Browser and Node.js - **License**: MIT - **Status**: Active, production-ready ## Key Features - **Type-safe API**: First-class TypeScript support - **RDF Abstractions**: Work with `Things`, `Datasets`, and properties without dealing with raw RDF - **WAC Management**: Read and write [[Web Access Control (WAC)]] permissions - **Resource Operations**: CRUD on Solid resources and containers - **Authentication Helpers**: Pairs with `@inrupt/solid-client-authn-*` packages for [[Solid OIDC]] - **Vocabulary Support**: Built-in helpers for common RDF vocabularies (FOAF, Schema.org, etc.) ## Companion Packages | Package | Purpose | |---------|---------| | `@inrupt/solid-client` | Core data access | | `@inrupt/solid-client-authn-browser` | Browser authentication | | `@inrupt/solid-client-authn-node` | Node.js authentication | | `@inrupt/solid-ui-react` | React components (see [[Solid React]]) | | `@inrupt/vocab-common-rdf` | Common RDF vocabulary constants | ## Common Usage ```javascript import { getSolidDataset, getThing, getStringNoLocale, } from "@inrupt/solid-client"; import { FOAF } from "@inrupt/vocab-common-rdf"; const dataset = await getSolidDataset(webId, { fetch }); const profile = getThing(dataset, webId); const name = getStringNoLocale(profile, FOAF.name); ``` ## Use Cases - Building Solid-compliant applications - Reading/writing data in user pods - Managing access control programmatically - Working with [[WebID]] profiles - Foundation for [[Solid React]] and other Inrupt tooling ## Resources - Documentation: https://docs.inrupt.com/developer-tools/javascript/client-libraries/ - API Reference: https://docs.inrupt.com/developer-tools/api/javascript/solid-client/ - GitHub: https://github.com/inrupt/solid-client-js - npm: https://www.npmjs.com/package/@inrupt/solid-client ## References - https://docs.inrupt.com/developer-tools/javascript/client-libraries/ ## Related - [[Solid]] - [[Solid Protocol]] - [[Solid React]] - [[Solid.js]] - [[Solid OIDC]] - [[Web Access Control (WAC)]]