pysourceinfo
==============

The 'pysourceinfo' package provides basic runtime information on executed 
sourcefiles based on 'inspect' and additional sources.
The covered objects include packages, modules/files and functions/methods/scripts.

For code examples refer to the source package 'pysourceinfo.UseCases'.

**Downloads**:

* Sourceforge.net: https://sourceforge.net/projects/pysourceinfo/files/

* Github: https://github.com/ArnoCan/pysourceinfo/

**Online documentation**:

* https://pypi.python.org/pypi/pysourceinfo/
* https://pythonhosted.org/pysourceinfo/

setup.py
--------

The installer adds a few options to the standard setuptools options.

* *build_doc*: Creates *Sphinx* based documentation with embeded javadoc-style API documentation by *Epydoc*, html only.

* *build_sphinx*: Creates Sphinx part of the documentation as standalone html. Calls 'callDocSphinx.sh'.

* *build_epydoc*: Creates Epydoc part of the documentation as standalone html.

* *project_doc*: Install a local copy into the doc directory of the project.

* *instal_doc*: Install a local copy of the previously build documents in accordance to PEP-370.

* *test*: Runs PyUnit tests by discovery.

* *usecase*: Runs PyUnit tests on UseCases subdirectory by discovery.


* *--help-pysourceinfo*: Displays this help.

* *--no-install-required*: Suppresses installation dependency checks, requires appropriate PYTHONPATH.

* *--offline*: Sets online dependencies to offline, or ignores online dependencies.

* *--exit*: Exit 'setup.py'.


After successful installation the 'selftest' verifies basic checks by:

  *pysourceinfo --selftest*

with the exit value '0' when OK.

The option '-v' raises the degree of verbosity for inspection

  *pysourceinfo --selftest -v -v -v -v*
 

Project Data
------------

* PROJECT: 'pysourceinfo'

* MISSION: Extend the standard PyUnit package for arbitrary ExecUnits.

* VERSION: 00.01

* RELEASE: 00.01

* NICKNAME: 'Mimisbrunnr'

* STATUS: alpha

* AUTHOR: Arno-Can Uestuensoez

* COPYRIGHT: Copyright (C) 2010,2011,2015-2016 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez

* LICENSE: Artistic-License-2.0 + Forced-Fairplay-Constraints
  Refer to enclose documents:
  
  *  ArtisticLicense20.html - for base license: Artistic-License-2.0 

  *  licenses-amendments.txt - for amendments: Forced-Fairplay-Constraints

VERSIONS and RELEASES
---------------------

**Planned Releases:**

* RELEASE: 00.00.00x - Pre-Alpha: Extraction of the features from hard-coded application into a reusable package.

* RELEASE: 00.01.00x - Alpha: Completion of basic features. 

* RELEASE: 00.02.00x - Alpha: Completion of features, stable interface. 

* RELEASE: 00.03.00x - Beta: Accomplish test cases for medium to high complexity.

* RELEASE: 00.04.00x - Production: First production release. Estimated number of UnitTests := 250.

* RELEASE: 00.05.00x - Production: Various performance enhancements.


**Current Release: 00.01.012 - Alpha:**

OS-Support - Tested by PyUnit/Eclipse with Success:

* Linux: Fedora, CentOS-6, CentOS-7 - others should work, ToDo: RHEL-6, RHEL-7, Debian, and SuSE 

* Windows: Win10 - others see Cygwin

* Mac-OS: Snow Leopard - others should work too, last updates not yet tested.

* Cygwin: 2.874/64 bit


OS-Support - ToDo: Going to follow soon.

* BSD: ToDo: OpenBSD, FreeBSD - others should work

* UNIX: ToDo: Solaris-11 - should work

Python support: 2.6, and 2.7

Major Changes:

* Introduction of Python-2.6 support for legacy systems

* Added 2.6 support.

* Bug-Fixes.

Current test status:

* UnitTests: >100

* Use-Cases as UnitTests: >50

**Total**: >140

