
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
actionsheets
Advanced tools
Provides a large collection of searchable quick-reference code-snippet sheets defined in terms of a desired action and corresponding code snippet.
Actionsheets is an open-source (hobby) project with a different take on cheatsheets. Standard cheatsheets are great for getting started, but don't get into the details for advanced or complex use cases. This is where actionsheets come in.
This Python package provides a large collection of code snippets, and can render them in the form of actionsheets. Actionsheets are grouped look-up tables by action/intended outcome, and a code snippet to achieve it. The package is intended for (new) developers to quickly look-up how to perform common actions for the given topic, but also contains some more advanced actions.
The package can print actionsheets in the console with coloring and syntax highlighting, but ideally, the package is used by other (better) front-end implementations. See the streamlit dashboard implementation, for example.
This way of organizing sheets is especially useful for packages or functions with powerful versatile functionality, where merely listing the API does not cover the full capabilities.
To install the latest release:
pip install actionsheets
To install according to the latest commit:
pip install git+https://github.com/niekdt/actionsheets.git
poetry add git+https://github.com/niekdt/actionsheets.git
Actionsheets are defined using TOML files. This makes it very easy to define a hierarchy of code snippets in a readable way.
Defining a code snippet belonging to the Create section of the respective actionsheet file is as simple as:
[create.list]
action = "Define a list"
code = "x = ['apple', 'pear', 'banana']"
details = "You can define as many items as you like"
For submitting code snippets or complete actionsheets, submit a PR to actionsheets on Github.
Sheets are hierarchically structured using sections. The main sections are:
Get properties, attributes, or other information about the object of a different type than the object (typically scalars).
| Subcategory | Description | Examples |
|---|---|---|
| Properties | Retrieve properties or attributes of the object. | Length of a list, number of columns of a data frame. |
| Find | Attempt to find a value or index of an object, typically with index output. | Find max value, find index of min value, find key of most frequent value. |
| Aggregate | Aggregate the object in a way that involves a computation, typically with scalar output. | Sum all elements of a list, number of occurrences per value |
| Subcategory | Description | Examples |
|---|---|---|
| Transform | Apply a transformation to the object or each of its elements, preserving the shape of the object. | Element-wise operations such as adding a constant to a vector, or computing the cumulative sum over the elements |
| Order | Change the order of elements, but not their values. | Reversing the elements of a list, sorting a data frame by column values |
| Reshape | Change the shape of the object, but preserves all elements. | Transposing a matrix, converting a data frame to narrow format. |
| Grow | Possibly increase the number of elements of the object. | Appending elements to a list, replicating elements. |
| Shrink | Possibly reduce the number of elements of the object. | Removing elements from a list, removing duplicates. |
| Combine | Combine, merge or join two or more objects. | Stacking lists, set union, joining two data frames. |
My motivation for building this curated database of code snippet is out of frustration of the worsening state of the internet in quickly finding short answers to straightforward queries.
FAQs
Provides a large collection of searchable quick-reference code-snippet sheets defined in terms of a desired action and corresponding code snippet.
We found that actionsheets demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.