A database that tries to make it easy to build an LLM-like search database. Super-simple API for loading data and querying it.
Python wrapper for Brave's adblocking library, which is written in Rust. Uses filter lists written in AdBlock Plus' native format.
qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on Python and Qt and free software, licensed under the GPL. It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl. Supports adblocking if the python-adblock module is available
Uses QtWebEngine for rendering, which is built on top of Chromium. There's no escaping it.
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))
Kaa is an easy yet powerful text editor for console user interface, providing numerous features like macro recording, undo/redo, multiple windows/frames, syntax highlighting, grep, a Python console and debugger.
Has vi-like keybindings if you enable them, but by default there is just one menu that lets you do everything.
Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library.
Plots the vertical atmospheric structure as plots between altitude and temperaturem and altitude vs. wind speed using aircraft data collected from the dump1090-fa ADSB decoder. The calculations are similar to those used in the tar1090 package. Reads the JSON data from dump1090-fa/history_xx.json
files.
WeeWX extension that uploads data points to an Influx database server.
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
This script rolls virtual Dungeons & Dragons dice in your terminal!
Rolls use standard D&D die types (4, 6, 8, 10, 12, 20, 100) but custom die types can be used with a script option. Multiple rolls can be added together. Modifiers are added to the total roll by default but can be added to each die rolled using a script option. The Advantage and Disadvantage options allow to roll a roll twice and return only the highest or the lowest result. Results are printed in the terminal but can also be saved to a text file using a script option.
Each roll must be passed in argument using the following pattern: [dice quantity] + d + [die type] + [optional: modifier]
For example: 1d20+2 or 3d4-1 or 2d6
MesoWx is a real-time HTML front-end for visualizing personal weather station data. It provides a real-time graph and console display, and dynamic graphs of your weather station history allowing you to explore the details of any recorded time period in your data.
MesoWx displays data from a database and does not itself interface with any weather station hardware directly, however, being built upon Meso it supports an HTTP API for remotely adding data, which allows integration with existing weather station software. MesoWx integrates well with Weewx and should support any weather station that it supports.
Requires quite a bit of configuration and background work (like setting up another database for this extension to use exclusively) so read the docs before deciding to set it up.
This extension provides a skin that is not designed to be used from a web browser, rather for consumption from another type of client... smartphone app, dynamic javascript page, automated bot. This is most of the same data that can be found in the default "Seasons" report's rss.xml output, but formatted in the JSON format for easier consumption by clients.
Creates a file /weewx.json in the WeeWX webroot. You won't see a reference to it if you look at the HTML of the generated reports.
This WeeWX extension allows the generation of APRS-compliant packets containing weather information collected by weewx. This extension was written for the purpose of easy integration with aprx. When this extension is enabled, weewx will generate a new APRS packet every StdArchive.archive_interval seconds.
Imports vulnerability data from your continual monitoring and scanning infrastructure and does all the legwork of documenting, finding references, mapping to CVEs, and so forth.
Faraday aggregates and normalizes the data you load, allowing exploring it into different visualizations that are useful to managers and analysts alike.
Uses Postgres as its back-end.
In the spirit of Feynman's immortal words, the goal of this project is to better understand the internals of databases by implementing a relational database management system (RDBMS) (sqlite clone) from scratch.
This project was motivated by a desire to: 1) understand databases more deeply and 2) work on a fun project. These dual goals led to a:
This makes the learndb codebase great for tinkering with. But the product has some key limitations that means it shouldn't be used as an actual storage solution.
Mwmbl is a non-profit, ad-free, free-libre and free-lunch search engine with a focus on useability and speed. At the moment it is little more than an idea together with a proof of concept implementation of the web front-end and search technology on a small index. Our vision is a community working to provide top quality search particularly for hackers, funded purely by donations.
We now have a distributed crawler that runs on our volunteers' machines! If you have Firefox you can help out by installing our extension. This will crawl the web in the background, retrieving one page a second. It does not use or access any of your personal data. Instead it crawls the web at random, using the top scoring sites on Hacker News as seed pages. After extracting a summary of each page, it batches these up and sends the data to a central server to be stored and indexed.
Seems to require Postgres.
If you try installing it with Poetry you'll bounce off of newer versions of Python (it specifically looks for <= v3.11), but if you pick apart poetry.lock and do things manually you might have better luck.
This is a freely available online course on neuroscience for people with a machine learning background. The aim is to bring together these two fields that have a shared goal in understanding intelligent processes. Rather than pushing for “neuroscience-inspired” ideas in machine learning, the idea is to broaden the conceptions of both fields to incorporate elements of the other in the hope that this will lead to new, creative thinking.
The course is given in person at the Department for Electrical and Electronic Engineering, Imperial College London, and made freely available online (although without the practical classes).
Each week there are a series of videos to watch on YouTube, and a set of exercises available as a Jupyter notebook that can be run locally or via Google Colab. Students at Imperial College can discuss on Teams, and for everyone else there is an open Discord server.
Github: https://github.com/neuro4ml
cloudgrep is grep for cloud storage. It currently supports searching log files, optionally compressed with gzip (.gz) or zip (.zip), in AWS S3, Azure Storage or Google Cloud Storage. Directly searching cloud storage, without indexing logs into a SIEM or Log Analysis tool, can be faster and cheaper. There is no need to wait for logs to be ingested, indexed, and made available for searching. It searches files in parallel for speed.
Python Code for an FM Scanner using a Raspberry Pi and rtlsdr SDR.
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.