Skip to main content

A client library for the AT Protocol (Bluesky)

Project description

Chitose

Python PyPI Read the Docs

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chitose-0.0.11.tar.gz (33.3 kB view details)

Uploaded Source

Built Distribution

chitose-0.0.11-py3-none-any.whl (95.0 kB view details)

Uploaded Python 3

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

Hashes for chitose-0.0.11.tar.gz
Algorithm Hash digest
SHA256 218b8d89cb4fc50011ce4c5d86882dce25f97b957e76ae5b67abeae0f3a701f8
MD5 e6f4fed2b37322626c6d35153b4f67b9
BLAKE2b-256 157b279889e4fd4f9748bf90396b7f1ddb10838f70c7c27dbf0b7a2c4337c1b8

See more details on using hashes here.

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

Hashes for chitose-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 e4c8251655f6472684129f5692d67f56732050f2f5cd58a948a98b425cca8fbe
MD5 75a1bf0879212d8d7d7f8a5953068506
BLAKE2b-256 7bf5ef8d3091ea8d9351da4a70cd0649f9fd6397d01d0b9bebc302de7e05e3c4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page