Projects

Arrow

Arrow is a simple, lightweight Python library, inspired by moment.js and requests, that provides a sensible, intelligent way of creating, manipulating, formatting and converting dates, times and timestamps. Arrow is a drop-in replacement for Python date objects.

  • Fully implemented, drop-in replacement for datetime
  • Supports Python 2.6, 2.7, 3.3, 3.4 and 3.5
  • Time zone-aware & UTC by default
  • Provides super-simple creation options for many common input scenarios
  • Updated .replace method with support for relative offsets, including weeks
  • Formats and parses strings automatically
  • Partial support for ISO-8601
  • Timezone conversion
  • Timestamp available as a property
  • Generates time spans, ranges, floors and ceilings in timeframes from year to microsecond
  • Humanizes and supports a growing list of contributed locales
  • Extensible for your own Arrow-derived types

Hint

Hint is a simple mindfulness reminder for macOS.

  • 25 mindfulness-focused quotes delivered by notification
  • Configurable notification intervals from 10 minutes to 8 hours
  • Configurable notification sounds
  • Quote shuffle
  • Pause for preset intervals, or until resumed
  • Auto-launch on startup

Goenv

Goenv is a Go package that provides virtualenv-like functionality for Go projects, isolating dependencies into workspaces for safer and simpler management.

  • Similar functionality to Python’s virtualenv and virtualenvwrapper.
  • Separates development directory from import path — e.g., develop in ~/myproject, but import from github.com/me/myproject
  • Isolates dependencies from other projects.
  • Does not interfere with any go command functionality.
  • Written in Go, installable with go get.

Notebooks

My collection of IPython notebooks.

crsmithdev.com

crsmithdev.com us built using Hugo, a static site generator written in Go.