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.2.0.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

pythonlemmy-0.2.0-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pythonlemmy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 859a55aba7f67efd2862c2fb89504f522d87acf690b258ed74bf06abf1058243
MD5 4d460cb5bb1fc6754f2aded179495d7b
BLAKE2b-256 f92beeb48352d9b4d0b6e1801cc5d5a82e663808f6205b715fd230fa9526fd0a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pythonlemmy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6680412fab15a98a0251ddd2cc0d89f887ef7e55096f2cbecebaff7a21249092
MD5 4f99637db33ed6fe918b54b97682bf75
BLAKE2b-256 253d5feab2cd1979bc66064b83bb8585faf765003ba4d7046fccd8f66cd2083c

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