106 projects
cs.app.playon
PlayOn facilities, primarily access to the download API. Includes a nice command line tool.
cs.service-api
ServiceAPI, a base class for APIs which talk to a service, typically a web service via HTTP.
cs.sqltags
Simple SQL based tagging and the associated `sqltags` command line script, supporting both tagged named objects and tagged timestamped log entries.
cs.sqlalchemy-utils
Assorted utility functions to support working with SQLAlchemy.
cs.fileutils
My grab bag of convenience functions for files and filenames/pathnames.
cs.resources
Resource management classes and functions.
cs.fsm
Basic Finite State Machine (FSM) tools.
cs.hashindex
A command and utility functions for making listings of file content hashcodes and manipulating directory trees based on such a hash index.
cs.fstags
Simple filesystem based file tagging and the associated `fstags` command line script.
cs.cmdutils
Convenience functions for working with the Cmd module, the BaseCommand class for constructing command line programmes, and other command line related stuff.
cs.py.doc
Create documentation from python modules and other objects.
cs.deco
Assorted function decorators.
cs.fs
Assorted filesystem related utility functions, some of which have been bloating cs.fileutils for too long.
cs.packetstream
general purpose bidirectional packet stream connection
cs.later
Queue functions for execution later in priority and time order.
cs.binary
Facilities associated with binary data parsing and transcription. The classes in this module support easy parsing of binary data structures, returning instances with the binary data decoded into attributes and capable of transcribing themselves in binary form (trivially via `bytes(instance)` and also otherwise).
cs.buffer
Facilities to do with buffers, particularly CornuCopyBuffer, an automatically refilling buffer to support parsing of data streams.
cs.logutils
Logging convenience routines.
cs.py.modules
Convenience functions related to modules and importing.
cs.upd
Single and multiple line status updates with minimal update sequences.
cs.lex
Lexical analysis functions, tokenisers, transcribers: an arbitrary assortment of lexical and tokenisation functions useful for writing recursive descent parsers, of which I have several. There are also some transcription functions for producing text from various objects, such as `hexify` and `unctrl`.
cs.result
Result and friends: various subclassable classes for deferred delivery of values.
cs.threads
threading and communication/synchronisation conveniences
cs.excutils
Convenience facilities for managing exceptions.
cs.debug
Assorted debugging facilities.
cs.pfx
Easy context prefixes for messages.
cs.py.func
Convenience facilities related to Python functions.
cs.py.stack
Convenience functions for the python execution stack.
cs.context
Assorted context managers.
cs.x
X(), for low level debugging.
cs.testutils
Hacks to assist with testing.
cs.app.osx.spaces
Access to the MacOS X display spaces.
cs.app.osx.objc
Convenience facilities for working with pyobjc (MacOSX Objective C facilities). See also: https://pyobjc.readthedocs.io/en/latest/index.html
cs.delta
Utility functions around state changes.
cs.app.osx.misc
Assorted ad hoc MacOS/OSX things. They'd be in `cs.app.osx` directly except that I haven't looked into namespace packages yet.
cs.ffmpegutils
Convenience facilities for using FFmpeg (ffmpeg.org), with invocation via `ffmpeg-python`.
cs.dockerutils
Docker related utilities.
cs.mediainfo
Simple minded facilities for media information. This contains mostly lexical functions for extracting information from strings or constructing media filenames from metadata.
cs.taskqueue
A general purpose Task and TaskQueue for running tasks with dependencies and failure/retry, potentially in parallel.
cs.iso14496
Facilities for ISO14496 files - the ISO Base Media File Format, the basis for several things including MP4 and MOV.
cs.tagset
Tags and sets of tags with __format__ support and optional ontology information.
cs.imageutils
Various ad hoc image related utility functions and classes.
cs.cache
A few caching data structures and other lossy things with capped sizes.
cs.hashutils
Convenience hashing facilities.
cs.progress
A progress tracker with methods for throughput, ETA and update notification; also a compound progress meter composed from other progress meters.
cs.queues
some Queue subclasses and ducktypes
cs.tarutils
Assorted tar related things, including a fast tar-based copy.
cs.psutils
Assorted process and subprocess management functions.
cs.app.osx.defaults
Access the MacOS degfaults via the `defaults` command.
cs.splink
Assorted utility functions for working with data downloaded from Selectronics' SP-LINK programme which communicates with their solar inverter controllers.
cs.timeseries
Efficient portable machine native columnar file storage of time series data for double float and signed 64-bit integers.
cs.pop3
POP3 stuff, particularly a streaming downloader and a simple command line which runs it.
cs.app.myke
my make program; parallel make tool with superior expression syntax
cs.app.dlog
Log a line in my daily log.
cs.ebooks
Utilities and command line for working with EBooks. Basic support for talking to Apple Books, Calibre, CBZ, Kindle, Kobo, Mobi, PDF. These form the basis of my personal Kindle/Kobo/Calibre workflow.
cs.gimmicks
Gimmicks and hacks to make some of my other modules more robust and less demanding of others.
cs.mappings
Facilities for mappings and objects associated with mappings.
cs.urlutils
convenience functions for working with URLs
cs.gvutils
Graphviz utility functions.
cs.range
a Range class implementing compact integer ranges with a set-like API, and associated functions
cs.mplutils
A few conveniences for working with matplotlib.
cs.env
Some environment related functions.
cs.typingutils
Trite hacks for use with typing.
cs.sharedfile
facilities for shared access to files
cs.dateutils
A few conveniences to do with dates and times.
cs.app.portfwd
Manage persistent ssh tunnels and port forwards.
cs.app.svcd
SvcD class and "svcd" command to run persistent service programmes.
cs.app.osx.plist
Some simple MacOS plist facilities. Supports binary plist files, which the stdlib `plistlib` module does not.
cs.app.mklinks
Tool for finding and hardlinking identical files.
cs.seq
Stuff to do with counters, sequences and iterables.
cs.numeric
A few ad hoc numeric alogrithms: `factors` and `primes`.
cs.obj
Convenience facilities for objects.
cs.csvutils
CSV file related facilities
cs.xml
A couple of trite XML conveniences: preferred `etree` import and a `pprint` function.
cs.configutils
Utility functions and classes for .ini style configuration files.
cs.py3
Aids for code sharing between python2 and python3.
cs.edit
Convenience functions for editing things. - Cameron Simpson <cs@cskk.id.au> 02jun2016
cs.app.ydl
Convenient command line and library wrapper for youtube-dl.
cs.units
Functions for decomposing nonnegative integers according to various unit scales and also parsing support for values written in scales.
cs.ansi-colour
Convenience functions for ANSI terminal colour sequences [color].
cs.id3
Support for ID3 tags. A cs.binary based parser/transcriber for ID3 tags and a convenience wrapper for Doug Zongker's pyid3lib: http://pyid3lib.sourceforge.net/
cs.timeutils
convenience routines for times and timing
cs.ndjson
utilities for working with newline delimited JSON (NDJSON) files
cs.app.megacli
Command line tool to inspect and manipulate LSI MegaRAID adapters, such as used in IBM ServeRAID systems and Dell PowerEdge RAID Controller (PERC).
cs.serialise
OBSOLETE: some serialising functions. Please use by cs.binary instead.
cs.tty
Functions related to terminals.
cs.sh
Convenience functions for constructing shell commands.
cs.predicate
fnctions for expressing predicates
cs.mailutils
functions and classes to work with email
cs.app.flag
Persistent filesystem based flags for state and control.
cs.app.mailfiler
email message filing system which monitors multiple inbound Maildir folders
cs.rfc2047
unrfc2047: a decoder for RFC2047 (MIME Part 3) encoded text.
cs.pipeline
Function pipelines mediated by queues and a Later.
cs.vt
A content hash based data store with a filesystem layer, using variable sized blocks, arbitrarily sized data and utilising some domain knowledge to aid efficient block boundary selection.
cs.clockutils
implementation of PEP0418 with the "Choosing the clock from a list of constraints" get_clock() and get_clocks() functions
cs.socketutils
some utilities for network sockets
cs.filestate
Trivial FileState class used to watch for file changes.
cs.wol
Tool for sending a wake on LAN (WOL) packet out a specific interface to a specific MAC address.
cs.app.ssh
OpenSSH configuration parsing.
cs.rfc2616
RFC2616 (HTTP 1.1) facilities
cs.nodedb
a simple and versatile collection of nodes with attributes, accessed as direct Python objects and automatically transcribed to assorted backing stores (CSV, SQL, GDBM, etc); the CSV backend can be (loosely) shared between multiple clients
cs.inttypes
various trite types associated with integers, such as bitmasks, flags and enums
cs.html
easy HTML and XHTML transcription
cs.app.maildb
a cs.nodedb NodeDB subclass for storing email address information (groups, addresses, so forth)
cs.app.beyonwiz
Beyonwiz PVR and TVWiz recording utilities
cs.mixin.ucattrs
Mixin for .FOO uppercase attributes mapped to ['FOO'] access.