Profile cover photo
Profile photo
Анастасия Трубицына
8 followers
8 followers
About
Communities and Collections
View all
Posts

Post has shared content
Python, the "glue" language on Ubuntu, Windows, Mac OS X!

What libraries to use to achieve what - a strategical overview for enterprises and governments - the most notable tools:

* To write portable desktop programs, use Tkinter. It comes by default with all Python versions on all platforms - with native look.and feel: "Write once, run everywhere!". Example: Thonny Python IDE - http://thonny.org Handbook, full documentation for Tkinter you can find on https://docs.python.org/3/library/tk.html. Examples: https://www.python-kurs.eu/python_tkinter.php

* Alternatively use PyGTK3: Example: Gimp. https://python-gtk-3-tutorial.readthedocs.io/en/latest/

* To write browser applications, use Flask: Flask is a framework building framework - written in Python. Nothing, you can't do with Flask! Here a tutorial with plenty of examples: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-now-with-python-3-support

* Electron is a slightly patched Chrome browser, which looks like a native desktop application. But inside - you find HTML5 widgets! See Atom, VS Code. Both written with Electron, coming with installers on all platforms. Electron mostly gets paired with node.js, but it also can be run with Flask. To make your web application a fully integrated desktop application on all platforms, it just needs to add 6 lines of code - and an icon. Peanuts! Electron comes with packager and installer for all platforms. https://github.com/electron/electron/blob/master/README.md - Desktop'ify your cloud applications!

* SQLite3/4 - SQLite not only is a SQL server, it's also a library, that can be directly imported into Python. Use for local databases, e.g. as Microsoft Access clone. As GUI you can use Tkinter, PyGTK3 or Flask or - all at the same time! http://charlesleifer.com/blog/using-sqlite4-s-lsm-storage-engine-as-a-stand-alone-nosql-database-with-python/

* PostgresSQL not only can completely replace Oracle (including PL/SQL), PostgreSQL also has a "listener/notifier" mechanism to automatically (event driven!) inform the Python script, when new data has arrived. Python then - in realtime - informs the Browser via websockets. Ideal in collaboration environments. See e.g. Tython, ERP5, Odoo. Watch the video by Brandon Tubbs: https://youtu.be/PsorlkAF83s - sources: https://github.com/btubbs/todopy-pg

* PostgreSQL-XL is a fully compatible PostgreSQL version but you can build up huge, decentralized, sharded, multi-master clusters with it. Fully supported by NTT, Japan. Use for online and offline use - With PostgreSQL-XL locally installed on a notebook, it automatically resyncs when going online or being back in office: https://www.postgres-xl.org Finally much more advanced than Oracle 12g or Microsoft's CosmosDB. And - free!

* Sophia ( http://sophia.systems ) is the fastest KV database on earth. With 800,000 queries, inserts, updates per second - on commodity hardware - it fulfills even highest demands on throughput and latency. Use as server over network or - as library in Python. Compare to SQLlite4 as Python library - ultra fast!!!

* iPython notebook is a Python web interface. Excellent for teaching, but also scientific applications, statictics (R, PSPP), AI (TensorFlow). With PyWebWidgets you get HTML5 widgets without having to program a single line of Javascript. https://ipywidgets.readthedocs.io/en/stable/embedding.html

* Jupyter is similar to iPython notebook, but much more advanced. Installed as "Jupyter Hub", you get collaboration within your enterprise for free. With PyWebWidgets you can build your own PowerBI or Tableau server, giving you a 'live view' on SQL data: https://jupyterhub.readthedocs.io/en/stable/

* Blender3D not only is a 3D editor. You also can cut videos with it, project videos on rotating surfaces and many things more. Today, Blender3D is used as CAD replacement as well as library for own programs.

* Printing, printer drivers often are considered a problem. CUPS is a free, open source printer daemon, that was bought by Apple, that is used in Mac OS X, as well as in Ubuntu and - what most people don't know - on Windows. You can extract the .PPD from Windows .cap (rename as .zip and unzip) and use in Ubuntu as well as Mac OS X. .PPD is identical on all 3 platforms. http://www.cups.org

* Network printer: Python, by default, comes with highly sophisticated PDF libraries to create and even edit PDF files in-memory, using a PDF as formula, template. Most business printers today have a mail interface. Simply create PDF and send it as mail attachment to the printer. That's it! https://github.com/pmaupin/pdfrw/blob/master/README.rst#reading-pdfs

* PyPy is a Python3 JIT compiler written in Python comparable with Google V8 JIT engine (node.js) or Microsofts .NET compiler. Development is heavily sponsored by European Community.

* Mobile applications can be written in Python as well. You already have used plenty of them on your Android even without knowing: https://kivy.org/doc/stable/guide/android.html - Perfect for having enterprise workflow across machines, on mobiles.

In fact, Python is a complete, portable cosmos that easily replaces .NET and Java. It comes at no license fees, since it was completely community driven, from the beginning. It is also free from "API patents", see Oracle-Google 8.8 billion dollar lawsuit.

Perfect to seamlessly migrate between all platforms, finally giving Microsoft, Apple the pass! ;-)

Needed qualifications to master that environment, e.g. to improve packages, remove bugs on your own are quite low: C, Python, SQL, bash. That's it!

Most notable tool: Thonny IDE. Originally made for beginners, Thonny also fulfills all demands on professional development. It may surprise you: Thonny not only is a Python program, it's also a library, than can be installed via pip3. As library, you can extend Thonny with other libraries and vice-versa. Means: A Python desktop program can contain its own editor! Surprised?

For developing C programs, use Gnome Builder. While Thonny Python IDE is written in Python, Gnome Builder C IDE is written - what else - in C. Extend, adapt to your needs on your own. Ubuntu GNOME desktop, Ubuntu kernel, Ubuntu drivers - also written in pure C.

Memory requirements of both IDEs are very much lower, than you might expect. Both run fast even on a $35 Raspberry Pi 3 microcomputer with just 1 gigabyte of memory, tremendously saving hardware costs, especially in governmental, public, communipal environments.

Not Python, but also worth mentioning:

* Nexcloud. Completely written in free PHP, it's a platform that replaces even Google cloud. It comes with free, open source clients for iOS and Android, offering centralized file storage, contacts, calendar, voice mail, video conferencing (install free Spreed.me server) for your organisation. With end-to-end encryption.

The power of Ubuntu is in its simplicity!

Have fun!

"What cannot be summarized on a single page of manuscript is neither well thought through nor ready for decision." David Dwight Eisenhower
Add a comment...
Wait while more posts are being loaded