Making Python a better scripting language
|
|
- Patience McCormick
- 5 years ago
- Views:
Transcription
1 Making Python a better scripting language Nicola Musatti Agenda Why are we here? What is a scripting language? A programming language of sorts Has some form of flow control Provides a convenient way to execute commands Is Python a scripting language? It is a programming language Has many flow control statements Provides a not so convenient way to execute commands A simple command Any command interpreter: ls -la Python: from subprocess import call call(("ls", "-la")) What's wrong with that? Manageable for simple, fixed command lines Handling complex commands becomes awkward
2 No support from the language syntax Hard to come out with reusable code A not so simple command svnadmin create repo if [ $? == 0 ]; then p="file://$(pwd)/repo/project" svn mkdir $p/branches $p/tags --parents \ -m"create project tree" svn import backup $p/trunk -m"first import" fi mkdir sandbox cd sandbox svn checkout $p/trunk project In the days before nxpy.command import os from subprocess import call p = "file://" + os.getcwd() + "/repo/project" res = call("svnadmin create repo", shell=true) if res == 0: call("svn mkdir " + p + "/branches " + p + "/tags " "--parents -m=\"create project tree\"", shell=true) call("svn import \"backup\" " + p + "/trunk " "-m=\"first import\"", shell=true) os.mkdir("sandbox") os.chdir("sandbox") call("svn checkout " + p + "/trunk \"project\"", shell=true) Do we really want... import os from nxpy.command.command import Error from magic import run_commands p = "file://" + os.getcwd() + "/repo/project" try: svnadmin create repo svn mkdir $p/branches $p/tags --parents \ -m"create project tree" svn import backup $p/trunk -m"first import" except Error: pass os.mkdir("sandbox") os.chdir("sandbox") svn checkout $p/trunk project Ideally
3 from ls import ls print ls(long=true, all=true) It can be done! Launching commands A not so simple command (reprise) import os from nxpy.command.command import Error from nxpy.svn.svnadmin import SvnAdmin from svn import Svn svn_ = Svn() p = "file://" + os.getcwd() + "/repo/project" try: SvnAdmin().create("repo") svn_.mkdir(p + "/branches", p + "/tags", parents=true, message="\"create project tree\"") svn_.import_("backup", p + "/trunk", message="\"first import\"") except Error as e: print e os.mkdir("sandbox") os.chdir("sandbox") svn_.checkout(p + "/trunk", "project") The nxpy.command package svn_.mkdir(p + "/branches", p + "/tags", parents=true, message="\"create project tree\"") Commands are expressed as method calls Command arguments are passed as plain arguments Options are passed as keyword arguments The nxpy.command package (cont.) Supported options may be specified declaratively Enforces custom constraints on option and argument combinations Builds the resulting command lines and executes them Returns the command's output and error Works with both non-interactive and interactive commands Most effective when many subcommands share the same options e.g. svn, cleartool
4 The nxpy.command package (cont.) package nxpy + package command + module option + class Config + class Parser + module command + class Command + module interpreter + class Interpreter The nxpy.command.option.config class Specify which options are supported and how they should appear on the command line: bool_opts: value_opts: iterable_opts: format_opts: mapped_opts: opposite_options: must be specified when True take a single argument may take several arguments have their syntax specified by a format string are mapped to a specific syntax must be specified on the command line when they are not present The nxpy.command.option.config class (cont.) _config = Config( bool_opts = ( "ignore_externals", "parents" ), value_opts = ( "message", ), mapped_opts = { "ignore_externals" : "--ignore-externals" } ) Other arguments are: prefix: option prefix. Default is -- separator: option argument separator. Default is blank The nxpy.command.option.parser class def import_(self, src, dest, **options): op = Parser(_config, "import", ( src, dest ), options, message="") op.checkmandatoryoptions("message") Check that passed options and arguments are valid Build the actual command line Keyword arguments indicate supported options with their defaults The nxpy.command.command.command class
5 class Svn(Command): def init (self): super(svn, self). init ("svn", None) def import_(self, src, dest, **options): op = Parser(_config, "import", ( src, dest ), options, message="") op.checkmandatoryoptions("message") self.run(op) Puts all the pieces together Executes (or echoes) the resulting command line Returns the command's output and error contents Wrapping the ls command from nxpy.command.command import Command from nxpy.command.option import Config, Parser _config = Config( bool_opts = ( "all", "long" ), mapped_opts = { "all" : "-a", "long" : "-l" } ) class Ls(Command): def init (self, debug=false): super(ls, self). init ("/bin/ls", debug) def call (self, *args, **options): op = Parser(_config, None, args, options, all=false, long=false) return self.run(op)[0] ls = Ls() Controlling interpreters Dealing with interactive programs Subcommand options are handled in the same way Non-blocking I/O is used to avoid deadlocks Must indicate how to detect completion of current command A polling algorithm is used to check for termination Might need to handle excessive duration An example: the cleartool interpreter class FailedCommand(BadCommand): def init (self, cmd, err_code=0, err=""):
6 message = [] if err: message.append(err) if err_code!= 0: message.append("error: " + err_code) super(failedcommand, self). init (cmd, "\n".join(message)) command_line = "cleartool -status" _result_re = re.compile(r"command \d+ returned status (\d)\r\n") An example: the cleartool interpreter (cont.) class ClearTool(Interpreter): def _run(self, parser, **kwargs): if isinstance(parser, Parser): cmd = parser.getcommandline() else: cmd = parser raise_on_failure = kwargs.get("raise_on_failure", False) try: kwargs["cond"] = RegexpWaiter(self._result_re, EXP_OUT) out, err = self.run(cmd, **kwargs) if raise_on_failure: err_code = ClearTool._result_re.search(out).group(1) if err_code > 0: raise FailedCommand(cmd, err_code=err_code) return ClearTool._result_re.sub("", out), err, cmd except BadCommand as e: raise FailedCommand(e.command, err=e.stderr) Expressing termination conditions Interpreters may issue the same message after each command Otherwise specific output must be sought "Waiters" help discover termination Available waiters The interpreter module provides ways to wait for: Any output / error A specific number of lines A specific string A regular expression A different example: the ftp client class Ftp(Interpreter): def init (self): super(ftp, self). init ("ftp -v") self.setlog(true) def open(self, host, port, user, password): op = Parser(None, "open", ( host, port ), {}) self.send_cmd(op.getcommandline()) self.expect_regexp("220")
7 self.send_cmd(user) self.expect_string("password:", EXP_ERR, raise_on_error=false) self.send_cmd(password) self.expect_regexp("230") Tweaking the polling algorithm Sometimes there's no identifiable end of output Commands may hang You want to bail out of commands taking too long Tweaking the polling algorithm (cont.) You can specify: An overall timeout A maximum number of retries A fixed interval between retries A lower bound for the delay between retries An example: the cleartool interpreter (reprise) def update(self, **options): op = Parser(_config, "update", (), options, print_report=false, force=false, nolog=false, log="") op.checkexclusiveoptions("log", "nolog") self._run(op, raise_on_error=false, timeout=300, interval=0.5, quantum=0.5) Wrap up Python as a scripting language - Does it matter? The agility of the language and the wealth of available libraries often make it more convenient to write full-fledged Python programs rather than any scripting approach. However: User commands may be more stable Sometimes there isn't an API! Tips & tricks Compacting command implementation kills self-documentation Make sure you find the very end of subcommands' output/error Before using EAFP ensure your command is forgiving! Open issues
8 Porting to Python 3 More tests! Split from library? Directions The nxpy.command package is part of the Nxpy library Project homepage: It's available on PyPI: pip install Nxpy Colophon sphinx sphinx-intl hieroglyph No stylesheet was harmed in the making of this presentation! Q & A Q & A [Slide intentionally left blank]
API Wrapper Documentation
API Wrapper Documentation Release 0.1.7 Ardy Dedase February 09, 2017 Contents 1 API Wrapper 3 1.1 Overview................................................. 3 1.2 Installation................................................
More informationKuyruk Documentation. Release 0. Cenk Altı
Kuyruk Documentation Release 0 Cenk Altı Mar 07, 2018 Contents 1 About Kuyruk 3 2 User s Guide 5 3 API Reference 17 4 Indices and tables 21 Python Module Index 23 i ii Welcome to Kuyruk s documentation.
More informationTangeloHub Documentation
TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................
More informationsimplevisor Documentation
simplevisor Documentation Release 1.2 Massimo Paladin June 27, 2016 Contents 1 Main Features 1 2 Installation 3 3 Configuration 5 4 simplevisor command 9 5 simplevisor-control command 13 6 Supervisor
More informationVersion control system (VCS)
Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible
More informationCGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message.
What is CGI? The Common Gateway Interface (CGI) is a set of standards that define how information is exchanged between the web server and a custom script. is a standard for external gateway programs to
More informationsupernova Documentation
supernova Documentation Release trunk Major Hayden June 21, 2015 Contents 1 Documentation 3 1.1 Rackspace Quick Start.......................................... 3 1.2 Installing supernova...........................................
More informationpython-anyvcs Documentation
python-anyvcs Documentation Release 1.4.0 Scott Duckworth Sep 27, 2017 Contents 1 Getting Started 3 2 Contents 5 2.1 The primary API............................................. 5 2.2 Git-specific functionality.........................................
More informationFriday, 11 April 14. Advanced methods for creating decorators Graham Dumpleton PyCon US - April 2014
Advanced methods for creating decorators Graham Dumpleton PyCon US - April 2014 Intermission Rant about the history of this talk and why this topic matters. Python decorator syntax @function_wrapper def
More informationCOMP1730/COMP6730 Programming for Scientists. Testing and Debugging.
COMP1730/COMP6730 Programming for Scientists Testing and Debugging. Overview * Testing * Debugging * Defensive Programming Overview of testing * There are many different types of testing - load testing,
More informationCustom Actions for argparse Documentation
Custom Actions for argparse Documentation Release 0.4 Hai Vu October 26, 2015 Contents 1 Introduction 1 2 Information 3 2.1 Folder Actions.............................................. 3 2.2 IP Actions................................................
More informationruntest Documentation
runtest Documentation Release 2.1.1-rc-1 Radovan Bast Feb 07, 2018 About 1 Motivation 3 2 Audience 5 3 Similar projects 7 4 General tips 9 5 How to hook up runtest with your code 11 6 Example test script
More informationsinon Documentation Release Kir Chou
sinon Documentation Release 0.1.1 Kir Chou Jun 10, 2017 Contents 1 Overview 3 2 Contents 5 2.1 Setup................................................... 5 2.2 Spies...................................................
More informationmonolith Documentation
monolith Documentation Release 0.3.3 Łukasz Balcerzak December 16, 2013 Contents 1 Usage 3 1.1 Execution manager............................................ 3 1.2 Creating commands...........................................
More informationstreamio Documentation
streamio Documentation Release 0.1.0.dev James Mills April 17, 2014 Contents 1 About 3 1.1 Examples................................................. 3 1.2 Requirements...............................................
More informationCSE : Python Programming. Decorators. Announcements. The decorator pattern. The decorator pattern. The decorator pattern
CSE 399-004: Python Programming Lecture 12: Decorators April 9, 200 http://www.seas.upenn.edu/~cse39904/ Announcements Projects (code and documentation) are due: April 20, 200 at pm There will be informal
More informationIntroduction to version control. David Rey DREAM
1 Introduction to version control David Rey DREAM 2 Overview Collaborative work and version control CVS vs. SVN Main CVS/SVN user commands Advanced use of CVS/SVN 3 Overview Collaborative work and version
More informationbash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2017
bash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2017 Positional Arguments It is quite common to allow the user of a script to specify what the script is to operate on (e.g. a
More informationCross-platform daemonization tools.
Cross-platform daemonization tools. Release 0.1.0 Muterra, Inc Sep 14, 2017 Contents 1 What is Daemoniker? 1 1.1 Installing................................................. 1 1.2 Example usage..............................................
More informationgpib-ctypes Documentation
gpib-ctypes Documentation Release 0.1.0dev Tomislav Ivek Apr 08, 2018 Contents 1 gpib-ctypes 3 1.1 Features.................................................. 3 1.2 Testing..................................................
More informationVersion Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker
Version Control Chonnam National University School of Electronics and Computer Engineering Kyungbaek Kim Original slides from James Brucker What is version control Manage documents over time Keep a history
More informationpydocstyle Documentation
pydocstyle Documentation Release 1.0.0 Amir Rachum Oct 14, 2018 Contents 1 Quick Start 3 1.1 Usage................................................... 3 1.2 Error Codes................................................
More informationDjango-CSP Documentation
Django-CSP Documentation Release 3.0 James Socol, Mozilla September 06, 2016 Contents 1 Installing django-csp 3 2 Configuring django-csp 5 2.1 Policy Settings..............................................
More informationargcomplete Documentation Andrey Kislyuk
Andrey Kislyuk May 08, 2018 Contents 1 Installation 3 2 Synopsis 5 2.1 argcomplete.autocomplete(parser).................................... 5 3 Specifying completers 7 3.1 Readline-style completers........................................
More informationVersioning. Jurriaan Hage homepage: Slides stolen from Eelco Dolstra.
Versioning Jurriaan Hage e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Slides stolen from Eelco Dolstra Department of Information and Computing Sciences, Universiteit Utrecht August 24,
More informationContents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11
nclib Documentation Release 0.7.0 rhelmot Apr 19, 2018 Contents: 1 Basic socket interfaces 3 2 Servers 7 3 Launching and Controlling Processes 9 4 Daemonizing Command Line Programs 11 5 Indices and tables
More informationyardstick Documentation
yardstick Documentation Release 0.1.0 Kenny Freeman December 30, 2015 Contents 1 yardstick 3 1.1 What is yardstick?............................................ 3 1.2 Features..................................................
More informationGarment Documentation
Garment Documentation Release 0.1 Evan Borgstrom March 25, 2014 Contents i ii A collection of fabric tasks that roll up into a single deploy function. The whole process is coordinated through a single
More informationFriendlyShell Documentation
FriendlyShell Documentation Release 0.0.0.dev0 Kevin S. Phillips Nov 15, 2018 Contents: 1 friendlyshell 3 1.1 friendlyshell package........................................... 3 2 Overview 9 3 Indices
More informationVOFS Manual. Georgios Tsoukalas, ICCS June 28, 2009
VOFS Manual Georgios Tsoukalas, ICCS gtsouk@cslab.ece.ntua.gr June 28, 2009 1 Requirements Python 2.5 Fuse-2.7 and development files SQLite 3 Libc development files 2 Installation & Launch Unpack the archive.
More informationnucleon Documentation
nucleon Documentation Release 0.1 Daniel Pope December 23, 2014 Contents 1 Getting started with Nucleon 3 1.1 An example application......................................... 3 1.2 Our first database app..........................................
More informationHome Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close.
Page 1 of 17 Version Control Ken Bloom Linux User Group of Davis March 1, 2005 Page 2 of 17 1. Version Control Systems CVS BitKeeper Arch Subversion SVK 2. CVS 2.1. History started in 1986 as a bunch of
More informationExtending CircuitPython: An Introduction
Extending CircuitPython: An Introduction Created by Dave Astels Last updated on 2018-11-15 11:08:03 PM UTC Guide Contents Guide Contents Overview How-To A Simple Example shared-module shared-bindings ports/atmel-samd
More informationSource Control. Comp-206 : Introduction to Software Systems Lecture 21. Alexandre Denault Computer Science McGill University Fall 2006
Source Control Comp-206 : Introduction to Software Systems Lecture 21 Alexandre Denault Computer Science McGill University Fall 2006 Source Revision / Control Source Control is about the management of
More informationbash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2018
bash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2018 Error Output Failed commands often generate unwanted or irrelevant error messages That output can be saved as a log, sent
More informationKivyInstaller Documentation
KivyInstaller Documentation Release 3.9 Peter Badida Jun 30, 2018 Contents 1 Contents 3 1.1 Getting started.............................................. 3 1.2 Usage...................................................
More informationdoit Documentation Release
doit Documentation Release 0.30.3 Jan Vlčinský Oct 26, 2017 Table of Contents 1 tasks => {doit + shell + python} => done 1 1.1 Use Cases................................................. 1 1.2 Quick Start................................................
More informationGit. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes
Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global
More informationSubversion. CS 490MT/5555, Fall 2015, Yongjie Zheng
Subversion CS 490MT/5555, Fall 2015, Yongjie Zheng About Subversion } Subversion } A free/open source version control system } A typical client-server model } Uses the copy-modify-merge strategy } History
More informationLecture 27. Lecture 27: Regular Expressions and Python Identifiers
Lecture 27 Lecture 27: Regular Expressions and Python Identifiers Python Syntax Python syntax makes very few restrictions on the ways that we can name our variables, functions, and classes. Variables names
More informationPython AutoTask Web Services Documentation
Python AutoTask Web Services Documentation Release 0.5.1 Matt Parr May 15, 2018 Contents 1 Python AutoTask Web Services 3 1.1 Features.................................................. 3 1.2 Credits..................................................
More informationpysharedutils Documentation
pysharedutils Documentation Release 0.5.0 Joel James August 07, 2017 Contents 1 pysharedutils 1 2 Indices and tables 13 i ii CHAPTER 1 pysharedutils pysharedutils is a convenient utility module which
More informationejpiaj Documentation Release Marek Wywiał
ejpiaj Documentation Release 0.4.0 Marek Wywiał Mar 06, 2018 Contents 1 ejpiaj 3 1.1 License.................................................. 3 1.2 Features..................................................
More informationCommand Interpreters. command-line (e.g. Unix shell) On Unix/Linux, bash has become defacto standard shell.
Command Interpreters A command interpreter is a program that executes other programs. Aim: allow users to execute the commands provided on a computer system. Command interpreters come in two flavours:
More informationargcomplete Documentation
argcomplete Documentation Release Andrey Kislyuk Nov 21, 2017 Contents 1 Installation 3 2 Synopsis 5 2.1 argcomplete.autocomplete(parser).................................... 5 3 Specifying completers
More informationGit for Subversion users
Git for Subversion users Zend webinar, 23-02-2012 Stefan who? Stefan who? Freelancer: Ingewikkeld Stefan who? Freelancer: Ingewikkeld Symfony Community Manager Stefan who? Freelancer: Ingewikkeld Symfony
More informationMastering Python Decorators
Mastering Python Decorators One of the hallmarks of good Python is the judicious use of decorators to optimize, simplify and add new functionality to existing code. Decorators are usually seen as an advanced
More informationnfsinkhole Documentation
nfsinkhole Documentation Release 0.1.0 secynic February 14, 2017 Project Info 1 nfsinkhole 3 1.1 Summary................................................. 3 1.2 Features..................................................
More informationcwmon-mysql Release 0.5.0
cwmon-mysql Release 0.5.0 October 18, 2016 Contents 1 Overview 1 1.1 Installation................................................ 1 1.2 Documentation.............................................. 1 1.3
More informationCode development using Subversion
Code development using Subversion Subversionisaversioncontrolsystemthatcanbeusedtokeeptrackofdifferentversions while developing code. WehaveuseditsofartocheckoutpiecesofcodefromtheOpenFOAM-extendprojectat
More informationGame Server Manager Documentation
Game Server Manager Documentation Release 0.1.1+0.gc111f9c.dirty Christopher Bailey Dec 16, 2017 Contents 1 Game Server Manager 3 1.1 Requirements............................................... 3 1.2
More informationpygtrie Release Jul 03, 2017
pygtrie Release Jul 03, 2017 Contents 1 Features 3 2 Installation 5 3 Upgrading from 0.9.x 7 4 Trie classes 9 5 PrefixSet class 19 6 Version History 21 Python Module Index 23 i ii Implementation of a
More informationDjango. Jinja2. Aymeric Augustin DjangoCong 2016
Django Jinja2 Aymeric Augustin DjangoCong 2016 Jardin des Plantes, Avranches, 9 avril 2016 I m Aymeric Amalfi Core Developer since 2011 Chief Technical Officer since 2015 Time zones Python 3 Transactions
More informationMoulinette Documentation
Moulinette Documentation Release 2.6.1 YunoHost Collective May 02, 2018 Contents: 1 Role and syntax of the actionsmap 3 1.1 Principle................................................. 3 1.2 Format of the
More informationMyGeotab Python SDK Documentation
MyGeotab Python SDK Documentation Release 0.8.0 Aaron Toth Dec 13, 2018 Contents 1 Features 3 2 Usage 5 3 Installation 7 4 Documentation 9 5 Changes 11 5.1 0.8.0 (2018-06-18)............................................
More informationSecurity Configuration Commands
Table of Contents Table of Contents Chapter 1 AAA Authentication Configuration Commands...1 1.1 AAA Authentication Configuration Commands...1 1.1.1 aaa authentication enable...1 1.1.2 aaa authentication
More informationManaging Infrastructure with Python, Fabric and Ansible. By Tim Henderson hackthology.com github.com/timtadh
Managing Infrastructure with Python, Fabric and Ansible By Tim Henderson tadh@case.edu hackthology.com github.com/timtadh part 00 death of a sys-admin there are too many machines now, we have become root
More informationTAIL RECURSION, SCOPE, AND PROJECT 4 11
TAIL RECURSION, SCOPE, AND PROJECT 4 11 COMPUTER SCIENCE 61A Noveber 12, 2012 1 Tail Recursion Today we will look at Tail Recursion and Tail Call Optimizations in Scheme, and how they relate to iteration
More informationHomebrew-file Documentation
Homebrew-file Documentation Release 3.12.3 rcmdnk Oct 28, 2017 Contents 1 Installation 3 2 Requirements 5 3 Getting Started 7 3.1 Use local Brewfile............................................ 7 3.2 Use
More informationHotPy (2) Binary Compatible High Performance VM for Python. Mark Shannon
HotPy (2) Binary Compatible High Performance VM for Python Mark Shannon Who am I? Mark Shannon PhD thesis on building VMs for dynamic languages During my PhD I developed: GVMT. A virtual machine tool kit
More informationConfiguring FXS Ports for Basic Calls
Configuring FXS Ports for Basic Calls First Published: October 2, 2008 Last updated: March 19, 2010 This module describes how to configure analog Foreign Exchange Station (FXS) ports on a Cisco Integrated
More informationpytest-benchmark Release 2.5.0
pytest-benchmark Release 2.5.0 September 13, 2015 Contents 1 Overview 3 1.1 pytest-benchmark............................................ 3 2 Installation 7 3 Usage 9 4 Reference 11 4.1 pytest_benchmark............................................
More informationPython for Earth Scientists
Python for Earth Scientists Andrew Walker andrew.walker@bris.ac.uk Python is: A dynamic, interpreted programming language. Python is: A dynamic, interpreted programming language. Data Source code Object
More informationRelease Ralph Offinger
nagios c heck p aloaltodocumentation Release 0.3.2 Ralph Offinger May 30, 2017 Contents 1 nagios_check_paloalto: a Nagios/Icinga Plugin 3 1.1 Documentation..............................................
More informationpython-aspectlib Release 0.4.1
python-aspectlib 0.4.1 Release 0.4.1 May 03, 2014 Contents i ii aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code is
More informationThis project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No
This project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No 676556. This project has received funding from the European Union s
More informationGLIMMER, Version Control and Build Systems
Outlines GLIMMER, Version Control and Build Systems Magnus Hagdorn School of GeoSciences University of Edinburgh December 5, 2005 Outlines Outline of Part I Unix Directory Structure Installing GLIMMER
More informationE through event manager Commands
, page 1 1 event application event application To specify the event criteria for an Embedded Event Manager (EEM) applet that is run on the basis of an event raised through the EEM Event Publish application
More informationBuild Creator. Overview. Build Creator. Command Line arguments. Targets
Overview Overview Command Line arguments Targets retrieve prepare release Configuration Details Config file Source Section Source Types Patch Section Builds section Build file Build Section Writing release
More informationSplunk & Git. Managing Splunk deployments with Git and KSCONF. Copyright 2018
Splunk & Git Managing Splunk deployments with Git and KSCONF About me: Lowell Alleman Working with Splunk since 2008 Splunk consulting since 2013 Background Software development Systems integration Linux
More informationAiroscript-ng Documentation
Airoscript-ng Documentation Release 0.0.4 David Francos Cuartero January 22, 2015 Contents 1 Airoscript-ng 3 1.1 Features.................................................. 3 1.2 TODO..................................................
More informationchatterbot-weather Documentation
chatterbot-weather Documentation Release 0.1.1 Gunther Cox Nov 23, 2018 Contents 1 chatterbot-weather 3 1.1 Installation................................................ 3 1.2 Example.................................................
More informationIntroduction to Python Part 2
Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules
More informationCSE 390 Lecture 9. Version control and Subversion (svn)
CSE 390 Lecture 9 Version control and Subversion (svn) slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson http://www.cs.washington.edu/390a/ 1 Working Alone Ever done one of the
More informationtinycss Documentation
tinycss Documentation Release 0.4 Simon Sapin Mar 25, 2017 Contents 1 Requirements 3 2 Installation 5 3 Documentation 7 3.1 Parsing with tinycss........................................... 7 3.2 CSS 3
More informationAssignment clarifications
Assignment clarifications How many errors to print? at most 1 per token. Interpretation of white space in { } treat as a valid extension, involving white space characters. Assignment FAQs have been updated.
More informationRelease Manu Phatak
cache r equestsdocumentation Release 4.0.0 Manu Phatak December 26, 2015 Contents 1 Contents: 1 1.1 cache_requests.............................................. 1 1.2 Installation................................................
More informationPacktools Documentation
Packtools Documentation Release 2.1 SciELO Sep 28, 2017 Contents 1 User guide 3 1.1 Installing Packtools........................................... 3 1.2 Tutorial..................................................
More informationTSQA v4. Jason Kenny
TSQA v4 Jason Kenny Goals Easy to run the tests Run all the test, or a subset Easy to run in automated or manual setup Easy to write tests Easy to run tests against existing build or different builds Easy
More information(MCQZ-CS604 Operating Systems)
command to resume the execution of a suspended job in the foreground fg (Page 68) bg jobs kill commands in Linux is used to copy file is cp (Page 30) mv mkdir The process id returned to the child process
More informationAbout Python. Python Duration. Training Objectives. Training Pre - Requisites & Who Should Learn Python
About Python Python course is a great introduction to both fundamental programming concepts and the Python programming language. By the end, you'll be familiar with Python syntax and you'll be able to
More informationArchan. Release 2.0.1
Archan Release 2.0.1 Jul 30, 2018 Contents 1 Archan 1 1.1 Features.................................................. 1 1.2 Installation................................................ 1 1.3 Documentation..............................................
More informationpython-aspectlib Release 0.5.0
python-aspectlib 0.5.0 Release 0.5.0 March 17, 2014 Contents i ii aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code
More informationEugene, Niko, Matt, and Oliver
213/513 Linux/Git Bootcamp Eugene, Niko, Matt, and Oliver outline 1. ssh but also Windows ssh client especially 2. bash commands + navigating Linux 3. VIM and VS Code 4. Git how to ssh 1. on OS X/Linux:
More informationCS 6353 Compiler Construction Project Assignments
CS 6353 Compiler Construction Project Assignments In this project, you need to implement a compiler for a language defined in this handout. The programming language you need to use is C or C++ (and the
More informationCSE 374 Midterm Exam 11/2/15 Sample Solution. Question 1. (10 points) Suppose the following files and subdirectories exist in a directory:
Question 1. (10 points) Suppose the following files and subdirectories exist in a directory:.bashrc.emacs.bash_profile proj proj/data proj/data/dict.txt proj/data/smalldict.txt proj/notes proj/notes/todo.txt
More informationPython Project Documentation
Python Project Documentation Release 1.0 Tim Diels Jan 10, 2018 Contents 1 Simple project structure 3 1.1 Code repository usage.......................................... 3 1.2 Versioning................................................
More informationPython review. 1 Python basics. References. CS 234 Naomi Nishimura
Python review CS 234 Naomi Nishimura The sections below indicate Python material, the degree to which it will be used in the course, and various resources you can use to review the material. You are not
More informationIntroduction to Revision Control
Introduction to Revision Control Henrik Thostrup Jensen September 19 th 2007 Last updated: September 19, 2007 1 Todays Agenda Revision Control Why is it good for? What is it? Exercises I will show the
More informationCSE 115. Introduction to Computer Science I
CSE 115 Introduction to Computer Science I Announcements Lab activites/lab exams submit regularly to autograder.cse.buffalo.edu Announcements Lab activites/lab exams submit regularly to autograder.cse.buffalo.edu
More informationIntroduction to the UNIX command line
Introduction to the UNIX command line Steven Abreu Introduction to Computer Science (ICS) Tutorial Jacobs University s.abreu@jacobs-university.de September 19, 2017 Overview What is UNIX? UNIX Shell Commands
More informationDoJSON Documentation. Release Invenio collaboration
DoJSON Documentation Release 1.2.0 Invenio collaboration March 21, 2016 Contents 1 About 1 2 Installation 3 3 Documentation 5 4 Testing 7 5 Example 9 5.1 User s Guide...............................................
More informationPython Problems MTH 151. Texas A&M University. November 8, 2017
Python Problems MTH 151 Texas A&M University November 8, 2017 Introduction Hello! Welcome to the first problem set for MTH 151 Python. By this point, you should be acquainted with the idea of variables,
More informationPython Project Example Documentation
Python Project Example Documentation Release 0.1.0 Neil Stoddard Mar 22, 2017 Contents 1 Neilvana Example 3 1.1 Features.................................................. 3 1.2 Credits..................................................
More informationnacelle Documentation
nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2
More informationUsing AVRO To Run Python Map Reduce Jobs
Using AVRO To Run Python Map Reduce Jobs Overview This article describes how AVRO can be used write hadoop map/reduce jobs in other languages. AVRO accomplishes this by providing a stock mapper/reducer
More informationOverview of the Ruby Language. By Ron Haley
Overview of the Ruby Language By Ron Haley Outline Ruby About Ruby Installation Basics Ruby Conventions Arrays and Hashes Symbols Control Structures Regular Expressions Class vs. Module Blocks, Procs,
More informationUsing CVS to Manage Source RTL
Using CVS to Manage Source RTL 6.375 Tutorial 2 February 1, 2008 In this tutorial you will gain experience using the Concurrent Versions System (CVS) to manage your source RTL. You will be using CVS to
More informationpydrill Documentation
pydrill Documentation Release 0.3.4 Wojciech Nowak Apr 24, 2018 Contents 1 pydrill 3 1.1 Features.................................................. 3 1.2 Installation................................................
More informationIntroduction To Python
Introduction To Python Week 7: Program Dev: Conway's Game of Life Dr. Jim Lupo Asst Dir Computational Enablement LSU Center for Computation & Technology 9 Jul 2015, Page 1 of 33 Overview Look at a helpful
More information