A small simple wrapper around the mystb.in API.
Reason this release was yanked:
Outdated and no longer works.
Project description
MystBin.py!
A small simple wrapper around the MystB.in API.
Features
- -
POST
ing to the API, which will return the provided url. - -
GET
ting from the API, provided you know the URL or paste ID. - -
DELETE
ing from the API, provided the paste is attached to your account. - -
PATCH
ing to the API, provided the paste is attached to your account. - - Ability to pass in a sync or async session / parameter so it is flexible.
- - Write a real underlying Client for this, it will be required for...
- - ... Authorization. Awaiting the API making this public as it is still WIP.
Installation
This project will be on PyPI as a stable release, you can always find that there.
Installing via pip
:
python -m pip install -U mystbin.py
# or for optional sync addon...
python -m pip install -U mystbin.py[requests]
Installing from source:
python -m pip install git+https://github.com/AbstractUmbra/mystbin-py.git #[requests] for sync addon
Usage examples
Since the project is considered multi-sync, it will work in a sync/async environment, see the optional dependency of requests
below.
# async example - it will default to async
import mystbin
mystbin_client = mystbin.Client()
#NOTE: The `api_key` kwarg in the Client constructor is optional.
paste = await mystbin_client.post("Hello from MystBin!", syntax="python")
str(paste)
>>> 'https://mystb.in/<your generated ID>.python'
paste.url
>>> 'https://mystb.in/<your generated ID>.python'
get_paste = await mystbin_client.get("https://mystb.in/<your generated ID>")
str(get_paste)
>>> "Hello from MystBin!"
paste.created_at
>>> datetime.datetime(2020, 10, 6, 10, 53, 57, 556741)
# sync example - we need to pass a session though
import mystbin
import requests
sync_session = requests.Session()
mystbin_client = mystbin.Client(session=sync_session) ## optional api_key kwarg also
paste = mystbin_client.post("Hello from sync Mystb.in!", syntax="text")
str(paste)
>>> 'https://mystb.in/<your generated ID>.text'
NOTE: the session - aiohttp or requests - will have their default headers changed during init to support the Authorization header with the api key if present, and there is a timeout of 15s for each operation.
Dependencies
aiohttp
- required
requests
- optional
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mystbin.py-2.1.0.tar.gz
.
File metadata
- Download URL: mystbin.py-2.1.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.9.4 Linux/4.19.0-13-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e330717a6b2b80c2e84b4b3795f9c71a4ac8d36efc88319743c5f6acc4fbffa |
|
MD5 | 54c2bcc993a95ac970c2e9c27c094ee2 |
|
BLAKE2b-256 | dde074ccaab11d5a4db71b004e3506103a338d4ac071e93df8969dc263c0174c |
File details
Details for the file mystbin.py-2.1.0-py3-none-any.whl
.
File metadata
- Download URL: mystbin.py-2.1.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.9.4 Linux/4.19.0-13-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3abc8494079309630c8a8381489241342bc6baadd2a8f368f8493ef85eed3848 |
|
MD5 | 2af6937b33f5ddc11ee94af337f0583a |
|
BLAKE2b-256 | 9c092d3f14edae80dc71ef9089b7bdad15242140794a2672bc4b721a427aec52 |