Skip to main content

A Python interface to x3270, an IBM 3270 terminal emulator

Project description

BSD-3-Clause Latest version released on PyPi Test coverage Bugs Code Smells Vulnerabilities Duplicated Lines Density

Intro

py3270 is a Python interface to x3270, an IBM 3270 terminal emulator. It provides an API to a x3270 or s3270 subprocess.

Example

The x3270 executables need to be on your PATH!

A brief example of usage:

from py3270 import Emulator

# use x3270 so you can see what is going on
em = Emulator(visible=True)

# or not (uses s3270)
em = Emulator()

em.connect('3270host.example.com')
em.fill_field(17, 23, 'mylogin', 8)
em.fill_field(18, 23, 'mypass', 8)
em.send_enter()

# if your host unlocks the keyboard before truly being ready you can use:
em.wait_for_field()

# maybe look for a status message
if not em.string_found(1, 2, 'login succesful'):
    abort()

# do something useful

# disconnect from host and kill subprocess
em.terminate()

Documentation

None, sorry. Read the code, its pretty simple & self-explanatory :)

More information on x3270/s3270 can be found at:

Questions & Comments

Please submit a issue or visit: http://groups.google.com/group/blazelibs

Current Status

The interface seems sound, but the Emulator class has only basic functionality. There are more x3270 commands that the Emulator could have methods for. That being said, I believe most x3270 functionality can be supported at a lower-level by the use of Emulator.exec_command().

py3270 is installable via pip with pip install py3270 or easy_install with easy_install py3270.

Change Log

0.3.5 released 2018-10-23

  • Added explicit license

  • Reorganizing project structure

  • Fix exception handling in sockets

  • Fix exception in terminate command (wc3270)

  • Code styling and minor fixes

0.3.4 released 2017-07-24

  • Fix BrokenPipeError issue WRT Python 2.7

0.3.3 released 2016-01-21

  • continued fix to broken version import (include version in manifest)

0.3.2 released 2016-01-21

  • fix broken version import in setup.py (broken in 0.3.0 and 0.3.1)

0.3.1 released 2016-01-21

  • fix testing support for Python 3

  • fix Windows support for Python 3

  • move to github, related updates to vcs-specific files

0.3.0 released 2015-07-29

  • Support Python 3

0.2.0 released 2014-03-28

  • Add Windows support, but not tested thoroughly.Consider Windows supportExperimental.

  • use x3270 executables from PATH instead of requiring ExamBase to be subclassed

  • fix buffering problems when writing to x3270 subprocess

0.1.5 released 2013-06-17

  • changed default timeout to 30 seconds

  • added send_pf7(), send_pf8()

0.1.4 released 2012-03-17

  • added is_connected() method

0.1.3 released 2011-12-06

  • had messed up a previous upload to pypi releasing a fixed 0.1.1 as 0.1.2, so

    need to go to next version number

0.1.2 released 2011-12-06

  • fix data parsing on Windows

0.1.1 released 2011-12-05

  • renamed Emulator to EmulatorBase to make it clearer that a subclass is needed

  • adjusted readme

0.1.0 released 2011-12-01

  • initial release

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

py3270-0.3.5.tar.gz (8.3 kB view details)

Uploaded Source

File details

Details for the file py3270-0.3.5.tar.gz.

File metadata

  • Download URL: py3270-0.3.5.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/2.7

File hashes

Hashes for py3270-0.3.5.tar.gz
Algorithm Hash digest
SHA256 f05b2cccbd9bb29f1cd8c40d89210fc06342aebd23d6df884d14e42439cfd849
MD5 0aa4a95c03bafa5ca31fadce5672a142
BLAKE2b-256 7075eebdb5e367ed9811d113b2f8d5430a03bb9cf3ecc1cf8360c3013ae5d671

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