Skip to main content

A Python package for accessing the LemmyHttp API

Project description

Pythonlemmy: a Python package for accessing the Lemmy API

drawing

PyPI version GitHub license

Pythonlemmy allows you to interact with any Lemmy instance using Python and the LemmyHttp API.

Pythonlemmy is a fork of plemmy that uses automatic code generation to keep the models and client as up to date as possible. The aim is to maintain an interface similar to plemmy.

WARNING: Pythonlemmy is still in development and needs testing!

Installation

A PyPI repository is updated whenever a new version is available:

python -m pip install pythonlemmy

Basic usage

Interact with a Lemmy instance using the LemmyHttp object:

from pythonlemmy import LemmyHttp

# create object for Lemmy.world, log in
srv = LemmyHttp("https://lemmy.world")
srv.login("<username_or_email>", "<password>")

Access specific communities:

from pythonlemmy.responses import GetCommunityResponse

# obtain community, parse JSON
api_response = srv.get_community(name="Lemmy")
response = GetCommunityResponse(api_response)

# community info
community = response.community_view.community
print(community.name)
print(community.actor_id)
print(community.id)

# list community moderators
for person in response.moderators:
    print(person.moderator.name, person.community.name)

Create a post:

from pythonlemmy.responses import PostResponse

# create post, parse JSON
api_response = srv.create_post(community.id, "Test post please ignore", "Body text")
response = PostResponse(api_response)

# post info
post = response.post_view.post
print(post.creator_id)
print(post.community_id)
print(post.name)
print(post.body)

Full documentation is on its way, but in the meantime check out our source code and some examples.

Reporting issues, making contributions, etc.

Don't hesitate to report a bug or unexpected results! Want to contribute? Make a pull request.

Credits

Pythonlemmy is a fork of plemmy, and credit for the structure and supporting functionality goes to its authors. The client files (objects, views, responses, and lemmyhttp methods) are generated from parsing the source files of the lemmy-js-client project. Documentation is automatically generated using the lemmy_openapi_spec project.

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

pythonlemmy-0.3.0.tar.gz (42.2 kB view details)

Uploaded Source

Built Distribution

pythonlemmy-0.3.0-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

Details for the file pythonlemmy-0.3.0.tar.gz.

File metadata

  • Download URL: pythonlemmy-0.3.0.tar.gz
  • Upload date:
  • Size: 42.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pythonlemmy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3084a0c53fe286e37be72c3f06b20e02a768d17cfdf1cf2b7fb8ba7557f09b4a
MD5 e5373743d66915b9a58f9bb4ca297469
BLAKE2b-256 4f461f1f29dd838a2b26d76f56f6f0ae6e6a81e4d2fec19423ba56794ebe16c0

See more details on using hashes here.

File details

Details for the file pythonlemmy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pythonlemmy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pythonlemmy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63baa9a50ff73f8aa3a10f30baac2ed657f582ec26944b9c0dfa95b18075c429
MD5 9fda5d069e1d6c13955ea88d56049848
BLAKE2b-256 ee39c1bebf3ffcfff906698c52778e42cadd7dbdc0b6dec9f655f6ce5c4ebdfe

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