Skip to content
View scott-griffiths's full-sized avatar
  • Graphcore
  • United Kingdom

Block or report scott-griffiths

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
scott-griffiths/README.md

About me

I started programming with Basic on a ZX81 (who needs more than a kilobyte of memory?) before moving to a C64 then Atari ST before learing the 'proper languages' of Fortran and C++ while studying physics. My career has included a lot of video compression and baseband analysis, but lately more AI algorithms, training and performance optimisations.

I'm currently working at Graphcore in Bristol. We're making chips for AI. It's a cool place to be.


bitstring Logo

A long time ago I wanted to do some quick tasks with compressed video streams, and I couldn't find an easy way to do this in Python. So I wrote my own library, which I later made open source and put on PyPI. I'm still maintaining and improving the bitstring library. If you need to mess about with bits and bytes in Python then it's a reasonable choice to make things easier.

If you'd like to try something a bit more modern (and faster) for a new project I recommend trying out tibs (see below) which is a simpler library, written in Rust, and is used as the core of bitstring.

PyPI - Version CI badge Docs Codacy Badge Dependents (via libraries.io)     Pepy Total Downlods PyPI - Downloads


tibs Logo

My newest project is a modern and more focussed bit creation and manipulation library, written entirely in Rust.

This core is still feature complete and is very useful for projects that don't need all the more advanced pieces of other libraries. The bitstring and bitformat libraries now have tibs as a dependency.

It has just reached version 1.0, with a stable API and excellent performance.

Please do try it out and let me know what you think. It already gets several million downloads a month, but I'd like a wider base of projects to be using it.

PyPI - Version CI badge Docs PyPI - License     Pepy Total Downlods PyPI - Downloads


bitformat Logo

Another of my projects is a bitwise format parsing and building library called bitformat. It is already pretty solid in terms of bitwise creation and interpretation, covering much of the same ground as bitstring but with a new and more efficient API. Future work will expand the format specification and parsing features.

The Rust core of this library was used to create tibs (see above), and when the work on tibs and bitstring settles down I plan to return to expanding bitformat.

It is currently in alpha and is likely to have significant API churn.

PyPI - Version CI badge Docs Codacy Badge Dependents (via libraries.io)     Pepy Total Downlods PyPI - Downloads


The Go Clock

I've not got much else public on GitHub except my quixotic idea of a clock based on a Go board. It's quite possibly the best go-board based clock ever constructed on the web.

The Go Clock

Pinned Loading

  1. bitstring bitstring Public

    A Python module to help you manage your bits

    Python 446 78

  2. bitformat bitformat Public

    A Python library for creating and parsing binary formats.

    Python 3