The Origin, Status, and Future of OctoBase

How Base came to be and where we’re going


Origin

Every engineer accumulates a library of their favorite utility functions.

After most of a decade writing Python code and working inside Django, our own utility library has become a self-standing piece. Sure, you can use it in a Django project, but it isn’t tied to Django. (It is, strictly, Python.)

Our Base library is the first layer loaded in our own massive Python project. This library is also usually the first layer we load in every random 1-off script we ever happen to write.

In 2020, we undertook the challenge of building a better Markdown. Of course our version – coined Rightdown – uses our Base library. But we really, really wanted to make Rightdown for everyone. It took only a moment’s considering to realize that open-sourcing our whole Base library was the right way to go.

May this be helpful to all your Python projects, big and small.


Status

The Base library, including Rightdown, is released to the community under Apache v2.0 open-source license.

  • Current version: 0.6.6
  • Release date: 2021-06-10

This is the first release of Base as its own project. It is being pushed to the cloud as an exercise in how to push things to the cloud. Not everything inside works quite right yet.


Past

A sparse log of significant changes:

  • 0.6 – 2021-01-02
    • new PyPI module, who dis?
  • 0.6.1 – 2021-01-03
    • Rightdown example in documentation actually works now
  • 0.6.2 – (never released)
    • utils.DeferImport() simplifies dependencies
  • 0.6.3 – 2021-04-23
    • metaclass AutoRegister replaces old AutoRegisterClasses and AutoRegisterInstances
  • 0.6.4 – 2021-05-08
    • added function base.utils.IsContained()
  • 0.6.5 – 2021-06-05
    • small fixes needed when re-integrating Octoboxy on this updated Base
  • 0.6.6 – 2021-06-10
    • make an initialization step on by default

Future

Some ideas about the evolution of this library:

Version 0.7

  • Rightdown is 90% finished, really need to wrap this up soon.

Base will probably be declared version 1.0 around the end of 2021. We may add new features to the library over time, but we want to keep the structure of what exists and how you interact with it very stable.

New Features?

We’re open to suggestions, but for the moment these are the ideas on our design board:

  • html2rd – given the way we built Rightdown, it should be reasonably easy to rough together an HTML-to-rightdown (and HTML-to-markdown) translator.

What would be useful to you?

Let us know!


Back to “OctoBase”