Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/myConsciousness/atproto.dart
π¦ AT Protocol and Bluesky things for Dart and Flutter.
https://github.com/myConsciousness/atproto.dart
api atproto bluesky dart dartlang flutter github-actions mobile mobile-development sdk social-media tools web wrapper
Last synced: 17 days ago
JSON representation
π¦ AT Protocol and Bluesky things for Dart and Flutter.
- Host: GitHub
- URL: https://github.com/myConsciousness/atproto.dart
- Owner: myConsciousness
- License: bsd-3-clause
- Created: 2023-03-07T11:22:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-23T08:30:13.000Z (6 months ago)
- Last Synced: 2024-05-23T08:31:56.675Z (6 months ago)
- Topics: api, atproto, bluesky, dart, dartlang, flutter, github-actions, mobile, mobile-development, sdk, social-media, tools, web, wrapper
- Language: Dart
- Homepage: https://atprotodart.com
- Size: 29.5 MB
- Stars: 142
- Watchers: 9
- Forks: 11
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-atproto - Dart/Flutter ATProto & BlueSky packages
README
AT Protocol and Bluesky Social Things for Dart/Flutter π¦---
[![GitHub Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=ff69b4)](https://github.com/sponsors/myConsciousness)
[![GitHub Sponsor](https://img.shields.io/static/v1?label=Maintainer&message=myConsciousness&logo=GitHub&color=00acee)](https://github.com/myConsciousness)
[![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos)
[![Reference](https://api.netlify.com/api/v1/badges/f088b033-6670-455e-baa2-1cbb9577ebaa/deploy-status)](https://atprotodart.com)[![Test/Analyzer](https://github.com/myConsciousness/atproto.dart/actions/workflows/cicd.yml/badge.svg)](https://github.com/myConsciousness/atproto.dart/actions/workflows/cicd.yml)
[![codecov](https://codecov.io/gh/myConsciousness/atproto.dart/branch/main/graph/badge.svg?token=J5GT1PF9Y3)](https://codecov.io/gh/myConsciousness/atproto.dart)
[![Issues](https://img.shields.io/github/issues/myConsciousness/atproto.dart?logo=github&logoColor=white)](https://github.com/myConsciousness/atproto.dart/issues)
[![Pull Requests](https://img.shields.io/github/issues-pr/myConsciousness/atproto.dart?logo=github&logoColor=white)](https://github.com/myConsciousness/atproto.dart/pulls)
[![Stars](https://img.shields.io/github/stars/myConsciousness/atproto.dart?logo=github&logoColor=white)](https://github.com/myConsciousness/atproto.dart)
[![Contributors](https://img.shields.io/github/contributors/myConsciousness/atproto.dart)](https://github.com/myConsciousness/atproto.dart/graphs/contributors)
[![Code size](https://img.shields.io/github/languages/code-size/myConsciousness/atproto.dart?logo=github&logoColor=white)](https://github.com/myConsciousness/atproto.dart)
[![Last Commits](https://img.shields.io/github/last-commit/myConsciousness/atproto.dart?logo=git&logoColor=white)](https://github.com/myConsciousness/atproto.dart/commits/main)
[![License](https://img.shields.io/github/license/myConsciousness/atproto.dart?logo=open-source-initiative&logoColor=green)](https://github.com/myConsciousness/atproto.dart/blob/main/LICENSE)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/myConsciousness/atproto.dart/blob/main/CODE_OF_CONDUCT.md)---
- [1. Motivation πͺ](#1-motivation-)
- [2. Packages \& Tools βοΈ](#2-packages--tools-οΈ)
- [2.1. Dart Packages](#21-dart-packages)
- [2.2. CLI Tool](#22-cli-tool)
- [2.3. GitHub Actions Workflow](#23-github-actions-workflow)
- [3. Developer Quickstart ποΈ](#3-developer-quickstart-οΈ)
- [3.1. Clone Project](#31-clone-project)
- [3.2. Install Melos](#32-install-melos)
- [3.3. Setup Project](#33-setup-project)
- [3.4. Useful Commands](#34-useful-commands)
- [4. Who is using atproto.dart? π](#4-who-is-using-atprotodart-)
- [5. Contribution π](#5-contribution-)
- [6. Contributors β¨](#6-contributors-)
- [7. Support β€οΈ](#7-support-οΈ)
- [8. License π](#8-license-)
- [9. More Information π§](#9-more-information-)Welcome to **[atproto.dart](https://atprotodart.com)** π¦
This project will **_maximize your development productivity_** about [AT Protocol](https://atproto.com) and [Bluesky](https://blueskyweb.xyz) things.
**_Give a β on [GitHub repository](https://github.com/myConsciousness/atproto.dart) and follow [shinyakato.dev](https://bsky.app/profile/shinyakato.dev) on Bluesky!_**
## 1. Motivation πͺ
[AT Protocol](https://atproto.com) and [Bluesky](https://blueskyweb.xyz) are awesome.
This wonderful platform needs a standard and highly integrated SDK.
**[atproto.dart](https://atprotodart.com)** provides the best development experience in such matters for Dart/Flutter devs.## 2. Packages & Tools βοΈ
### 2.1. Dart Packages
| Package | pub.dev | Docs |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| **[at_identifier](https://github.com/myConsciousness/atproto.dart/tree/main/packages/at_identifier)**: core library for the syntax in the AT Protocol standard | [![pub package](https://img.shields.io/pub/v/at_identifier.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/at_identifier) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/at_identifier/README.md) |
| **[nsid](https://github.com/myConsciousness/atproto.dart/tree/main/packages/nsid)**: core library for parsing [NSIDs](https://atproto.com/specs/nsid) in the AT Protocol standard | [![pub package](https://img.shields.io/pub/v/nsid.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/nsid) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/nsid/README.md) |
| **[at_uri](https://github.com/myConsciousness/atproto.dart/tree/main/packages/at_uri)**: core library for parsing [AT URI](https://atproto.com/specs/at-uri-scheme) in the AT Protocol standard | [![pub package](https://img.shields.io/pub/v/at_uri.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/at_uri) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/at_uri/README.md) |
| **[xrpc](https://github.com/myConsciousness/atproto.dart/tree/main/packages/xrpc)**: core library for [XRPC](https://atproto.com/specs/xrpc) communication, wrapped HTTP client | [![pub package](https://img.shields.io/pub/v/xrpc.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/xrpc) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/xrpc/README.md) |
| **[multiformats](https://github.com/myConsciousness/atproto.dart/tree/main/packages/multiformats)**: core library for parsing [IPFS](https://ipfs.tech)-related things | [![pub package](https://img.shields.io/pub/v/multiformats.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/multiformats) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/multiformats/README.md) |
| **[atproto_core](https://github.com/myConsciousness/atproto.dart/tree/main/packages/atproto_core)**: core library for clients and tools | [![pub package](https://img.shields.io/pub/v/atproto_core.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/atproto_core) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/atproto_core/README.md) |
| **[lexicon](https://github.com/myConsciousness/atproto.dart/tree/main/packages/lexicon)**: core library for parsing [Lexicon](https://atproto.com/guides/lexicon) in the AT Protocol standard | [![pub package](https://img.shields.io/pub/v/lexicon.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/lexicon) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/lexicon/README.md) |
| **[did_plc](https://github.com/myConsciousness/atproto.dart/tree/main/packages/did_plc)**: client library for [plc.directory](https://web.plc.directory) endpoints | [![pub package](https://img.shields.io/pub/v/did_plc.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/did_plc) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/did_plc/README.md) |
| **[atproto](https://github.com/myConsciousness/atproto.dart/tree/main/packages/atproto)**: client library for `com.atproto.*` endpoints | [![pub package](https://img.shields.io/pub/v/atproto.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/atproto) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/atproto/README.md) / [GUIDE](https://atprotodart.com/docs/packages/atproto) |
| **[bluesky](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky)**: client library for `com.atproto.*`, `app.bsky.*` and `chat.bsky.*` endpoints | [![pub package](https://img.shields.io/pub/v/bluesky.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/bluesky) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky/README.md) / [GUIDE](https://atprotodart.com/docs/packages/bluesky) |
| **[bluesky_text](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_text)**: library for parsing Bluesky text (mentions, links, tags, etc) | [![pub package](https://img.shields.io/pub/v/bluesky_text.svg?logo=dart&logoColor=00b9fc)](https://pub.dartlang.org/packages/bluesky_text) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_text/README.md) / [GUIDE](https://atprotodart.com/docs/packages/bluesky_text) |### 2.2. CLI Tool
| Tool | Install | Docs |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------: | :------------------------------------------------------------------------------------------------: |
| **[bluesky_cli](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_cli)**: command line tool for `app.bsky.*` endpoints | `dart pub global activate bluesky_cli` | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_cli/README.md) |### 2.3. GitHub Actions Workflow
| Workflow | Marketplace | Docs |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| **[bluesky_post](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_post)**: workflow for scheduled post to Bluesky from GitHub Actions | [![bluesky-post](https://img.shields.io/static/v1?label=actions&message=myConsciousness/bluesky-post&logo=GitHub&color=00acee)](https://github.com/marketplace/actions/send-bluesky-post) | [README](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_post/README.md) |## 3. Developer Quickstart ποΈ
This project consists of several packages and is managed using [Melos](https://github.com/invertase/melos).
The [Melos](https://github.com/invertase/melos) commands makes it easy to set up this project.### 3.1. Clone Project
```bash
git clone https://github.com/myConsciousness/atproto.dart.git
```### 3.2. Install Melos
First you need to clone this project and install [Melos](https://github.com/invertase/melos) with following command.
```bash
dart pub global activate melos
```### 3.3. Setup Project
Then you just execute `setup` command as follows.
The `setup` command easily solves all the initial setup when cloning this huge project.```bash
melos setup
```### 3.4. Useful Commands
| Command | Description |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **melos setup** | Set up the atproto.dart project when cloned. Run `dart pub get` and `dart run build_runner build` in all Dart packages. |
| **melos get** | Run `dart pub get` command in all packages. |
| **melos analyze** | Run `dart analyze` in all packages. |
| **melos fmt** | Run `dart format` and `dart run import_sorter:main` in all packages. |
| **melos build** | Run `dart run build_runner build` in all packages. |
| **melos test** | Run all Dart tests in this project. |## 4. Who is using atproto.dart? π
The following projects/services are using atproto.dart packages:
- **[APOD BOT](https://bsky.app/profile/apod.shinyakato.dev)** (bot) maintained by [@shinyakato.dev](https://bsky.app/profile/shinyakato.dev)
- **[SkyFeed](https://skyfeed.app)** (web) maintained by [@redsolver.dev](https://bsky.app/profile/redsolver.dev)
- **[SkyBridge](https://skybridge.fly.dev)** (proxy) maintained by [@videah.net](https://bsky.app/profile/videah.net)
- **[SkyClad](https://github.com/igz0/skyclad)** (mobile) maintained by [@igz0.bsky.social](https://bsky.app/profile/igz0.bsky.social)
- **[deck.blue](https://deck.blue)** (web) maintained by [@deck.blue](https://bsky.app/profile/deck.blue)
- **[SkyThrow](https://skythrow.com/)** (mobile) maintained by [@rukari.bsky.social](https://bsky.app/profile/rukari.bsky.social), [@hidea.bsky.social](https://bsky.app/profile/hidea.bsky.social)You can see more at [showcase](https://atprotodart.com/showcase), special thanks!
## 5. Contribution π
If you would like to contribute to **atproto.dart**, please create an [issue](https://github.com/myConsciousness/atproto.dart/issues) or create a Pull Request.
There are many ways to contribute to the OSS. For example, the following subjects can be considered:
- There are request parameters or response fields that are not implemented.
- Documentation is outdated or incomplete.
- Have a better way or idea to achieve the functionality.
- etc...You can see more details from resources below:
- [Contributor Covenant Code of Conduct](https://github.com/myConsciousness/atproto.dart/blob/main/CODE_OF_CONDUCT.md)
- [Contribution Guidelines](https://github.com/myConsciousness/atproto.dart/blob/main/CONTRIBUTING.md)
- [Style Guide](https://github.com/myConsciousness/atproto.dart/blob/main/STYLEGUIDE.md)Or you can create a [discussion](https://github.com/myConsciousness/atproto.dart/discussions) if you like.
**Feel free to join this development, diverse opinions make software better!**
## 6. Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Shinya Kato / ε θ€ ηδΉ
π» π π π π£ π¨ π‘ π π§ π π£ π π‘οΈ π§ β οΈ β
tacsotai
π€
Luke Pighetti
π€ π
Alice
π€ π¦
videah
π€ π π¦ π¬ π
redsolver
π€ π π¬
Shy Ruparel
π€
Julien "uj" Abadji
π»
maughtchiner
π€ π
igz0
π€ π
GildΓ‘sio Filho
π» π β οΈ π€
YU-KI Hidea
π» π π¦
Covalent
π€
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## 7. Support β€οΈ
The simplest way to show us your support is by **giving the project a star** at [GitHub](https://github.com/myConsciousness/atproto.dart) and [Pub.dev](https://pub.dev/packages/bluesky).
You can also support this project by **becoming a sponsor** on GitHub:
## 8. License π
The source code provided in this monorepo is provided under the `BSD-3` license.
```license
Copyright 2023 Shinya Kato. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided the conditions.
```> **Note**
> License notices in the source are strictly validated based on `.github/header-checker-lint.yml`. Please check [header-checker-lint.yml](https://github.com/myConsciousness/atproto.dart/tree/main/.github/header-checker-lint.yml) for the permitted standards.## 9. More Information π§
All resources in **atproto.dart** is maintained by **_Shinya Kato ([@myConsciousness](https://github.com/myConsciousness))_**.
- [@shinyakato.dev](https://bsky.app/profile/shinyakato.dev)
- [Creator Profile](https://github.com/myConsciousness)
- [License](https://github.com/myConsciousness/atproto.dart/blob/main/LICENSE)
- [API Document](https://pub.dev/documentation/bluesky/latest/bluesky/bluesky-library.html)
- [Release Note](https://github.com/myConsciousness/atproto.dart/releases)
- [Bug Report](https://github.com/myConsciousness/atproto.dart/issues)