# chrisbanes/accompanist

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/chrisbanes-accompanist).**

7,822 stars · 674 forks · Kotlin · Apache-2.0

## Links

- GitHub: https://github.com/chrisbanes/accompanist
- Homepage: https://google.github.io/accompanist
- awesome-repositories: https://awesome-repositories.com/repository/chrisbanes-accompanist.md

## Description

Accompanist is a Jetpack Compose extension library providing a set of utility components and libraries that fill functional gaps in the declarative UI framework.

The project provides an adaptive layout toolkit for building user interfaces that automatically adjust based on Android screen size and device configuration. It includes a renderer for converting standard Android Drawable assets into formats compatible with a declarative painting system, as well as a manager for requesting and tracking Android system permissions.

## Tags

### Mobile Development

- [Compose UI Extensions](https://awesome-repositories.com/f/mobile-development/compose-ui-extensions.md) — Fills functional gaps in the Jetpack Compose toolkit with additional utilities and components.

### Part of an Awesome List

- [Framework Capability Extensions](https://awesome-repositories.com/f/awesome-lists/devtools/core-and-community-extensions/framework-capability-extensions.md) — Integrates specialized utility libraries to provide functionality not available in the core framework. ([source](https://github.com/chrisbanes/accompanist#readme))
- [UI Libraries and Extensions](https://awesome-repositories.com/f/awesome-lists/devtools/ui-libraries-and-extensions.md) — A set of utility components and libraries that extend the Jetpack Compose declarative UI framework.
- [Runtime Permissions](https://awesome-repositories.com/f/awesome-lists/devtools/runtime-permissions.md) — Simplifies the handling, request, and tracking of Android system permissions.
- [UI Component Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/ui-component-libraries.md) — Collection of essential extension libraries for common UI patterns.

### User Interface & Experience

- [Adaptive UI Layouts](https://awesome-repositories.com/f/user-interface-experience/responsive-layout-adapters/adaptive-ui-layouts.md) — Calculates screen dimensions and size classes at runtime to adapt the interface layout.
- [UI Composition Frameworks](https://awesome-repositories.com/f/user-interface-experience/ui-composition-frameworks.md) — Implements a library of state-aware, modular components that extend the declarative UI construction pattern.
- [UI Framework Extensions](https://awesome-repositories.com/f/user-interface-experience/ui-framework-extensions.md) — Fills functional gaps in the Jetpack Compose toolkit with additional utility components. ([source](https://github.com/chrisbanes/accompanist#readme))
- [Declarative Drawable Integration](https://awesome-repositories.com/f/user-interface-experience/programmatic-element-construction/android-view-lifecycle-tracking/custom-view-rendering/custom-drawables/declarative-drawable-integration.md) — Converts traditional Android Drawable assets for use within a declarative painting system.

### Graphics & Multimedia

- [Asset Renderers](https://awesome-repositories.com/f/graphics-multimedia/android-media-rendering-frameworks/asset-renderers.md) — Converts standard Android Drawable assets into formats compatible with a declarative UI painting system.
- [Drawable Asset Conversion](https://awesome-repositories.com/f/graphics-multimedia/android-media-rendering-frameworks/drawable-asset-conversion.md) — Converts standard Android Drawable assets into formats compatible with a declarative painting system. ([source](https://github.com/chrisbanes/accompanist#readme))

### Security & Cryptography

- [Permission Management](https://awesome-repositories.com/f/security-cryptography/permission-management.md) — Manages the requesting and tracking of Android system permissions within a declarative interface. ([source](https://github.com/chrisbanes/accompanist#readme))
- [Request State Tracking](https://awesome-repositories.com/f/security-cryptography/permission-systems/permission-request-workflows/observable-request-flows/request-state-tracking.md) — Tracks the state of Android runtime permission requests to trigger declarative UI updates.

### Software Engineering & Architecture

- [Imperative-to-Declarative Bridges](https://awesome-repositories.com/f/software-engineering-architecture/imperative-to-declarative-bridges.md) — Provides an architectural bridge to map imperative Android Drawable assets to a declarative graphics pipeline.

### Web Development

- [Lifecycle Effect Synchronizers](https://awesome-repositories.com/f/web-development/side-effect-synchronization/lifecycle-effect-synchronizers.md) — Includes mechanisms to synchronize external Android system events with the UI state via lifecycle-aware hooks.
