CoinBLAS
atbswp
CoinBLAS | atbswp | |
---|---|---|
3 | 16 | |
21 | 697 | |
- | - | |
1.8 | 0.0 | |
almost 3 years ago | 2 months ago | |
Jupyter Notebook | Python | |
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CoinBLAS
-
The "missing" graph datatype already exists. It was invented in the '70s
When you consider that a graph and a matrix are isomorphic, doing vector matrix multiplication takes a vector with a set value, say row 4, and multiplies it by a matrix where row 4 has values present that represent edges to the nodes that are adjacent to it (ie "adjacency" matrix). The result is a vector with the next "step" in a BFS across the graph, do that in a loop and you step across the whole graph.
A cool result of this is, for example, taking an adjacency matrix and squaring it is the "Friend of a Friend" graph. It takes every node/row and multiplies it by itself, returning a matrix that are adjacent to the adjacencies of each node, ie, the friends (adjacencies of the adjacencies) of friends (adjacencies) of the nodes.
Deeper traversal are just higher nodes, a matrix cubed are the friends of the friends of the friends.
A picture is worth a thousand words, see figure 7 of this paper:
https://arxiv.org/pdf/1606.05790.pdf
Also check out figure 8, this shows how incidence matrices can work to represent hyper and multi graphs. An pair of incidence matrices reprsent two graphs, one from nodes to edges and the other from edges to nodes, these are n by m and m by n. When you multiply them, you get a square adjacency matrix that "projects" the incidence into an adjacency. This can be used to collapse hypergraphs into simple graphs that use different semirings to combine the multiple edges.
For some pretty pictures of this kind of stuff, check out CoinBLAS (note I am not a crypto-bro, it was just a very handy extremely large multi-graph that I could easily download in chunks to play with):
https://github.com/Graphegon/CoinBLAS/
-
Ask HN: What Are You Working On?
Python wrapper around The GraphBLAS API:
https://github.com/michelp/pygraphblas
For an upcoming paper we've open sourced using pygraphblas to analyse the bitcoin graph using the GAP benchmarks on a server with 1TB of RAM:
https://github.com/Graphegon/CoinBLAS
- Show HN: CoinBLAS – Bitcoin Analysis with the GraphBLAS
atbswp
- I'm looking for a good auto click that isn't a virus, could anyone link one
-
"Automate the Boring Stuff with Python" online course is free to sign up for the next few days with code JUN2021FREE
This book is definitely a good starting point, and if you want a glimpse of what you can achieve with an automation library (pyautogui in the case of the book), do check out atbswp
Using the library of the author pyautogui, I developed a macro recorder atbswp (Yes like the book) which makes it very easy to automate boring tasks, do check it out.
-
"Automate the Boring Stuff with Python" online course is free to sign up for the next few days with code APR2021FREE
Seems I am late to the party. Anyway, if you like automation, check out atbswp
-
Click
Shameless plug, you can do the same with this[0] albeit not in the CLI.
0: https://github.com/rmpr/atbswp
-
"Automate the Boring Stuff with Python" online course is free to sign up for the next few days with code MAR2021FREE
Source: I use both in a project of mine atbswp
-
Sunday Daily Thread: What's everyone working on this week?
I just released a new version of atbswp I intend to start working on the v0.3 (or 0.2.1 not sure yet)
- Atbswp 0.2 released
-
Graphical interface
Just to add options on top of QT5, there's also wxPython. It's pretty good, and fwiw, I use it for this project not the most convoluted GUI out there but it works. Iirc there's also Pysimplegui but I never used it.
-
Updated for 2021: Docker Django and Intercooler Is Go-To Stack for Building SaaS
Not necessarily, you can use a CI pipeline to verify that your project can be build with many Python versions. This is the workflow I use here[0]. It makes catching and fixing breaking changes easier. Plus, I'm confident the core team is not likely to introduce a painful breaking change (think Python 2 -> 3) soon[1]
0: https://github.com/rmpr/atbswp
1: https://mobile.twitter.com/gvanrossum/status/130608247244308...
What are some alternatives?
Tasker - A commitment tracker desktop app that tracks the progress of your tasks with mouse, keyboard and audio hooks.
mockoon - Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
covid_status
auto-editor - Auto-Editor: Effort free video editing!
roost - Proof of Concept for Eventsourced backend
LIPS - Scheme based powerful lisp interpreter in JavaScript
suncalc - A tiny JavaScript library for calculating sun/moon positions and phases.
slam-crappy - Navigation project for an indoor robot using a Raspberry Pi, Arduino by combining a camera/OpenCV and physical measurements from ultrasonic and single point lidar sensor.
osmosis-js - JS reference implementation of Osmosis, a JSON data store with peer-to-peer background sync
pg-mem - An in memory postgres DB instance for your unit tests