Skip to main content

Python Interactive Playground

Project description

About

pyplay is a command line tool that invokes the interactive Python shell, but starts it up with tab completion turned on, common paths added to sys.path, common modules preloaded and optionally some startup python commands run.

It is configurable, both at a system-wide level and a per project (directory) level.

Installation

Install from sources:

sudo python setup.py install

Usage

To start a pyplay shell, just enter a command like this:

pyplay                  # Start Python and handy modules
pyplay --none           # No extras
pyplay -re yaml         # All except re, then add yaml
pyplay --none yaml      # Nothing except yaml
pyplay xyz test_foo     # import xyz and test_foo

Configuration

If you use pyplay a lot and always want to preload the same modules, you can set up your own custom configuration in a file called ~/.pyplay/config.yaml or ./pyplay/config.yaml like this:

# Is readline & tab completion on?
readline: true

# Added to the front of sys.path.
pythonpath:
- .
- lib
- tests

# Modules to import by default.
modules:
- os
- sys
- yaml

# Commands to run by default
- from yaml import *

If you explicitly supply the PYPLAY_CONFIG_DIR environment variable, that directory will be used to find the config.yaml file. If you set PYPLAY_CONFIG_DIR to an empty string, no config file will be read, even if the one of them exists.

Also, PYPLAY_CONFIG_DIR, ~/.pyplay/ and ./pyplay/ will be added to the front of sys.path if they exist, so you can put modules that you want to play with in those directories.

Command Line Options

--none

Clear the list of modules to import

module

Add a module to the import list

-module

Remove a module from the import list

Sample Run

Here is what a session looks like on startup:

$ pyplay foo bar
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
*** Welcome to PyPlay version 0.3 -- Type h() for help.
*** PyPlay tab completion enabled
>>> import os
>>> import sys
>>> import re
>>> import foo
>>> import bar
>>>

PyPlay Commands

Pyplay adds some extra shell commands. The current commands are:

h()

Show the PyPlay help screen.

y(object)

Print a YAML dump of any object. (Requires the yaml module)

From the Author

The interactive Python shell is a great tool for learning Python, because Python has such great introspection. The only things that bugged me about it are 1) I am always needing to set it up a certain way every time I use it, B) and that it doesn’t have tab completion on by default. pyplay takes care of these issues nicely.

pyplay is my first (but definitely not last) Python module. I hope you find it useful. Please email me if you have any problems or suggestions.

Kind regards, Ingy dot Net

To Do

In a future release, you might see:

  • Logging of shell commands

  • Save readline history between sessions

  • More PyPlay special commands

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

pyplay-0.8.tar.gz (6.2 kB view details)

Uploaded Source

File details

Details for the file pyplay-0.8.tar.gz.

File metadata

  • Download URL: pyplay-0.8.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyplay-0.8.tar.gz
Algorithm Hash digest
SHA256 ca727e7559123a525aff39efc59c07bfaf58e57710b952e8f921d5ff69520a9c
MD5 1989ee143538794b6e874629b5f2dfe3
BLAKE2b-256 94f2033624abe8dcd4ca48d9ec4cadfc9ecabe30b72f12def6b5176651c23fc7

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