93 projects
cs.fsm
Basic Finite State Machine (FSM) tools.
cs.gvutils
Graphviz utility functions.
cs.fs
Assorted filesystem related utility functions, some of which have been bloating cs.fileutils for too long.
cs.app.playon
PlayOn facilities, primarily access to the download API. Includes a nice command line tool.
cs.ebooks
Utilities and command line for working with EBooks. Basic support for talking to Apple Books, Calibre, Kindle, Mobi. These form the basis of my personal Kindle and Calibre workflow.
cs.service-api
ServiceAPI, a base class for APIs which talk to a service, typically a web service via HTTP.
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.range
a Range class implementing compact integer ranges with a set-like API, and associated functions
cs.debug
Assorted debugging facilities.
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.sqltags
Simple SQL based tagging and the associated `sqltags` command line script, supporting both tagged named objects and tagged timestamped log entries.
cs.tagset
Tags and sets of tags with __format__ support and optional ontology information.
cs.sqlalchemy-utils
Assorted utility functions to support working with SQLAlchemy.
cs.mappings
Facilities for mappings and objects associated with mappings.
cs.psutils
Assorted process and subprocess management functions.
cs.pfx
Easy context prefixes for messages.
cs.resources
Resource management classes and functions.
cs.fileutils
My grab bag of convenience functions for files and filenames/pathnames.
cs.fstags
Simple filesystem based file tagging and the associated `fstags` command line script.
cs.mplutils
A few conveniences for working with matplotlib.
cs.env
Some environment related functions.
cs.taskqueue
A general purpose Task and TaskQueue for running tasks with dependencies and failure/retry, potentially in parallel.
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.progress
A progress tracker with methods for throughput, ETA and update notification; also a compound progress meter composed from other progress meters.
cs.buffer
Facilities to do with buffers, particularly CornuCopyBuffer, an automatically refilling buffer to support parsing of data streams.
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.queues
some Queue subclasses and ducktypes
cs.result
Result and friends: various subclassable classes for deferred delivery of values.
cs.threads
threading and communication/synchronisation conveniences
cs.context
Assorted context managers.
cs.py.func
Convenience facilities related to Python functions.
cs.x
X(), for low level debugging.
cs.deco
Assorted decorator functions.
cs.gimmicks
Gimmicks and hacks to make some of my other modules more robust and less demanding of others.
cs.typingutils
Trite hacks for use with typing.
cs.later
Queue functions for execution later in priority and time order.
cs.iso14496
Facilities for ISO14496 files - the ISO Base Media File Format, the basis for several things including MP4 and MOV.
cs.sharedfile
facilities for shared access to files
cs.logutils
Logging convenience routines.
cs.excutils
Convenience facilities for managing exceptions.
cs.dateutils
A few conveniences to do with dates and times.
cs.testutils
Hacks to assist with testing.
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.pop3
POP3 stuff, particularly a streaming downloader and a simple command line which runs it.
cs.seq
Stuff to do with counters, sequences and iterables.
cs.numeric
A few ad hoc numeric alogrithms: `factors` and `primes`.
cs.py.stack
Convenience functions for the python execution stack.
cs.obj
Convenience facilities for objects.
cs.app.myke
my make program; parallel make tool with superior expression syntax
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.py.modules
Convenience functions related to modules and importing.
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.py.doc
Create documentation from python modules and other objects.
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.packetstream
general purpose bidirectional packet stream connection
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.urlutils
convenience functions for working with URLs
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.cache
caching data structures and other lossy things with capped sizes
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.