Pyrustic Open Ecosystem

This is a collection of lightweight Python projects that share the same policy.

The goal is to build and maintain a reliable, consistent, easy-to-use and relevant Python codebase for tech enthusiasts.

These projects cover various topics: automation, data persistence and exchange, GUI, themes, widgets, multithreading, markup, utilities, project management, et cetera.

Diogenean philosophy

He owned a cup which served also has a bowl for food but threw it away when he saw a boy drinking water from his hands and realized one did not even need a cup to sustain oneself.

Projects

This is the random list of projects.

Shared : Triptych for data exchange and persistence

library cli json database sqlite jesth configuration binary collections

Diogenes

Shared is a Python package created to be the programmer's companion when it comes to storing application data, managing configuration files, caching data, and exchanging data with other programs.

Although a lightweight package, Shared smoothly handles collections (dict, list, set), binary data, and SQL queries.

Shared's intuitive application programming interface is designed as a triptych. Thus, three classes with similar interfaces are created to cover the needs of data exchange and persistence: Document, Dossier, and Database.

Discover the project

Backstage : Three-speed scripting language and task automation tool

tool language cli library automation scripting task-runner productivity

Diogenes

© Jorge Royan / http://www.royan.com.ar

Backstage is a cross-platform automation tool that looks for a backstage.tasks file in the current working directory to run a specific task defined in that file on demand.

A task can be a sequence or pipeline of processes to be spawned, instructions for performing file and directory manipulation, or something more sophisticated.

Backstage exposes a command line interface that allows the user to discover available tasks, run a task with arguments, read a task documentation, use a glob-like syntax to search for a task by its name or by a keyword that is part of the documentation of the task, et cetera.

Discover the project

Hooking : Generic hooking mechanism for Python

library hooks decorator tags bind

Diogenes

HardMediaGroup, CC BY-SA 3.0, via Wikimedia Commons

This project implements an intuitive and minimalist hooking mechanism. It exposes a decorator to tag methods and functions (targets), and so when they are called, user-defined hooks will be executed upstream or downstream.

Arguments to targets are passed to hooks which can modify them or replace the targets themselves with an arbitrary callable or None. Hooks are not directly tied to targets but to tags. Thus, hooks are loosely coupled to targets and dynamically bound to tags.

This library allows the programmer to augment a function or method. It is therefore the perfect solution to create a plugin mechanism for a project. It can also be used for debugging, benchmarking or event-driven programming, et cetera.

Discover the project

TkStyle : Create styles and themes for your Python desktop applications

library theme style gui beautiful desktop interface tkinter

Diogenes

Cyberpunk-Theme built with TkStyle

TkStyle is a styling library for Tkinter that takes advantage of the autocomplete feature of IDEs so that you hardly need any prior Tkinter styling knowledge.

Each Tkinter widget has a set of options that allow you to define its look. For example, the tkinter.Button widget has the background and foreground options to change the background color and the text color on the button respectively.

TkStyle reproduces for each widget a class which bears the name of the widget and which has attributes representing the options to modify the appearance of the widget.

Discover the project

Exonote & Exn : Write and render rich, scriptable, and interactive notes

app markdown markup interactive scriptable note tkinter gui

Diogenes

Exn demo

Exn is a lightweight Python application for browsing a dossier of exonotes.

An exonote is plain text written with an eponymous markup language inspired by Markdown and rendered with Tkinter (the default GUI library for Python).

Interactivity can be added to an exonote by embedding GUI programs written in Python with Tkinter.

Additionally, all or part of an exonote can be arbitrarily generated using custom Python scripts.

Discover the project

Check out the full list of projects on GitHub.

Contact

Hi ! I'm Alex, a tech enthusiast. To get in touch with me, check out this code:

a=" dot "; b="rustic"; c="com"; d=" at "; e="alex"; f="yahoo"; print(b+e+d+f+a+c)