Skip to main content

Takes pictures of code!

Project description


This package takes pictures of source code

Example code:

from sshot import shot
from PIL import Image
code='''
print('Hello World!')
'''
image=shot(code,lang='python')
Image.fromarray(image).save('code.png')

The code above will create something like:

Use in command line:

sshot -i test.py -l python -o code.png
sshot -i test.py -l python -o code.png -b bg.png # Add background image.
sshot -i test.py -l python -o code.png -b 00FF00FF0000 # Red code background color, green line number background color.
sshot -i test.py -l python # Show the image in a tkinter window.

It is also supported to set the background image of code, like:

from sshot import shot
from PIL import Image
from sshot.background import Background
import numpy as np
code='''
print('Hello World!')
'''
bg=np.array(Image.open('bg.png'))
image=shot(code,lang='python',background=Background(bg))
Image.fromarray(image).save('code.png')

Bugs below are fixed in this version:

  1. Error when reading GIF files. (IndexError: too many indices for array: array is 2-dimensional, but 3 were indexed.)
  2. SVG files are read incorrectly.
  3. Error when reading JSON files. This version's command line tool is better at guessing the language of the code.

Syntax highlight config in JSON file.

A correct syntax highlight config should have a 'config' key. It can also have an optional 'default' key.

The 'config' key is a dictionary, the key in that dictionary stands for the token name in the TokenChecker class (builtin, identifier, etc.) The 'default' key stands for the default color.

For example:

{
  "config": {
    "builtin": [127,0,0],
    "exception": [0,127,0],
    "string": [0,0,127]
  },
  "default": [127,127,127]
}

Using the JSON file above to create a picture of the code "print('Hello World!'), you will get:

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

sourceshot-2.0.1.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

sourceshot-2.0.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file sourceshot-2.0.1.tar.gz.

File metadata

  • Download URL: sourceshot-2.0.1.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.0

File hashes

Hashes for sourceshot-2.0.1.tar.gz
Algorithm Hash digest
SHA256 24bdaa2d5fe0efcdf2914e75534262e2808cda94a1a6b672fb1c15241bbaef13
MD5 b41fba4c8fcfeec3ef49f773b46bc848
BLAKE2b-256 7d80de3ffc722e695e0cb215263be22e87744563119dbefd15ae6c116ea1e81f

See more details on using hashes here.

File details

Details for the file sourceshot-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: sourceshot-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.0

File hashes

Hashes for sourceshot-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a315ce1bd1bf00be9911079532dfedac307e8f70b730b15e0a05244c41d5b85
MD5 03e53b21fc4c37c1cd31313785d28b95
BLAKE2b-256 e998606d82eda68f0e9c106e0d002487058a43ce75d1df6d068eab0028953fa7

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