Skip to main content

A Python API wrapper for SnipBin (http://snip.hxrsh.in/)

Project description

SnipBin.py

A Python API wrapper for SnipBin

Setup

pip install snipbin.py

Usage

Before starting, familiarize yourself with the SnipBin API Docs Start by importing the package into your program. Here it is being imported as such:

from snipbin import snipbin

Note that I'm importing a class called snipbin. If you instead choose to import the entire library, remember that any functions being called below are methods inside of this class.

Authorize

If you would like to use account restricted features of SnipBin, pass your API key here. However, you don't have to if you don't plan on using restricted features.

#With authorization
sb = snipbin('Please do not put your real API key in GitHub readmes')
#Without authorization
sb = snipbin()

Functions

Fetching Snips

Required arguements: slug Optional arguements: none Positional order: slug This does not work on encrypted snips

sb.fetch('oUVnB')
#Returns: {'id': 61, 'slug': 'oUVnB', 'createdAt': '2022-02-25T20:47:22.820Z', 'content': 'Thanks for using SnipBin.py!', 'password': None, 'language': 'C#', 'authorId': 4}

Creating Snips

Required arguements: slug, content, language Optional arguements: password Positional order: slug, content, language, password To automatically find the language of text, use the detect language function If you would like the snip to be linked with an account, pass an API key in the authorization step

sb.create(slug = 'ri9yL', content = """print('Hello World!')""", language = 'Python')
#Returns: {'id': 64, 'slug': 'ri9yL', 'createdAt': '2022-02-25T20:57:49.710Z', 'content': "print('Hello World!')", 'password': None, 'language': 'Python', 'authorId': 4}

Editing Snips

Required arguements: slug Optional arguements: content, newslug, password Positional order: slug, content, newslug, password You must have authorization for the account linked to a snip to edit it

sb.edit(slug = '46BXz', content = """console.log("This snip has been edited")""")
#Returns: {'id': 66, 'slug': '46BXz', 'createdAt': '2022-02-25T21:04:35.543Z', 'content': 'console.log("This snip has been edited")', 'password': None, 'language': 'TypeScript', 'authorId': 4}

Deleting Snips

Required arguements: slug Optional arguements: none Positional order: slug You must have authorization for the account linked to a snip to delete it

sb.delete(slug = 'sy_gB')
#Returns: {'id': 67, 'slug': 'sy_gB', 'createdAt': '2022-02-25T21:10:24.757Z', 'content': 'cout << "This snip no longer exists" << endl;', 'password': None, 'language': 'C++', 'authorId': 4}

Detecting Languages

Required arguements: snippet Optional arguements: none Positional order: snippet

sb.detect_lang(snippet = """printf("What language is this code?")""")
#Returns: {'data': 'C'}

Acknowledgements

Thanks to Harsh, the creator of SnipBin, for helping me use his API and giving me tips for this wrapper.

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

SnipBin.py-1.0.1.3.tar.gz (4.3 kB view details)

Uploaded Source

File details

Details for the file SnipBin.py-1.0.1.3.tar.gz.

File metadata

  • Download URL: SnipBin.py-1.0.1.3.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for SnipBin.py-1.0.1.3.tar.gz
Algorithm Hash digest
SHA256 cd47b36aa5b20f5b8845f78173edf3fe5b9dd5032f68dd83f2484f826158e4ad
MD5 48bc1b00f44a584be963df14801eef9f
BLAKE2b-256 ac71f19db15bd70b53028d99d19fb481a2d22b7fb61476cd0beaababc6df9ac3

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