Skip to main content

Welcome to Anomlib

Introduction

Anomlib is a project that my key projects use. It shares libraries such as:

  • Shell command wrapper: Executes shell commands from Python. Made transition easier from Bash to Python.
  • Parameter parser: Splits command-line arguments into logical areas. It currently supports tool and sub-command areas. An args-only area introduced by -- is planned. The nested sub-commands are not planned yet, but considered. Parameters are defined within drafts in TOML configuration files.
  • Pillow: Provides hashing functions and ensures that required directories and files exist. This library may eventually be deprecated or reduced to a hashing-only library.
  • Load: Compares the execution speed of compatible functions.
  • Confman: A simple configuration manager.
  • Cpconf: Copies configuration files into the user’s home configuration directory without overwriting custom configurations that already exist.

Legacy Bash Scripts

Anomlib also includes older Bash scripts that are planned to be rewritten in Python over time.

  • Dowith: Runs command-line arguments in a loop and supports using readline input as a sub-command with arguments.
  • Picload: Organizes collections or albums of pictures from the internet, such as wallpaper sets.
  • u2: Parses YouTube-related data. Its future purpose is not decided yet.
  • w2v and undub: Removes duplicate lines from input.
  • Whitespace: Removes trailing whitespace from lines.
  • Chroot into Gentoo: Some old Gentoo oriented scripts that you can source to simplify entering a freshly installed Gentoo System from the TTY using chroot.

Utility Scripts

Anomlib has several small Bash scripts, that were useful on my path of learning system administration and desktop automation and Linux in general:

  • Finding commands by walking through PATH.
  • Listing Flatpak applications, selecting one through dmenu, and running it.
  • Working with file descriptor fd3.
  • Removing noise from media files using FFmpeg.
  • Making the backlight writable for Window Managers that may require it.
  • Toggling warm screen lighting.
  • Other small utilities for command automation, system configuration, and media processing.

Some scripts are primitive and some were lost in time and never got into git, but they served its purpose at certain point.

Shared uv Makefile

Anomlib provides a common uv.mk Makefile for use across my projects. The uv.mk file is maintained and updated here. It helps build/clean/update venv, push to/fetch from PyPI.

Copy the Makefile into your project and modify it to suit that project’s requirements. Do not delete it, as it contains personal requirements shared across your projects. You will usually need to update the deps and work variables.

The Makefile can download uv.mk automatically. If your local uv.mk file is outdated, remove it and run the Makefile again to download the latest version. You can also customize the download-uv-mk target to download uv.mk from a different URL.

Planned Framework (Ifuse)

I plan to create my first small framework (ifuse) by combining some of my shared libraries into a single entity. It will provide access to configuration files, environment variables, and command-line parameters.

Ifuse may also support an interactive mode using readline. Optionally, it could provide an interactive background API service for controlling the application through API requests. We also may also allow binding some OS signals to events.

Ifuse may be somewhat similar to confuse, although that was not intentional. The original goal was simply to create my first small framework. The framework has staged processing of input channels, while both original input and processed will remain accessible. Main idea is to merge all channels into one settings object, and let all input sources simple to access and control over app.

Learn Markdown Notes

To lean how to write Markdown, you can check GitHub-flavored Markdown guide.

Metadata

Release files for anomlib 0.3.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anomlib 0.3.13
File Size Uploaded
anomlib-0.3.13.tar.gz 34.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for anomlib 0.3.13
File Interpreter ABI Platform
anomlib-0.3.13-py3-none-any.whl Python 3 none any Details

Total release size: 69.9 kB

Release files / anomlib-0.3.13.tar.gz

Download URL anomlib-0.3.13.tar.gz
Size 34.5 kB
Tags Source
SHA-256 checksum
How to use checksums
480f3c68b7f16152ed82c1d06d7e7665e80c5db26642a197abeceba98964076f
BLAKE2b-256 checksum
How to use checksums
bd9044b58ebdf73fd68e138b9e8a4e65eb15622b4a98941f85bbfce12c5b36f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / anomlib-0.3.13-py3-none-any.whl

Download URL anomlib-0.3.13-py3-none-any.whl
Size 35.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
38c3348f39c37147e35fd366e3456ca5481790e1b6037aa189261bfd20d87adb
BLAKE2b-256 checksum
How to use checksums
64bcf9077cf8823dc302f0de24ed9c540c43cdc5996129e1e3c2f1c949587118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.3.13 This release

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page