# airbnb/paris

Define and apply styles to Android views programmatically

Repository: https://github.com/airbnb/paris
Canonical: https://ross.abutalabs.com/products/paris
Language: Kotlin
License: Apache-2.0
License Family: permissive
Topics: android, android-ui, styles, design-systems, kotlin
Last push: 2025-11-03T21:19:37+00:00

## Health v2 (maintenance only)
Score: 62/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 50, release rhythm 55, longevity 100
- inputs: {"age_days": 3180, "days_push": 303, "days_rel": 303, "gap_med": 15.0, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1908, forks 86 (observed 2026-08-28T04:05:52.688581+00:00)

## What it is
Paris is an Android library by Airbnb for defining and applying styles to views programmatically in Kotlin or Java, including support for custom attributes via annotations and code generation. It allows combining multiple styles, creating styles without XML, and declaring style support for custom views.

## Use cases
- apply styles to android views programmatically
- define android styles in kotlin instead of xml
- combine multiple styles on a view at runtime
- support custom styleable attributes on custom views
- build a design system for android ui

## When to choose
- you need to restyle views dynamically at runtime
- you want to define styles in code rather than XML resources
- you're building a reusable component library with styled custom views

## When to avoid
- your styling is fully static and XML styles suffice
- you're not developing for Android

## Facets
- artifact type: library
- maturity: active
- function: ui-components, developer-tools
- domain: mobile-development, android-tools, web-design
- platform: jvm
- tags: android-views, styling, design-systems, kotlin-annotations, code-generation, android

## Member repositories
- airbnb/paris (main) score 62

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:52.688581+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:11:12.004075+00:00, confidence not recorded.
  - readme: https://github.com/airbnb/paris (fetched 2026-08-28T04:05:52.688581+00:00, sha e8418279962f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
