SOFA
Paton-Simpson & Associates Ltd
Auckland, New Zealand
SOFA Statistics
Developing an Application in Python
Grant Paton-...
SOFA
Paton-Simpson & Associates Ltd
Auckland, New Zealand
Overview
● Focusing on the SOFA application
● Touching on topics...
SOFA
Paton-Simpson & Associates Ltd
Auckland, New Zealand
SOFA Introduction
● Statistics – technical, intimidating, and … ...
SOFA
Paton-Simpson & Associates Ltd
Auckland, New Zealand
Introduction cont ...
● Good response - over 25,000 downloads so...
SOFA Architecture
SQLite
MySQL
MS Access
Linking
Python scripts
ready to glue
together
PostgreSQL
SQL Server
Excel CSV
Goo...
SOFA Architecture
SQLite
MySQL
MS Access
Linking
PostgreSQL
SQL Server
HTML with
Javascript and
dynamic images.
Printable ...
HTML Report Table Output
● Complex tables possible – nesting, row and col %s, std dev, raw data etc
● Can copy and paste i...
Dojo Javascript/SVG Toolkit for Charts
● Needed to build single Dojo script, modify, and minify
● Needed decent web render...
Matplotlib for Auxiliary Charts
● Histograms, clustered bar charts, and scatterplots
● Boomslang for clustered bar charts
Cross-Platform wxPython GUI Toolkit
● Native widgets
● If you can figure out how, you can probably do it
Internationalised
● Have to think unicode at every point
● Use standard approaches – pot, mo files, gettext, _() function
...
Encouraging Responses
Demonstration
Upcoming SlideShare
Loading in …5
×

SOFA Statistics - Developing a Python Application

13,121 views

Published on

Published in: Art & Photos, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
13,121
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SOFA Statistics - Developing a Python Application

  1. 1. SOFA Paton-Simpson & Associates Ltd Auckland, New Zealand SOFA Statistics Developing an Application in Python Grant Paton-Simpson sofastatistics.com
  2. 2. SOFA Paton-Simpson & Associates Ltd Auckland, New Zealand Overview ● Focusing on the SOFA application ● Touching on topics like: ● GUI toolkits ● Integrating web tech into desktop ● Internationalisation ● Resources for open source projects ● Promoting a project ... ● Please ask questions
  3. 3. SOFA Paton-Simpson & Associates Ltd Auckland, New Zealand SOFA Introduction ● Statistics – technical, intimidating, and … essential ● SOFA – Making Statistics Open For All ● Desktop reporting, analysis and stats package ● Gap in market ● free and open source ● ease of use ● learn as you go ● beautiful output
  4. 4. SOFA Paton-Simpson & Associates Ltd Auckland, New Zealand Introduction cont ... ● Good response - over 25,000 downloads so far ● Runs on Windows, Mac, Linux ● Released under AGPL3 open source licence ● Built with Python, wxPython, Matplotlib, and the Dojo Javascript/SVG library
  5. 5. SOFA Architecture SQLite MySQL MS Access Linking Python scripts ready to glue together PostgreSQL SQL Server Excel CSV GoogleODF Importing HTML with Javascript and dynamic images. Printable and web-ready. Display within SOFA GUI
  6. 6. SOFA Architecture SQLite MySQL MS Access Linking PostgreSQL SQL Server HTML with Javascript and dynamic images. Printable and web-ready. (no GUI)
  7. 7. HTML Report Table Output ● Complex tables possible – nesting, row and col %s, std dev, raw data etc ● Can copy and paste into spreadsheet ● Themable and ready for sharing
  8. 8. Dojo Javascript/SVG Toolkit for Charts ● Needed to build single Dojo script, modify, and minify ● Needed decent web rendering engine for wxPython on each platform
  9. 9. Matplotlib for Auxiliary Charts ● Histograms, clustered bar charts, and scatterplots ● Boomslang for clustered bar charts
  10. 10. Cross-Platform wxPython GUI Toolkit ● Native widgets ● If you can figure out how, you can probably do it
  11. 11. Internationalised ● Have to think unicode at every point ● Use standard approaches – pot, mo files, gettext, _() function ● Launchpad makes it easy ● English, Croatian, Spanish, Russian, Galician, & Breton so far
  12. 12. Encouraging Responses
  13. 13. Demonstration

×