A client library for the AT Protocol (Bluesky)
Project description
Chitose
Chitose is a Python client library for the AT Protocol (Bluesky).
Usage
The API of Chitose is similar to the ATP API.
For example, you can use get_timeline()
in BskyAgent
to get the timeline as shown below. Replace YOUR_USERNAME
and YOUR_PASSWORD
with your username and your password respectively:
$ git clone https://github.com/mnogu/chitose.git
$ cd chitose
$ python3 -m pip install -r requirements.txt
$ python3
>>> from chitose import BskyAgent
>>> agent = BskyAgent(service='https://bsky.social')
>>> agent.login(identifier='YOUR_USERNAME', password='YOUR_PASSWORD')
>>> agent.get_timeline(limit=1)
For available methods in BskyAgent
, refer to the documentation of BskyAgent
.
Alternatively, you can use app.bsky.feed.get_timeline()
as in the advanced API calls:
$ git clone https://github.com/mnogu/chitose.git
$ cd chitose
$ python3 -m pip install -r requirements.txt
$ python3
>>> from chitose import BskyAgent
>>> agent = BskyAgent(service='https://bsky.social')
>>> agent.login(identifier='YOUR_USERNAME', password='YOUR_PASSWORD')
>>> agent.app.bsky.feed.get_timeline(limit=1)
You can also post with com.atproto.repo.create_record()
:
from datetime import datetime
from datetime import timezone
from chitose import BskyAgent
from chitose.app.bsky.feed.post import Post
agent = BskyAgent(service='https://example.com')
agent.login(identifier='alice@mail.com', password='hunter2')
record = Post(text='Hello, world!',
created_at=datetime.now(timezone.utc).isoformat())
agent.com.atproto.repo.create_record(
repo=alice.did, collection='app.bsky.feed.post', record=record)
See also the examples
directory for sample code.
Documentation
For all the functions and classes available in Chitose, refer to the Chitose’s documentation.
Install
While you can use Chitose without installing its Python package, you can install the package:
$ python3 -m pip install chitose
Alternatively, you can build a Python package and install it:
$ git clone https://github.com/mnogu/chitose.git
$ cd chitose
$ python3 -m pip install -r requirements.txt
$ python3 -m pip install --upgrade build
$ python3 -m build
$ python3 -m pip install dist/chitose-*-py3-none-any.whl
Generating Code
Most source files of Chitose are generated from the Lexicon files in the atproto
directory, and you can generate Python code from these files by yourself:
$ git clone --recursive https://github.com/mnogu/chitose.git
$ cd chitose
$ python3 generate.py
You can also update the atproto
directory and regenerate Python code:
$ git submodule update --remote atproto
$ python3 generate.py
You may want to add new Python code to the repository or update the documentation:
$ git add chitose
$ git commit
$ python3 -m pip install -r docs/source/requirements.txt
$ cd docs
$ sphinx-apidoc -o ./source ../chitose -f
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file chitose-0.0.11.tar.gz
.
File metadata
- Download URL: chitose-0.0.11.tar.gz
- Upload date:
- Size: 33.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 218b8d89cb4fc50011ce4c5d86882dce25f97b957e76ae5b67abeae0f3a701f8 |
|
MD5 | e6f4fed2b37322626c6d35153b4f67b9 |
|
BLAKE2b-256 | 157b279889e4fd4f9748bf90396b7f1ddb10838f70c7c27dbf0b7a2c4337c1b8 |
File details
Details for the file chitose-0.0.11-py3-none-any.whl
.
File metadata
- Download URL: chitose-0.0.11-py3-none-any.whl
- Upload date:
- Size: 95.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4c8251655f6472684129f5692d67f56732050f2f5cd58a948a98b425cca8fbe |
|
MD5 | 75a1bf0879212d8d7d7f8a5953068506 |
|
BLAKE2b-256 | 7bf5ef8d3091ea8d9351da4a70cd0649f9fd6397d01d0b9bebc302de7e05e3c4 |