pynojo Documentation Release unknown pynojo development team

Size: px
Start display at page:

Download "pynojo Documentation Release unknown pynojo development team"

Transcription

1 pynojo Documentation Release unknown pynojo development team November 05, 2013

2

3 Contents i

4 ii

5 Welcome! This documentation is generated on November 05, 2013 for pynojo unknown. Contents: Contents 1

6 2 Contents

7 CHAPTER 1 Notes for Developers Contents Notes for Developers Getting Started * Environment Setup * Configuration Miscellaneous Specifications and Instructions * Framework * Code Style * Documenting * Threading * Native Language Support (NLS) * Stylesheets and Javascripts Contact Kai Jia <jia.kai66@gmail.com> if you have any question about this page. 1.1 Getting Started Environment Setup 1. Install SQLite3 and its development packages if you don t already have them installed. Usually this is via your system s package manager. For example, on a Debian Linux system, do sudo apt-get install libsqlite3-dev. 2. Install virtualenv: $ sudo pip install virtualenv 3. Setup a workplace using virtualenv. Note that you may need to specify -p python2 option to tell virtualenv to use Python 2. Replace <path-to-your-workplace> with something you like: $ virtualenv <path-to-your-workplace> 4. Write your own init.sh (note that it has already been added to.gitignore): 3

8 $ cd <path-to-pynojo-source-root> $ echo export PATH=<path-to-your-workplace>/bin:$PATH > init.sh $../init.sh Note: the following steps assume that you have put init.sh at the right place and have executed../init.sh. 5. Use pip to get the dependencies installed: $ pip install pyramid sqlalchemy python-cjson # runtime dependencies $ pip install sphinx pyenchant babel \ sphinxcontrib-spelling pylint # development dependencies 6. Generate the.mo files and documents, which are not tracked by the version control system (see also Native Language Support (NLS) and Documenting): $ cd <path-to-pynojo-source-root>/utils/nls $./genmo $ cd../../docs $./gendoc 7. Download all the 3rd party utils according to utils/3rd-party/list: $ cd <path-to-pynojo-source-root>/utils/3rd-party $./download-all.sh 8. Generate the CSS and javascript files (see also Stylesheets and Javascripts): $ cd <path-to-pynojo-source-root>/utils $./gencss $./genjs Configuration The static system configuration package is pynojo.config. To allow the developers applying their local settings without having to change the system defaults, pynojo/config/overwrite.py has been added to.gitignore. Define a function named overwrite in that file and change the configuration there. An example file: # pylint: disable=c0111,r0201 from pynojo.config.db import DBConfig _engine = None _DBFILE = /tmp/pynojo.db # _DBFILE = :memory: class def get_session_maker(engine): from sqlalchemy.orm import sessionmaker, scoped_session ses = scoped_session(sessionmaker(bind = engine)) return def get_engine(): global _engine if _engine is not None: 4 Chapter 1. Notes for Developers

9 return _engine from sqlalchemy import create_engine, event _engine = create_engine( sqlite:/// + _DBFILE) event.listen(_engine, connect, lambda con, record: con.execute( PRAGMA foreign_keys=on )) return _engine def _init(): import logging class SQLFilter(logging.Filter): def filter(self, record): record.name = SQL return True logging.basicconfig( filename = /tmp/pynojo.log, format = %(asctime)s [%(name)s] %(message)s, datefmt = %H:%M:%S ) logging.getlogger( sqlalchemy.engine ).setlevel(logging.info) logging.getlogger( sqlalchemy.engine.base.engine ).addfilter(sqlfilter()) def overwrite(conf): _init() from os.path import isfile db_exists = isfile(_dbfile) conf.pyramid.settings[ reload_templates ] = True conf.db = MyDB() # install_db must be imported after conf.db is set from pynojo.model import install_db if not db_exists: install_db(conf.db.get_engine()) 1.2 Miscellaneous Specifications and Instructions Framework Pyramid is used as the web framework, and SQLAlchemy as the ORM. Note that pynojo uses a subclass of pyramid.request.request as the request factory; see pynojo. init.request Code Style Follow the Style Guide for Python Code. Use pylint to check the style and find potential bugs. Execute the run-pylint script to invoke pylint. The following lines should be included in every Python source file: # $File: <file name> # $Date: <last modification time> # # Copyright (C) 2012 the pynojo development team <see AUTHORS file> 1.2. Miscellaneous Specifications and Instructions 5

10 # # Contributors to this file: # <you name and here> # # This file is part of pynojo # # pynojo is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # pynojo is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with pynojo. If not, see < # Configure your editor to update the $File and $Date fields automatically. Add your name to the contributors field and the AUTHORS file. By the way, if vim is your favorite, you can add the following lines to your vimrc: autocmd filetype python set expandtab autocmd filetype python set textwidth= Documenting Write docstrings for every package, module, public class, public method, public function, etc. The documents should be written in English. Register all the global names in Global Name List. These documents are generated from restructuredtext sources and docstrings by Sphinx. Issue the following command to generate all the documents: $ cd <path-to-pynojo-source-root>/docs $./gendoc If environment variable PYNOJO_DOC_SPELLCHECK exists, then sphinxcontrib.spelling will be used for spellchecking of all the documents. The extra word list file is located at docs/wordlist.txt Threading Although current CPython implementation does not fully support multithreading, keep in mind that all the code should be thread-safe, so be careful when modifying global variables. To avoid confusion, unexpected behavior or overuse of resource (exceeding the thread limit in the server configuration), do not use multithreading unless absolutely necessary. If it is really necessary to spawn a child thread, remember to call pynojo.lib.register_thread_request() in the child thread to ensure that functions depending on pynojo.lib.get_thread_request() work correctly. 6 Chapter 1. Notes for Developers

11 1.2.5 Native Language Support (NLS) All the human-readable messages in pynojo python source code and templates should be written in English. There should NOT be any non-ascii characters in the source, except in nls/config.py, where TRANS_LIST describes the available translations. pynojo dose not use the NLS mechanism provided by Pyramid and Chameleon. Instead, pynojo has its own pynojo.nls package, which is based on GNU gettext. To generate the pot file, cd to utils/nls and execute./genpot. The pot file will be stored in the current directory. The locale directory is pynojo/nls/locale. To update the po files or generate the mo files, cd to utils/nls and execute./update-po or./genmo respectively. To localize: In a pyramid view callable, the request parameter passed to it will include the translation functions as methods named _ and _pl. They are appropriate for the locale of the client, which is already determined according to the information provided by request. _ and _pl are also added to the builtin namespace, so they can be invoked directly. This method is slightly slower than the one above, for it has to access thread local variable. It is assumed that the caller resides in the same thread as that of the pyramid view callable, otherwise pynojo.lib.register_thread_request() has to be called explicitly before calling _ or _pl. In a page template, the appropriate translation functions are the global functions named _ and _pl. See pynojo.nls.init() and pynojo.view for some further explanations. To add a new translation, use msginit to generate the po file from the pot file. Move the output po file to pynojo/nls/locale/<lang>/lc_messages/pynojo.po and append corresponding pynojo.nls.config.transinfo instance to TRANS_LIST defined in pynojo/nls/config.py. DO NOT change the order of the translations already listed there. Here are two examples: In a pyramid view = mkroute(pattern = ), renderer = template/index.pt ) def _index(request): return { msg : request._( msgfrompython ) + _( builtin-trans )} In a page template: <div metal:use-macro="layout"> <div metal:fill-slot="content"> ${_( {0}from{t}, msg, t = template )} <br /> ${msg} <br /> ${_pl( singular, plural, 1)} <br /> ${_pl( singular, plural, 2)} <br /> </div> </div> Locale detection details: If the user does not login, detect the locale via Accept-Language field in the HTTP request header. Cookie: TODO Stylesheets and Javascripts pynojo uses closure-stylesheets to minify the stylesheets. Put all the GSS files in pynojo/view/static/gss/, and generate the all-in-one CSS file using the following: 1.2. Miscellaneous Specifications and Instructions 7

12 $ cd <path-to-pynojo-source-root>/utils $./gencss UglifyJS is used to minify the javascripts. Note that you have to get nodejs installed. Put all the scripts in pynojo/view/static/gss/, and generate the all-in-one js file by: $ cd <path-to-pynojo-source-root>/utils $./genjs 8 Chapter 1. Notes for Developers

13 CHAPTER 2 The Permission Model Contents The Permission Model Users and User Groups Problem Access Control Event Access Control Access Limiter (ACL) Contact Kai Jia <jia.kai66@gmail.com> if you have any question about this page. 2.1 Users and User Groups Each user can be assigned to multiple user groups, and each user group can be given multiple permissions, which are used for authorization of system management tasks. The permissions are defined in pynojo.model.permdef.usergrp. For a user, the permissions that it has is the union of the permissions of groups that it belongs to. 2.2 Problem Access Control Whether a problem can be accessed by a particular user is determined by the user s accessibility to the problem groups(pg) that it belongs to. Each PG is associated to an ACL. A user is able to access a PG if the ACL associated with that PG allows the user s request. A user gains access to a problem if he has access to at least one of the PGs that it belongs to. Although this might weaken the access controllability, it is designed so to simplify overall design and speed up listing problems. A user can only see the PGs that he has access to, so under such design, when listing problems in a PG, it is not needed to consider for each problem the user s access to other PGs that the it belongs to. 9

14 2.3 Event Access Control An event is an activity that lasts for a period of time, associated with some problems and can be associated with an ACL. For example, it can be a time-limited assignment, a test or a contest. During an event, the problems in this event are locked. Locking a problem means that in the problem list, it can only be viewed, but the user can not post new submissions or read the sources of his previous submissions; instead, the user must go to the event page to submit the problem, and only sources submitted after the event starts might be viewed. There are different kinds of events, and each event implementation can have control over the accessibility of problems, submissions or any other related resource. 2.4 Access Limiter (ACL) ACL is an abstract access control mechanism used by pynojo. It can be viewed as an abstract base class, and the resource that needs access control can be associated with an instance of an implemented subclass of ACL. Each ACL instance is identified by a unique ACL id. This is the basic idea of ACL, and refer to pynojo.lib.acl and pynojo.model.acl for the detailed API descriptions. 10 Chapter 2. The Permission Model

15 CHAPTER 3 Global Name List The global names that are not documented in the API Reference should be listed here. Contents Global Name List Database Session Renderers Cookies Views 3.1 Database Session A contextual session defined in pynojo.model is used. To create a session instance ses in some function, just do the following: from pynojo.model import Session def foo(): ses = Session() # do something with ses Direct invoking of Session.commit() is usually unnecessary, except when some operations that might fail and call Session.rollback() are performed, in which case Session.commit() should be called before starting any of those operations. The committing is performed in a subscriber defined in pynojo.model. 3.2 Renderers The following renderers are provided by pynojo (see the source of pynojo.view.setup_pyramid_conf()): cjson: replace the json renderer, to gain some efficiency. 11

16 3.3 Cookies Cookie Name Description Source Reference uid the id of the user that logged in pynojo.lib.user token the authentication code of the pynojo.lib.user 3.4 Views 12 Chapter 3. Global Name List

17 CHAPTER 4 API Reference 13

18 14 Chapter 4. API Reference

19 CHAPTER 5 Indices and tables genindex search 15

translationstring Documentation

translationstring Documentation translationstring Documentation Release 1.4.dev0 Pylons Developers August 29, 2017 Contents 1 Translation Strings 3 1.1 Using The TranslationString Class............................... 3 1.2 Using the

More information

mongodb-tornado-angular Documentation

mongodb-tornado-angular Documentation mongodb-tornado-angular Documentation Release 0.1.1 David Levy February 22, 2017 Contents 1 Installation 3 1.1 linux/mac................................................. 3 1.2 Python3.x.................................................

More information

invenio-formatter Documentation

invenio-formatter Documentation invenio-formatter Documentation Release 1.0.0 CERN Mar 25, 2018 Contents 1 User s Guide 3 1.1 Installation................................................ 3 1.2 Configuration...............................................

More information

pyramid_assetmutator Documentation

pyramid_assetmutator Documentation pyramid_assetmutator Documentation Release 1.0b1 Seth Davis February 22, 2017 Contents 1 Overview 1 2 Installation 3 3 Setup 5 4 Usage 7 5 Mutators 11 6 Settings 13 7 Asset Concatenation (a.k.a Asset

More information

django-baton Documentation

django-baton Documentation django-baton Documentation Release 1.3.1 abidibo Nov 05, 2018 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................

More information

django-baton Documentation

django-baton Documentation django-baton Documentation Release 1.0.7 abidibo Nov 13, 2017 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................

More information

Quick.JS Documentation

Quick.JS Documentation Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................

More information

gettext.js Documentation

gettext.js Documentation gettext.js Documentation Release 1.0 Jonas Obrist Jan 26, 2018 Contents 1 Installation 3 1.1 Installation................................................ 3 2 Usage 5 2.1 Workflow.................................................

More information

gettext.js Documentation

gettext.js Documentation gettext.js Documentation Release 1.0 Jonas Obrist Jul 23, 2017 Contents 1 Installation 3 1.1 Dependencies............................................... 3 1.2 Installation................................................

More information

Application documentation Documentation

Application documentation Documentation Application documentation Documentation Release 0.1 Daniele Procida June 14, 2016 Contents 1 Tutorial 3 1.1 Setting up................................................. 3 1.2 Configuring the documentation.....................................

More information

CID Documentation. Release Francis Reyes

CID Documentation. Release Francis Reyes CID Documentation Release 0.2.0 Francis Reyes Sep 30, 2017 Contents 1 Django Correlation IDs 1 1.1 Features.................................................. 1 Python Module Index 9 i ii CHAPTER 1 Django

More information

Jarvis Web Gateway. Installation Instructions. Jonathan Couper-Smartt

Jarvis Web Gateway. Installation Instructions. Jonathan Couper-Smartt Jarvis Web Gateway Installation Instructions Jonathan Couper-Smartt jarvis@nsquared.co.nz Abstract: The Jarvis Web Gateway is a lightweight web-service designed to give Rich Internet Applications a rapid,

More information

Gunnery Documentation

Gunnery Documentation Gunnery Documentation Release 0.1 Paweł Olejniczak August 18, 2014 Contents 1 Contents 3 1.1 Overview................................................. 3 1.2 Installation................................................

More information

Connexion Sqlalchemy Utils Documentation

Connexion Sqlalchemy Utils Documentation Connexion Sqlalchemy Utils Documentation Release 0.1.4 Michael Housh Apr 17, 2017 Contents 1 Connexion Sqlalchemy Utils 3 1.1 Features.................................................. 3 1.2 Running example

More information

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message.

CGI 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 information

I hate money. Release 1.0

I hate money. Release 1.0 I hate money Release 1.0 Nov 01, 2017 Contents 1 Table of content 3 2 Indices and tables 15 i ii «I hate money» is a web application made to ease shared budget management. It keeps track of who bought

More information

Poulpe Documentation. Release Edouard Klein

Poulpe Documentation. Release Edouard Klein Poulpe Documentation Release 0.0.5 Edouard Klein Jul 18, 2017 Contents 1 Poulpe 1 1.1 Features.................................................. 1 2 Usage 3 3 Installation 5 4 Contributing 7 4.1 Types

More information

Kinto Documentation. Release Mozilla Services Da French Team

Kinto Documentation. Release Mozilla Services Da French Team Kinto Documentation Release 0.2.2 Mozilla Services Da French Team June 23, 2015 Contents 1 In short 3 2 Table of content 5 2.1 API Endpoints.............................................. 5 2.2 Installation................................................

More information

Stepic Plugins Documentation

Stepic Plugins Documentation Stepic Plugins Documentation Release 0 Stepic Team May 06, 2015 Contents 1 Introduction 3 1.1 Quiz Architecture............................................ 3 1.2 Backend Overview............................................

More information

djangotribune Documentation

djangotribune Documentation djangotribune Documentation Release 0.7.9 David THENON Nov 05, 2017 Contents 1 Features 3 2 Links 5 2.1 Contents................................................. 5 2.1.1 Install..............................................

More information

TPS Documentation. Release Thomas Roten

TPS Documentation. Release Thomas Roten TPS Documentation Release 0.1.0 Thomas Roten Sep 27, 2017 Contents 1 TPS: TargetProcess in Python! 3 2 Installation 5 3 Contributing 7 3.1 Types of Contributions..........................................

More information

Django-CSP Documentation

Django-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 information

Roman Numeral Converter Documentation

Roman Numeral Converter Documentation Roman Numeral Converter Documentation Release 0.1.0 Adrian Cruz October 07, 2014 Contents 1 Roman Numeral Converter 3 1.1 Features.................................................. 3 2 Installation 5

More information

docs-python2readthedocs Documentation

docs-python2readthedocs Documentation docs-python2readthedocs Documentation Release 0.1.0 Matthew John Hayes Dec 01, 2017 Contents 1 Introduction 3 2 Install Sphinx 5 2.1 Pre-Work................................................. 5 2.2 Sphinx

More information

newauth Documentation

newauth Documentation newauth Documentation Release 0.0.1 adrien-f April 11, 2015 Contents 1 Installation 3 1.1 Dependencies............................................... 3 1.2 Downloading...............................................

More information

syslog-ng Apache Kafka destination

syslog-ng Apache Kafka destination syslog-ng Apache Kafka destination Release 0.1.11 Julien Anguenot Aug 23, 2017 Contents 1 syslog-ng-mod-python Apache Kafka destination 3 2 librdkafka installation 5 2.1 DEB packages via apt..........................................

More information

OnRISC. IoT Manual. Vision Systems GmbH. Edition: October 2017

OnRISC. IoT Manual. Vision Systems GmbH. Edition: October 2017 OnRISC IoT Manual Edition: October 2017 Vision Systems GmbH Tel: +49 40 528 401 0 Fax: +49 40 528 401 99 Web: www.visionsystems.de Support: faq.visionsystems.de The software described in this manual is

More information

withenv Documentation

withenv Documentation withenv Documentation Release 0.7.0 Eric Larson Aug 02, 2017 Contents 1 withenv 3 2 Installation 5 3 Usage 7 3.1 YAML Format.............................................. 7 3.2 Command Substitutions.........................................

More information

Python Project Documentation

Python 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 information

Simple libtorrent streaming module Documentation

Simple libtorrent streaming module Documentation Simple libtorrent streaming module Documentation Release 0.1.0 David Francos August 31, 2015 Contents 1 Simple libtorrent streaming module 3 1.1 Dependences...............................................

More information

pytest-benchmark Release 2.5.0

pytest-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 information

doconv Documentation Release Jacob Mourelos

doconv Documentation Release Jacob Mourelos doconv Documentation Release 0.1.6 Jacob Mourelos October 17, 2016 Contents 1 Introduction 3 2 Features 5 2.1 Available Format Conversions...................................... 5 3 Installation 7 3.1

More information

A Sample Approach to your Project

A Sample Approach to your Project A Sample Approach to your Project An object-oriented interpreted programming language Python 3 :: Flask :: SQLite3 A micro web framework written in Python A public domain, barebones SQL database system

More information

How to Contribute to a Sphinx Doc Documentation

How to Contribute to a Sphinx Doc Documentation How to Contribute to a Sphinx Doc Documentation Release 1.0 Haoxi Zhan December 18, 2013 Contents 1 Install Sphinx 3 1.1 Linux................................................... 3 1.2 Mac OS X................................................

More information

Multi-Mechanize - Performance Test Framework. Release

Multi-Mechanize - Performance Test Framework. Release Multi-Mechanize - Performance Test Framework Release 1.2.0.1 Nov 09, 2017 Contents 1 Performance & Load Tests in Python 3 2 Site Menu 5 3 Discussion / Help / Updates 19 4 Install / Setup 21 5 Usage Instructions

More information

Python wrapper for Viscosity.app Documentation

Python wrapper for Viscosity.app Documentation Python wrapper for Viscosity.app Documentation Release Paul Kremer March 08, 2014 Contents 1 Python wrapper for Viscosity.app 3 1.1 Features.................................................. 3 2 Installation

More information

chatterbot-weather Documentation

chatterbot-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 information

Signals Documentation

Signals Documentation Signals Documentation Release 0.1 Yeti November 22, 2015 Contents 1 Quickstart 1 2 What is Signals? 3 3 Contents 5 3.1 Get Started................................................ 5 3.2 Try the Demo Server...........................................

More information

Programming in Python

Programming in Python COURSE DESCRIPTION This course presents both the programming interface and the techniques that can be used to write procedures in Python on Unix / Linux systems. COURSE OBJECTIVES Each participant will

More information

Archan. Release 2.0.1

Archan. 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 information

almir Documentation Release Domen Kožar

almir Documentation Release Domen Kožar almir Documentation Release 0.1.8.0 Domen Kožar January 22, 2014 Contents i ii almir Documentation, Release 0.1.8.0 Author Domen Kožar Source code github.com project Bug tracker github.com

More information

tinycss Documentation

tinycss 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 information

Plumeria Documentation

Plumeria Documentation Plumeria Documentation Release 0.1 sk89q Aug 20, 2017 Contents 1 Considerations 3 2 Installation 5 2.1 Windows................................................. 5 2.2 Debian/Ubuntu..............................................

More information

I2C LCD Documentation

I2C LCD Documentation I2C LCD Documentation Release 0.1.0 Peter Landoll Sep 04, 2017 Contents 1 I2C LCD 3 1.1 Features.................................................. 3 1.2 Credits..................................................

More information

SendCloud OpenCart 2 Extension Documentation

SendCloud OpenCart 2 Extension Documentation SendCloud OpenCart 2 Extension Documentation Release 1.2.0 Comercia November 22, 2017 Contents 1 GitHub README info 3 1.1 Links................................................... 3 1.2 Version Support.............................................

More information

Language Localization Guide. version v12.15

Language Localization Guide. version v12.15 version v12.15 Disclaimer This document is for informational purposes only and is subject to change without notice. This document and its contents, including the viewpoints, dates and functional content

More information

Python simple arp table reader Documentation

Python simple arp table reader Documentation Python simple arp table reader Documentation Release 0.0.1 David Francos Nov 17, 2017 Contents 1 Python simple arp table reader 3 1.1 Features.................................................. 3 1.2 Usage...................................................

More information

pyldavis Documentation

pyldavis Documentation pyldavis Documentation Release 2.1.2 Ben Mabey Feb 06, 2018 Contents 1 pyldavis 3 1.1 Installation................................................ 3 1.2 Usage...................................................

More information

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav Catbook Workshop: Intro to NodeJS Monde Duinkharjav What is NodeJS? NodeJS is... A Javascript RUNTIME ENGINE NOT a framework NOT Javascript nor a JS package It is a method for running your code in Javascript.

More information

yardstick Documentation

yardstick 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 information

Introduction Introduction Architecture Overview LAMP Server Limesurvey Custom Made Development... 3

Introduction Introduction Architecture Overview LAMP Server Limesurvey Custom Made Development... 3 INSTALLATION GUIDE INTRODUCTION This Installation Guide provides guidelines and steps for installing the Tracking progress Tool (http://www.trackingprogressinitiative.org) on a local server. CONTENTS Introduction...

More information

Vector Issue Tracker and License Manager - Administrator s Guide. Configuring and Maintaining Vector Issue Tracker and License Manager

Vector Issue Tracker and License Manager - Administrator s Guide. Configuring and Maintaining Vector Issue Tracker and License Manager Vector Issue Tracker and License Manager - Administrator s Guide Configuring and Maintaining Vector Issue Tracker and License Manager Copyright Vector Networks Limited, MetaQuest Software Inc. and NetSupport

More information

APIs and API Design with Python

APIs and API Design with Python APIs and API Design with Python Lecture and Lab 5 Day Course Course Overview Application Programming Interfaces (APIs) have become increasingly important as they provide developers with connectivity to

More information

django-generic-filters Documentation

django-generic-filters Documentation django-generic-filters Documentation Release 0.11.dev0 Novapost August 28, 2014 Contents 1 Example 3 2 Forms 5 3 Ressources 7 4 Contents 9 4.1 Demo project...............................................

More information

Aldryn Installer Documentation

Aldryn Installer Documentation Aldryn Installer Documentation Release 0.2.0 Iacopo Spalletti February 06, 2014 Contents 1 django CMS Installer 3 1.1 Features.................................................. 3 1.2 Installation................................................

More information

eventbrite-sdk-python Documentation

eventbrite-sdk-python Documentation eventbrite-sdk-python Documentation Release 3.3.4 Eventbrite December 18, 2016 Contents 1 eventbrite-sdk-python 3 1.1 Installation from PyPI.......................................... 3 1.2 Usage...................................................

More information

Server-side Development using Python and SQL

Server-side Development using Python and SQL Lab 2 Server-side Development using Python and SQL Spring 2018 TDDD97 Web Programming http://www.ida.liu.se/~tddd97/ Department of Computer and Information Science (IDA) Linköping University Sweden 1 2

More information

Watson - DB. Release 2.7.0

Watson - DB. Release 2.7.0 Watson - DB Release 2.7.0 Jan 15, 2018 Contents 1 Build Status 3 2 Dependencies 5 3 Installation 7 4 Testing 9 5 Contributing 11 6 Table of Contents 13 6.1 Usage...................................................

More information

Nbconvert Refactor Final 1.0

Nbconvert Refactor Final 1.0 Nbconvert Refactor Final 1.0 Jonathan Frederic June 20, 2013 Part I Introduction IPython is an interactive Python computing environment[1]. It provides an enhanced interactive Python shell. The IPython

More information

Siteforce Pilot: Best Practices

Siteforce Pilot: Best Practices Siteforce Pilot: Best Practices Getting Started with Siteforce Setup your users as Publishers and Contributors. Siteforce has two distinct types of users First, is your Web Publishers. These are the front

More information

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears About the Tutorial TurboGears is a Python web application framework, which consists of many modules. It is designed around the MVC architecture that are similar to Ruby on Rails or Struts. TurboGears are

More information

Python Project Example Documentation

Python 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 information

Everything about Linux User- and Filemanagement

Everything about Linux User- and Filemanagement Everything about Linux User- and Filemanagement Lukas Prokop 20. April 2009 Inhaltsverzeichnis 1 Who I am 2 1.1 whoami..................................... 3 1.2 passwd......................................

More information

BanzaiDB Documentation

BanzaiDB Documentation BanzaiDB Documentation Release 0.3.0 Mitchell Stanton-Cook Jul 19, 2017 Contents 1 BanzaiDB documentation contents 3 2 Indices and tables 11 i ii BanzaiDB is a tool for pairing Microbial Genomics Next

More information

Pyak47 - Performance Test Framework. Release 1.2.1

Pyak47 - Performance Test Framework. Release 1.2.1 Pyak47 - Performance Test Framework Release 1.2.1 November 07, 2015 Contents 1 Performance & Load Tests in Python 3 2 Site Menu 5 2.1 Detailed Install and Setup........................................

More information

Language Localization Guide. version v12.13

Language Localization Guide. version v12.13 version v12.13 This manual contains information about software products from Epicor Software Corporation. The software described in this manual and the manual itself are furnished under the terms and conditions

More information

CS Programming Languages: Python

CS Programming Languages: Python CS 3101-1 - Programming Languages: Python Lecture 5: Exceptions / Daniel Bauer (bauer@cs.columbia.edu) October 08 2014 Daniel Bauer CS3101-1 Python - 05 - Exceptions / 1/35 Contents Exceptions Daniel Bauer

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

Cross-platform daemonization tools.

Cross-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 information

Unifer Documentation. Release V1.0. Matthew S

Unifer Documentation. Release V1.0. Matthew S Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................

More information

g-pypi Documentation Release 0.3 Domen Kožar

g-pypi Documentation Release 0.3 Domen Kožar g-pypi Documentation Release 0.3 Domen Kožar January 20, 2014 Contents i ii Author Domen Kožar Source code Github.com source browser Bug tracker Github.com issues Generated January 20,

More information

Smashing Node.JS: JavaScript Everywhere

Smashing Node.JS: JavaScript Everywhere Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing

More information

Getting Started with the Google Cloud SDK on ThingsPro 2.0 to Publish Modbus Data and Subscribe to Cloud Services

Getting Started with the Google Cloud SDK on ThingsPro 2.0 to Publish Modbus Data and Subscribe to Cloud Services to Publish Modbus Data and Subscribe to Cloud Services Contents Moxa Technical Support Team support@moxa.com 1 Introduction... 2 2 Application Scenario... 2 3 Prerequisites... 3 4 Solution... 3 4.1 Set

More information

Ceilometer Documentation

Ceilometer Documentation Ceilometer Documentation Release 0.0 OpenStack, LLC July 06, 2012 CONTENTS 1 What is the purpose of the project and vision for it? 3 2 Table of contents 5 2.1 Initial setup................................................

More information

Django Better Cache Documentation

Django Better Cache Documentation Django Better Cache Documentation Release 0.7.0 Calvin Spealman February 04, 2016 Contents 1 Table of Contents 3 1.1 bettercache template tags......................................... 3 1.2 CacheModel...............................................

More information

GMusicProcurator Documentation

GMusicProcurator Documentation GMusicProcurator Documentation Release 0.5.0 Mark Lee Sep 27, 2017 Contents 1 Features 3 2 Table of Contents 5 2.1 Installation................................................ 5 2.1.1 Requirements..........................................

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

Flask Web Development Course Catalog

Flask Web Development Course Catalog Flask Web Development Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com

More information

PHP & PHP++ Curriculum

PHP & PHP++ Curriculum PHP & PHP++ Curriculum CORE PHP How PHP Works The php.ini File Basic PHP Syntax PHP Tags PHP Statements and Whitespace Comments PHP Functions Variables Variable Types Variable Names (Identifiers) Type

More information

Release Fulfil.IO Inc.

Release Fulfil.IO Inc. api a idocumentation Release 0.1.0 Fulfil.IO Inc. July 29, 2016 Contents 1 api_ai 3 1.1 Features.................................................. 3 1.2 Installation................................................

More information

Django-Select2 Documentation. Nirupam Biswas

Django-Select2 Documentation. Nirupam Biswas Nirupam Biswas Mar 07, 2018 Contents 1 Get Started 3 1.1 Overview................................................. 3 1.2 Installation................................................ 3 1.3 External Dependencies..........................................

More information

Mantis STIX Importer Documentation

Mantis STIX Importer Documentation Mantis STIX Importer Documentation Release 0.2.0 Siemens February 27, 2014 Contents 1 Mantis STIX Importer 3 1.1 Documentation.............................................. 3 1.2 Quickstart................................................

More information

Poetaster. Release 0.1.1

Poetaster. Release 0.1.1 Poetaster Release 0.1.1 September 21, 2016 Contents 1 Overview 1 1.1 Installation................................................ 1 1.2 Documentation.............................................. 1 1.3

More information

Talend Component tgoogledrive

Talend Component tgoogledrive Talend Component tgoogledrive Purpose and procedure This component manages files on a Google Drive. The component provides these capabilities: 1. Providing only the client for other tgoogledrive components

More information

Bricks Documentation. Release 1.0. Germano Guerrini

Bricks Documentation. Release 1.0. Germano Guerrini Bricks Documentation Release 1.0 Germano Guerrini January 27, 2015 Contents 1 Requirements 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2 Basic Usage...............................................

More information

Game Server Manager Documentation

Game 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 information

smartfilesorter Documentation

smartfilesorter Documentation smartfilesorter Documentation Release 0.2.0 Jason Short September 14, 2014 Contents 1 Smart File Sorter 3 1.1 Features.................................................. 3 2 Installation 5 3 Usage Example

More information

semidbm Documentation

semidbm Documentation semidbm Documentation Release 0.4.0 James Saryerwinnie Jr September 04, 2013 CONTENTS i ii semidbm is a pure python implementation of a dbm, which is essentially a persistent key value store. It allows

More information

Frontier Documentation

Frontier Documentation Frontier Documentation Release 0.1.3-dev Sam Nicholls August 14, 2014 Contents 1 Frontier 3 1.1 Requirements............................................... 3 1.2 Installation................................................

More information

f5-icontrol-rest Documentation

f5-icontrol-rest Documentation f5-icontrol-rest Documentation Release 1.3.10 F5 Networks Aug 04, 2018 Contents 1 Overview 1 2 Installation 3 2.1 Using Pip................................................. 3 2.2 GitHub..................................................

More information

TangeloHub Documentation

TangeloHub 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 information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit Gerrit About the Tutorial Gerrit is a web-based code review tool, which is integrated with Git and built on top of Git version control system (helps developers to work together and maintain the history

More information

Airoscript-ng Documentation

Airoscript-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 information

manifold Documentation

manifold Documentation manifold Documentation Release 0.0.1 Open Source Robotics Foundation Mar 04, 2017 Contents 1 What is Manifold? 3 2 Installation 5 2.1 Ubuntu Linux............................................... 5 2.2

More information

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

Standard 1 The student will author web pages using the HyperText Markup Language (HTML) I. Course Title Web Application Development II. Course Description Students develop software solutions by building web apps. Technologies may include a back-end SQL database, web programming in PHP and/or

More information

Installation Guide. Version Last updated: August tryfoexnow.com 1 of 3

Installation Guide. Version Last updated: August tryfoexnow.com 1 of 3 Installation Guide Version 4.0.1 @FOEXplugins Last updated: August 2018 tryfoexnow.com 1 of 3 FOEX Installation Guide, version 4.0.1 Copyright 2018, FOEX GmbH. All rights reserved. Authors: Peter Raganitsch,

More information

django-reinhardt Documentation

django-reinhardt Documentation django-reinhardt Documentation Release 0.1.0 Hyuntak Joo December 02, 2016 Contents 1 django-reinhardt 3 1.1 Installation................................................ 3 1.2 Usage...................................................

More information

Introduction to Python Code Quality

Introduction to Python Code Quality Introduction to Python Code Quality Clarity and readability are important (easter egg: type import this at the Python prompt), as well as extensibility, meaning code that can be easily enhanced and extended.

More information

Management Tools. Management Tools. About the Management GUI. About the CLI. This chapter contains the following sections:

Management Tools. Management Tools. About the Management GUI. About the CLI. This chapter contains the following sections: This chapter contains the following sections:, page 1 About the Management GUI, page 1 About the CLI, page 1 User Login Menu Options, page 2 Customizing the GUI and CLI Banners, page 3 REST API, page 3

More information

Brunch Documentation. Release Brunch team

Brunch Documentation. Release Brunch team Brunch Documentation Release 1.2.2 Brunch team June 22, 2012 CONTENTS i ii Contents: CONTENTS 1 2 CONTENTS CHAPTER ONE FAQ 1.1 I want to start new project with Brunch. What s the workflow? Create new

More information