pkg.soopen package index

brew / rank 12231

Install typeshare with Homebrew, Nix

Synchronize type definitions between Rust and other languages for seamless FFI. Version 1.13.4 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#typeshare.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install typeshare

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#typeshare

nixpkgs package indexes · pkgs/by-name/ty/typeshare/package.nix · source: api.github.com

overview

Package summary

Synchronize type definitions between Rust and other languages for seamless FFI

Commands and aliases

  • typeshare

history

Project history and usage

Typeshare is a Rust-based developer tool from 1Password for generating matching type definitions in other languages from Rust source types. In package-manager catalogs it occupies the code-generation and FFI niche: a small command-line utility installed as `typeshare` for teams that want Rust-owned schemas to drive Swift, Kotlin, Scala, TypeScript, Go, or Python bindings.

Project history

The public GitHub repository was created in September 2022 under the 1Password organization. Its README describes the project as a way to remove the manual work of keeping FFI-facing Rust types synchronized with equivalent forms in other languages, using serde-oriented Rust definitions and a `#[typeshare]` annotation model.

By the 1.x series the project was organized as several Rust crates, including `typeshare`, `typeshare-core`, `typeshare-annotation`, and `typeshare-cli`. The README points users to a dedicated Typeshare book and documents command-line generation into Kotlin, Swift, Scala, and TypeScript files, with Go and Python marked as experimental in the official README.

Adoption history

Official public adoption evidence is mostly packaging and registry based rather than a broad ecosystem narrative. The input package facts list Homebrew and Nix packaging, while the upstream README advertises crates.io crates and the `cargo install typeshare-cli` path.

The project remained active after its initial publication: GitHub release metadata shows 2024 and 2025 1.x releases, including v1.13.4 published in December 2025.

How it is used

A typical use is to mark Rust structs and enums with `#[typeshare]`, then run `typeshare ./my_rust_project --lang=typescript --output-file=...` or an equivalent target-language command. The generated files become the foreign-language side of a Rust-centered serialization or FFI boundary.

Why package nerds care

Typeshare matters to package nerds because it turns a cross-language type-sync problem into an installable CLI workflow. It is especially relevant in Rust-heavy shops where package recipes, CI jobs, and generated artifacts need to keep mobile, web, and backend type definitions aligned without maintaining separate schema sources.

Timeline

  • 2022: Public GitHub repository created under 1Password.
  • 2024: v1.11.0 and v1.12.0 releases published.
  • 2025: v1.13.4 published on GitHub releases.

Related projects

  • The README positions Typeshare around Rust, serde, and FFI/code-generation workflows rather than as a general serialization framework. It is related in practice to Rust procedural-macro crates and schema/codegen tools used to share types across language boundaries.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:sync

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
typeshareexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version1.13.4
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:typeshare
Version1.13.4
Package managerHomebrew
Homepagehttps://github.com/1Password/typeshare
Repositoryhttps://github.com/1Password/typeshare
Bottlenot recorded
Servicenone declared

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

typeshare

nix profile install nixpkgs#typeshare
  • normalized package name match
  • Matched by: Typeshare
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ty/typeshare/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation