Why we exist

We've been consumers of software. It's time to produce.

For too long, Africa has been on the receiving end of technology — using tools built elsewhere, for elsewhere. Ubunye is a turn in the other direction: producing not just apps, but frameworks, thinking, and capability.

Most AI infrastructure assumes abundant compute, mature cloud stacks, and well-funded teams. We build for the gap instead — the small team, the tight budget, the engineer who is also the platform engineer who is also on call. Infrastructure that respects time, cost, and clarity.

Unity is infrastructure.

What Ubunye means

One convention. One workflow. One CLI.

Ubunye (oo-BOON-yeh) is isiZulu for oneness — unity. That's the whole thesis: tools that work the same way whether you're on a laptop in Johannesburg or distributed compute in production. Learn it once, use it everywhere.

Free & open

Apache-2.0, on PyPI, on GitHub. No paywalls, no lock-in, no enterprise sales call. Take it and build.

Built for constraints

Runs on your laptop today and a production cluster tomorrow — no code changes, no cloud minimum.

Made to be understood

Small, documented, honest. Surface area you can actually hold in your head and reason about.

Who it's for

Everyone who lives with the same constraints.

01

Students

Learn on real infrastructure, not toy examples. The tools you practise on are the tools people ship with.

02

Developers

Build on infrastructure that respects your time, your budget, and your on-call sleep.

03

Researchers

Reproducible, scalable methods — Bayesian filtering to full data pipelines — that run anywhere.

04

Small businesses

Serious data and AI capability without an enterprise cloud bill behind it.

05

Communities

Shared tools for shared problems. Bring the challenge; we shape the roadmap around it.

06

Even if you don't code

Follow, share, give ideas, connect people. Support moves this forward as much as commits do.

What we build

Real tools, shipping today.

The vision is proven in code. Two production-ready, open-source libraries you can pip install right now — with more on the way.

Ubunye Engine

ETL · ML

A config-driven, Spark-native ETL/ML framework. Describe a pipeline in a short YAML file, write your logic in a normal Python class — Ubunye handles the connections, the compute engine, and the read → transform → write loop. Same pipeline runs on your laptop or a production cluster, unchanged.

$ pip install ubunye-engine
261 testsPython 3.9–3.11Hexagonal architectureApache-2.0

TFiltersPy

Bayesian

Bayesian state estimation for Python — five production-ready filters from Kalman to Particle, behind one familiar fit / predict / score API. Built on NumPy and SciPy, with optional Dask parallelism for large-scale problems. sklearn-compatible, scalable, modular.

$ pip install tfilterspy
5 estimatorsKalman → ParticleDask-parallelsklearn API

And more in the workshop — a compiler, more engines. Follow along on GitHub →

How we work

Four principles. No exceptions.

01

Finish what you ship.

No half-built tools left to rot. If it carries the Ubunye name, it works, it's tested, and it's done.

02

Document what you built.

Code nobody can read helps nobody. Worked examples and honest docs are first-class work here.

03

Keep it small enough to understand.

One person should be able to hold a whole project in their head. Small surface area is a feature, not a compromise.

04

Africa first. Open to the world.

Built for our realities — tight compute, tight budgets — and given freely to everyone who shares them.

How to contribute

You don't have to code to move this forward.

Every kind of help counts. Pick the one that fits you — from filing a bug to introducing someone who cares about the same problems.

Use it, and tell us what breaks.

The single most useful thing right now. Real usage on real problems shapes the roadmap more than any feature request.

Bring a real problem.

Open a discussion or post in Discord describing what you're trying to do and what's blocking you.

Improve the docs.

Tutorials, worked examples, gap-filling. If something confused you, fixing it helps the next person.

Design.

Logos, diagrams, visual explainers. Reach out first so we can align before the deep work.

Share and connect.

Introduce someone who'd contribute. Spread the word. Community is the infrastructure too.

The community wall

Leave your mark. No account needed.

Say hello, share an idea, ask for help, or tell us what you're building. Just type your name and a message — everyone can read, everyone's welcome.

0/500

Loading the wall…

Stay in the loop

Get an email when there's news.

Prefer email to hanging around? Drop yours and we'll let you know when the community posts something new, when a tool ships, or when there's a way to get involved. No spam, unsubscribe anytime.

Everyone's welcome. No GitHub account required.

We have a Discord for engineers, data scientists, students, and anyone curious. Come say hi, post a real problem, or just watch what's shipping this week.

#introductions#problems#projects#random