Skip to main content

Very basic, it will grab one screen shot by monitor or a screen shot of all monitors and save it to a PNG file, Python 2.6/3.5 compatible & PEP8 compliant.

MSS stands for Multiple ScreenShots.

It’s under zlib licence.

Installation

You can install it with pip:

pip install --upgrade mss

Or you may just drop it in your project and forget about it.

Support

Python

GNU/linux

Mac OS X

Windows

3.5.0a3

True

True

True

3.4.3

True

True

True

3.3.6

True

True

True

3.2.6

True

True

True

3.1.5

True

True

True

3.0.1

True

True

True

2.7.9

True

True

True

2.6.9

True

True

True

Feel free to try MSS on a system we had not tested, and let report us by creating an [issue](https://github.com/BoboTiG/python-mss/issues).

Testing

You can try the MSS module directly from the console:

python mss.py

Instance the good class

So MSS can be used as simply as:

from mss import mss
screenshotter = mss()

Or import the good one:

from mss import MSSLinux as mss
screenshotter = mss()

save(output, screen, callback)

For each monitor, grab a screenshot and save it to a file.

Parameters:

output - string - the output filename. It can contain '%d' which
                  will be replaced by the monitor number.
screen - integer - grab one screenshot of all monitors (screen=-1)
                   grab one screenshot by monitor (screen=0)
                   grab the screenshot of the monitor N (screen=N)
callback - function - in case where output already exists, call
                      the defined callback function with output
                      as parameter. If it returns True, then
                      continue; else ignores the monitor and
                      switches to ne next.

This is a generator which returns created files.

Examples

One screenshot per monitor:

for filename in screenshotter.save():
    print(filename)

Screenshot of the monitor 1:

for filename in screenshotter.save(screen=1):
    print(filename)

Screenshot of the monitor 1, with callback:

def on_exists(fname):
    ''' Callback example when we try to overwrite an existing
        screenshot.
    '''
    from os import rename
    from os.path import isfile
    if isfile(fname):
        newfile = fname + '.old'
        print('{0} -> {1}'.format(fname, newfile))
        rename(fname, newfile)
    return True

for filename in screenshotter.save(screen=1, callback=on_exists):
    print(filename)

A screenshot to grab them all:

for filename in screenshotter.save(output='fullscreen-shot.png', screen=-1):
    print(filename)

Release files for mss 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mss 1.0.0
File Size Uploaded
mss-1.0.0.tar.gz 11.9 kB Details

Release files / mss-1.0.0.tar.gz

Download URL mss-1.0.0.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3636950c00248e02ae16bd328245ff3eb2f1839053fcb77c19f1c7ecd20c9369
BLAKE2b-256 checksum
How to use checksums
20259ee80bfcc6e54f9ae1150d2f565cf787ee5b16336974471fbea351e757b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

10.2.0

2 release files

10.1.0

2 release files

10.0.0

2 release files

9.0.2

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.0.3

2 release files

8.0.2

2 release files

8.0.1

2 release files

8.0.0

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.0.3

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.1

1 release file

3.2.0

1 release file

3.1.2

1 release file

3.1.1

1 release file

3.1.0

1 release file

3.0.1

1 release file

3.0.0

1 release file

2.0.22

1 release file

2.0.18

1 release file

2.0.0

1 release file

1.0.2

1 release file

This release

1.0.0 This release

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page