Hyperdiv is a framework for rapidly developing reactive browser UI apps in Python, with built-in components, terse immediate-mode syntax, and minimal tool boilerplate. Hyperdiv includes the Shoelace component system, markdown support via Mistune, charts via Chart.js, support for reading/writing browser local storage, and forms whose validation logic is implemented in Python.
After playing with some of the demo apps, this looks like a pretty cool library.
A Python wrapper for BookStack's API. It pretty much requires you to build the JSON yourself, but doing it as a hash table makes it a bit easier. I was able to hack together a directory full of Markdown files-to-Bookstack converter in about half an hour. If nothing else, it abstracts away a lot of the boilerplate you'd otherwise have to do yourself.
Python wrapper for Brave's adblocking library, which is written in Rust. Uses filter lists written in AdBlock Plus' native format.
A Python module that lets you interact with XML as if it were a Python-native dict.
import json
import xmltodict
xmlfile = <blah blah blah>
document = json.loads(xmltodict.parse(xmlfile))
Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library.
Quart is an asyncio reimplementation of the popular Flask microframework API. This means that if you understand Flask you understand Quart. Has an ecosystem of extensions for more specific needs. In addition a number of the Flask extensions work with Quart.
Using Quart you can write JSON APIs, render and serve HTML, serve WebSockets, stream responses, any or all of the above in a single application, or do pretty much anything over the HTTP or WebSocket protocols. With all of the above possible using asynchronous (asyncio) libraries/code or synchronous libraries/code.
Github: https://github.com/pallets/quart
freezeFS.py is a utility program that runs on a PC and converts an arbitrary folder, subfolder and file structure into a Python source file. The generated Python file can then be frozen as bytecode into a MicroPython image together with the Virtual File System driver vfsfrozen.py.
When the generated Python file is imported, the file structure is mounted with os.mount() as a read only Virtual File System, which can be accessed on the microcontroller with regular file operations such as open in "r" or "rb" mode, read, readinto, readline, seek, tell, close, listdir, ilistidr, stat.
If the deploy option is used, the files and folders of the frozen files are copied to the standard flash file system. This enables installing configuration and data files when booting the MicroPython image the first time.
An important topic is that opening files in "r" mode requires to buffer the file in RAM. However, many libraries such as web servers and json support reading text modes in "rb" mode, and no overhead is incurred.
The synthio module has been part of CircuitPython since 8.2.0-beta0 and is under development. It can drive up to 12 wavetable oscillators simultaneously (polyphonic synthesis), in stereo, 16 bits of resolution, at adjustable sample rates.
This repo is a document of tips and tricks for using synthio.
Frequency Range: 134~174MHz
Tx/Rx frequency independent
Channel space: 12.5/25KHz
CTCSS / CDCSS codes
UART interface
3.3~4.5V
Python job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax. Has a simple to use API for scheduling jobs. In-process scheduler for periodic jobs. No extra processes needed! Very lightweight and no external dependencies.
A Python 3 module that does one thing and one thing very well: Calculate linear regressions of arrays of data.
asciimatics is a cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations.
It brings a little joy to anyone who was programming in the 80s... Oh and it provides a single cross-platform Python class to do all the low-level console function you could ask for, including coloured and styled text, cursor positioning and manipulation, keyboard interaction, mouse input, console resizing, anti-aliased line drawing, sprites, animation, particle systems, and UI widgets.
pyglet is a powerful, yet easy to use Python library for developing games and other visually-rich applications on Windows, Mac OS X and Linux. It supports windowing, user interface event handling, Joysticks, OpenGL graphics, loading images and videos, and playing sounds and music. All of this with a friendly Pythonic API, that's simple to learn and doesn't get in your way.
Github: https://github.com/pyglet/pyglet
Simplistic and stateless XMPP implementation for python. A building block for non-blocking XMPP clients, components, gateways and servers. This library was mostly written from scratch, except for the xmpp.sasl which is a modified copy of the contents of the pyxmpp2 library by Jacek Konieczny.
The activeworkflow_agent library helps you to write your own ActiveWorkflow agents in Python using ActiveWorkflow's remote agent API. “Remote” in this context means that agents run in separate processes from ActiveWorkflow itself. Communication between agents and ActiveWorkflow takes place via HTTP. Each agent is effectively an HTTP service or microservice which ActiveWorkflow connects to and interacts with as long as it supports the remote agent API protocol.
Github: https://github.com/automaticmode/activeworkflow-agent-python
A pure Python-implemented database that looks and works like MongoDB. Supports in-memory, flat file, SQLite, and lmdb storage. Seems very flexible.
DictDataBase is a simple and fast database for handling json or compressed json as the underlying storage mechanism. Multi threading and multi processing safe. ACID compliant. No database server required. Simply import DictDataBase in your project and use it. JSON files can be stored normally or compressed. Fast. Heavily unit tested.
Textual adds interactivity to Rich with a Python API inspired by modern web development. It's kind of like a framework but for console tools.
On modern terminal software (installed by default on most systems), Textual apps can use 16.7 million colors with mouse support and smooth flicker-free animation. A powerful layout engine and re-usable components makes it possible to build apps that rival the desktop and web experience. If you've seen something as a desktop app, chances are you could also build it as a console application with Textual.
Documentation: https://textual.textualize.io/
Play elevator music in the background while your script runs.
from script_background_music import play_music_in_background
play_music_in_background()
TinyFlux is a time series version of TinyDB that is also written in Python and has no external dependencies. It's a great companion for small analytics workflows and apps, as well as at-home IOT data stores. Python datetime objects are first-class citizens and queries are optimized for time, above all else. Designed to be simple and fun to use by providing a simple and clean API that can be learned in 5 minutes. The current source code has 4,000 lines of code (with about 50% documentation) and 4,000 lines tests. TinyFlux is about 150kb, unzipped. TinyFlux needs neither an external server nor any dependencies.