All Projects → enginebai → Pymedium

enginebai / Pymedium

Licence: mit
Unofficial Medium Python Flask API and SDK

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pymedium

Pymessager
Python API to develop chatbot on Facebook Messenger Platform
Stars: ✭ 580 (+279.08%)
Mutual labels:  api, flask, sdk
Flickr Sdk
Almost certainly the best Flickr API client in the world for node and the browser
Stars: ✭ 104 (-32.03%)
Mutual labels:  api, sdk
Go Sdk
A composable toolbox of libraries to build everything from CLIs to enterprise applications.
Stars: ✭ 103 (-32.68%)
Mutual labels:  api, sdk
Iextrading4j
IEX Cloud open source API wrapper
Stars: ✭ 112 (-26.8%)
Mutual labels:  api, sdk
Carbon Api
Unofficial API for generating beautiful images of your source code using Carbon.
Stars: ✭ 89 (-41.83%)
Mutual labels:  api, flask
Amadeus Node
Node library for the Amadeus Self-Service travel APIs
Stars: ✭ 91 (-40.52%)
Mutual labels:  api, sdk
Dualsense Windows
Windows API for the PS5 DualSense controller
Stars: ✭ 111 (-27.45%)
Mutual labels:  api, sdk
Uploadcare Php
PHP API client that handles uploads and further operations with files by wrapping Uploadcare Upload and REST APIs.
Stars: ✭ 77 (-49.67%)
Mutual labels:  api, sdk
Sdk Js
Directus JS SDK — JavaScript Software Development Kit for Node and Browser
Stars: ✭ 117 (-23.53%)
Mutual labels:  api, sdk
30 Days Of Python
Learn Python for the next 30 (or so) Days.
Stars: ✭ 1,748 (+1042.48%)
Mutual labels:  api, flask
Appkernel
API development made easy: a smart Python 3 API framework
Stars: ✭ 152 (-0.65%)
Mutual labels:  api, flask
Deep Learning Training Gui
Train and predict your model on pre-trained deep learning models through the GUI (web app). No more many parameters, no more data preprocessing.
Stars: ✭ 85 (-44.44%)
Mutual labels:  api, flask
Bhagavadgita
A non-profit initiative to help spread the transcendental wisdom from the Bhagavad Gita to people around the world.
Stars: ✭ 84 (-45.1%)
Mutual labels:  api, flask
Shopify Api Php
🚀 Shopify API Client for PHP
Stars: ✭ 100 (-34.64%)
Mutual labels:  api, sdk
Terraformize
Apply\Destory Terraform modules via a simple REST API endpoint.
Stars: ✭ 84 (-45.1%)
Mutual labels:  api, flask
Flask Graphene Sqlalchemy
⚗️Project template to build a GraphQL API in Python
Stars: ✭ 109 (-28.76%)
Mutual labels:  api, flask
Jiosaavnapi
An unofficial API for JioSaavn written in Python 3
Stars: ✭ 123 (-19.61%)
Mutual labels:  api, flask
Modio Sdk Legacy
SDK for integrating mod.io into your game - a modding API for game developers
Stars: ✭ 75 (-50.98%)
Mutual labels:  api, sdk
Huobi golang
Go SDK for Huobi Spot API
Stars: ✭ 76 (-50.33%)
Mutual labels:  api, sdk
Ios Pdk
Pinterest iOS SDK
Stars: ✭ 114 (-25.49%)
Mutual labels:  api, sdk

PyMedium - Unofficial Medium API

License: MIT PyPI

PyMedium

PyMedium is an unofficial Medium API written in python flask. It provides developers to access to user, post list and detail information from Medium website. This is a read-only API to access public information from Medium, you can customize this API to fit your requirements and deploy on your own server.

Installation

Before running PyMedium API, you have to clone the code from this repository, install requirements at first.

$ git clone [email protected]:enginebai/PyMedium.git
$ cd PyMedium
$ pip install -r requirements.txt

Then download web driver to driver folder from Selenium or via the command-line with curl (update {VERSION} with the latest version code and {OS} with your server operating system.

$ mkdir driver | cd driver
$ curl -O https://chromedriver.storage.googleapis.com/{VERSION}/chromedriver_{OS}.zip
$ unzip chromedriver_{OS}.zip

Usage

To run this API application, use the flask command as same as Flask Quickstart

$ export FLASK_APP=./pymedium/api.py
$ export FLASK_DEBUG=1 ## if you run in debug mode.
$ flask run
 * Running on http://localhost:5000/

Documentation

Users

  • GET /@{username} - Get user profile

Response

{
  "avatar": "1*Y7zH0UM975YmchIO86uIGA.jpeg",
  "bio": "Mixtape of developer, designer and startup. Cofounder and developer of DualCores Studio. Follow my technical blog: http://enginebai.logdown.com/",
  "display_name": "Engine Bai",
  "facebook": "789985027713671",
  "followedby_count": 445,
  "following_count": 238,
  "publications": [
    {
      "creator_user_id": "3301d32a6bba",
      "description": "Stories from the mix of designer and developer. 設計與工程的交織,混搭激盪出不同的想像。",
      "display_name": "DualCores Studio",
      "follower_count": 302,
      "image": {
        "image_id": "1*DLixNgsMpK5B74na3EDucQ.png",
        "original_height": 591,
        "original_width": 591
      },
      "logo": {
        "image_id": "1*DLixNgsMpK5B74na3EDucQ.png",
        "original_height": 591,
        "original_width": 591
      },
      "name": "dualcores-studio",
      "post_count": 0,
      "publication_id": "275e26e7c1b2",
      "url": "https://medium.com/dualcores-studio"
    },
    ...more
  ],
  "twitter": "enginebai",
  "user_id": "3301d32a6bba",
  "username": "enginebai"
}

Publication

  • GET /{publication_name} - Get publication profile
{
  "creator_user_id": "3301d32a6bba",
  "description": "Stories from the mix of designer and developer. 設計與工程的交織,混搭激盪出不同的想像。",
  "display_name": "DualCores Studio",
  "follower_count": 302,
  "image": {
    "image_id": "1*DLixNgsMpK5B74na3EDucQ.png",
    "original_height": 591,
    "original_width": 591
  },
  "logo": {
    "image_id": "1*DLixNgsMpK5B74na3EDucQ.png",
    "original_height": 591,
    "original_width": 591
  },
  "name": "dualcores-studio",
  "post_count": 0,
  "publication_id": "275e26e7c1b2",
  "url": "https://medium.com/dualcores-studio"
}

Post

  • GET /@{username}/posts - Get user latest posts
  • GET /{publication_name}/posts - Get publication latest posts
  • GET /top - Get most popular today posts
  • GET /tags/{tag} - Get tagged in popular posts
  • GET /tags/{tag}/latest - Get tagged in latest posts

Parameters

Name Type Description
n integer The count of posts to return. Default is 10.

Response

[
  {
    "image_count": 14,
    "post_date": 1478533474858,
    "post_id": "99a3d86df228",
    "preview_image": {
      "image_id": "1*zhnQJhNzp-Oal1-GU1EUKw.png",
      "original_height": 412,
      "original_width": 608
    },
    "read_time": 7.74811320754717,
    "recommend_count": 351,
    "response_count": 10,
    "title": "Make an android custom view, publish and open source.",
    "url": "https://medium.com/dualcores-studio/make-an-android-custom-view-publish-and-open-source-99a3d86df228",
    "word_count": 1669
  },
  ...more
]

Post detail

  • GET /post - Get the post content

Parameters

Name Type Description
u string The post url to parse content.
format string (optional) The format of response, the value could be text, html, md, json, default is text.

Response

## Simple text, json, html, markdown format

Issues

Feel free to submit bug reports or feature requests and make sure you read the contribution guideline before opening any issue.

Contributing

  1. Check the open/close issues or open a fresh issue for feature request or bug report with different labels (feature/bug).
  2. Fork this repository on GitHub to start customizing on master or new branch.
  3. Write a test which shows that the feature works as expected or the bug was fixeed.
  4. Send a pull request and wait for code review.

Read more on contributing.

License

Copyright (c) 2017 Engine Bai Licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].