This is an Elixir client for the Bluesky / AT protocol.
make build
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")
See Hexdocs.
This project uses credo and formatter for style consistency. Please run
mix format
and
mix credo -a --strict
before committing changes.
Typespecs are validated through dialyzer.
mix dialyzer
As a shortcut, you can run
make lint
to run all three of the above commands before authoring a commit.
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
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.
MIT