Skip to content

cribbles/bluesky_ex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlueskyEx

This is an Elixir client for the Bluesky / AT protocol.

Installation

make build

Usage

Here's an example CLI session:

make console
username = "username"
password = "password"
pds = "https://bsky.social"

creds = %BlueskyEx.Client.Credentials{
  username: username,
  password: password
}
session = BlueskyEx.Client.Session.create(creds, pds)

# Fetch 15 skeets from the timeline
popular = BlueskyEx.Client.RecordManager.get_timeline(session, limit: 15)

# Make a skeet with the text content "skeet"
post = BlueskyEx.Client.RecordManager.create_post(session, text: "skeet")

API reference

See Hexdocs.

Contributing

Formatting

This project uses credo and formatter for style consistency. Please run

mix format

and

mix credo -a --strict

before committing changes.

Type checking

Typespecs are validated through dialyzer.

mix dialyzer

Helpers

As a shortcut, you can run

make lint

to run all three of the above commands before authoring a commit.

Guidelines

Testing

All public functions "should" be tested exhaustively, but coverage is spotty right now -- contributions are welcome.

You can run the test suite with

make test-unit

Documentation

All public modules and their functions should be documented with the appropriate typespecs.

This library uses ExDoc conventions for documentation. You can run

make docs

to build the docs and open them in your local environment.

License

MIT

Releases

No releases published

Packages

No packages published