Skip to main content

Unofficial dev.to api for python

Project description

PyDevTo

Unofficial dev.to api for python.

Features

  • Implements all endpoints from https://docs.dev.to/api/
  • Implements a few other api endpoints not documented but available in the source, such as users and follow_suggestions
  • Includes a helper method to convert html to dev.to specific markdown, including support for dev.to specific embeds such as YouTube.

Installation

Use the package manager pip to install pydevto.

pip install pydevto

Usage

Make sure you have an api key to use the authenticated endpoints. You can get your key from https://dev.to/settings/account (You can use pydevto without an api key for some functions, such as the public articles)

import pydevto
api = pydevto.PyDevTo(api_key='MY_KEY')
api.articles()  # returns list of your own published articles

Methods

import pydevto
api = pydevto.PyDevTo(api_key='MY_KEY')
api.public_articles(page=None, tag=None, username=None, state=None, top=None)  # Return list of public (published) articles
api.public_article(id)  # Return a single public (published) article given its id
api.articles(page=None, per_page=None, state="published")  # Return a list of user articles
api.create_article(...)  # Create an article
api.update_article(id, ...)  # Update an article
api.user(id=None, username=None)  # Return user information
api.follow_suggestions(page=None)  # Return list of follow suggestions
api.tags(page=None)  # Return list of tags
api.webhooks()  # Return list of webhooks
api.webhook(id)  # Return single webhook with id
api.create_webhook(source, target_url, events)  # Create a new webhook
api.delete_webhook(id)  # Delete  a webhook with id

Html to Markdown

PyDevTo contains a helper function to convert html to dev.to specific markdown (https://dev.to/p/editor_guide) It supports images with captions using the HTML figcaption tag, and converts embeds such as YouTube to dev.to specific liquid tags.

>>> import pydevto
>>> pydevto.html_to_markdown('<h1>Heading</h1') 
>>> '# Heading\n\n'
>>> pydevto.html_to_markdown('<iframe src="https://www.youtube.com/embed/kmjiUVEMvI4"></iframe>') 
>>> '\n{% youtube kmjiUVEMvI4 %}\n'  

Known issues

  • The tags property does not currently work correctly when creating/updating an article. There is an open issue report on dev.to for this.
  • The html to markdown only caters for a subset of embeds (YouTube, Twitter, repl.it, soundcloud and a few more), more will be added over time.

Contributing

Pull requests and issue reports are welcome.

License

MIT

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

pydevto-0.1.5.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydevto-0.1.5-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file pydevto-0.1.5.tar.gz.

File metadata

  • Download URL: pydevto-0.1.5.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Windows/10

File hashes

Hashes for pydevto-0.1.5.tar.gz
Algorithm Hash digest
SHA256 91137b0ccaf18af0897029151a09da0240bc65d7c17c240b77df75b8bcf2cb3c
MD5 af42198a32eb76fa92dae2a69ea396a1
BLAKE2b-256 f07fb8ac5c40bb21579c7023ab191c3a2b2e39168432cb683d90340cd40b11ee

See more details on using hashes here.

File details

Details for the file pydevto-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: pydevto-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Windows/10

File hashes

Hashes for pydevto-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bffef0f20d0f26cd01aa36219a2cd804a09b78c491915d6c43c844c9525598d5
MD5 c98399f7a8345b0075f21c28eec70914
BLAKE2b-256 ba576be230a501752d151839b81311847c78d6bd570a7b6a78e4ff2fc0e663e5

See more details on using hashes here.

Supported by

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