Code Monkey home page Code Monkey logo

pssepath's Introduction

pssepath - Easy PSSE Python coding

Author: whit. (whit.com.au)

pssepath simplifies the code required to setup the Python environment necessary to use the PSSE API. Using pssepath all you have to do is:

import pssepath
pssepath.add_pssepath()

import psspy

Notice that using this module makes the PSSE system files available for use while avoiding making modifications to system paths or hardcoding the location of the PSSE system folders. This makes PSSE easy to use.

Without pssepath, you have to do something like this:

import os
import sys

PSSE_LOCATION = r"C:\Program Files\PTI\PSSE32\PSSBIN"
sys.path.append(PSSE_LOCATION)
os.environ['PATH'] = os.environ['PATH'] + ';' +  PSSE_LOCATION

import psspy

Furthermore, by including pssepath with any scripts you distribute, others will be able to use your code without having to edit your code to suit their varying install paths (such as different versions of PSSE).

It can also provide information about which version of Python to use with a particular install of PSSE to avoid "ImportError: Bad magic number...".

Installation

To install from source:

python setup.py install

Usage

pssepath provides 3 methods for setting up the PSSE paths:

.. method::  pssepath.add_pssepath()

      Adds the most recent version of PSSE that works with the currently
      running version of Python.

.. method:: pssepath.add_pssepath(<version>)

    Adds the requested version of PSSE. Remember that specifying a version
    number may make your code less portable if you or your colleagues ever use a
    different version.  pssepath.add_pssepath(33)

.. method:: pssepath.select_pssepath()

    Produces a menu of all the PSSE installs on your system, along with
    the required version of Python.

If you have set up your system to have the PSSE system files on the system path at all times, pssepath will only use these files.

For information about the PSSE versions installed on your system, either:

  • execute the pssepath.py file from windows; or
  • run python -m pssepath You may have to specify the python install path: ie. c:\Python25\python -m pssepath

This will provide you with a summary similar to the following:

Found the following versions of PSSE installed:

    1. PSSE version 32
        Requires Python 2.5 (Current running Python)
    2. PSSE version XX
        Requires Python 2.X (Installed)
    3. PSSE version XX
        Requires Python 2.X
    etc.

The status next to the Python version indicates the installation status of the required Python for the particular PSSE install.

Current running Python
indicates the Python version used to invoke the script (c:\Python25\python if invoked as c:\Python25\python -m pssepath) is appropriate for that version of PSSE.
Installed
indicates that a Python version different to the one used to invoke the script is required for that PSSE version, but that it is already installed on your system.
<nothing>
The absence of a status means that a different version of Python is required to run that version of PSSE and it is not installed on your system. As Python comes bundled with PSSE, this status is unlikely.

Ensuring you use the correct version of Python for the version of PSSE you are running will avoid seeing ImportError: Bad magic number... ever again.

License

This program is released under the very permissive MIT license. You may freely use it for commercial purposes, without needing to provide modified source.

Read the LICENSE file for more information.

Tips on managing multiple Python versions

I like to use batch files that point to a specific python version. For example:

$ more C:\bin\python25.bat
@C:\Python25\python.exe %*

Where the PATH includes c:\bin. Now you can run python scripts with the command:

python25 myscript.py args

instead of:

c:\Python25\python.exe myscript.py args

Contributers

Discussion about this module was conducted at the Python for PSSE Forum involving the following members:

  • Chip Webber
  • JervisW
  • Daniel Hillier

Improvements or suggestions

Visit the Python for PSSE Forum

See also:

For any other questions about Python and PSSE, feel free to raise them on the Python for PSSE Forum

pssepath's People

Contributors

danifus avatar cwebber314 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.