Skip to main content

OBT (Orkid Build Tool)

OBT Logo

Build environment orchestrator for complex multi-language projects

Python 3.10+ License: BSD-3-Clause Platform: Linux/macOS/WSL2


What is OBT?

OBT manages build environments for complex software projects with extensive dependency trees. Unlike package managers that install system-wide, OBT creates isolated staging environments where all your project dependencies coexist without polluting your system.

Key Features

  • 🔧 100+ Pre-configured Dependencies - Boost, Qt5, OpenCV, LLVM, and more
  • 🎯 Project Composition - Combine multiple projects with --project arguments
  • 🌍 Cross-Platform - Identical commands on Linux, macOS, and WSL2
  • 🏗️ Multi-Language - C++, Python, Rust, JavaScript, and more
  • 📦 Isolated Environments - No system pollution, everything in staging directories
  • 🎨 Extensible - Add custom dependencies and modules per project

Quick Start

# Install OBT
pip3 install ork.build

# Create environment
obt.env.create.py --stagedir ~/.obt-staging

# Launch with projects
obt.env.launch.py --stagedir ~/.obt-staging --numcores 16 \
  --project ~/projects/myproject \
  --project ~/projects/shared

# Build dependencies
obt.dep.build.py boost
obt.dep.build.py opencv

Documentation

Getting Started

Reference

Advanced Topics


Requirements

  • Python 3.10+
  • Virtual environment (PEP-668 compliance)
  • Clean base shell environment (why?)

Platform-Specific

macOS: Xcode, Homebrew
Linux: Build essentials, sudo access
Windows: WSL2 with Ubuntu


Project Composition

Make any project OBT-aware by adding:

myproject/
├── obt.project/
│   ├── obt.manifest          # {"name": "myproject", "autoexec": "scripts/init_env.py"}
│   └── scripts/
│       └── init_env.py       # Environment setup script

Then compose multiple projects:

obt.env.launch.py --project project1 --project project2 --project project3

Philosophy

OBT doesn't replace package managers or build systems - it orchestrates them. When you need a library, you need it. OBT ensures you get it with the right version, in the right place, without breaking anything else.


Support


License

BSD 3-Clause License - See LICENSE and license.rst for details.

Copyright (c) 2010-2024, Michael T. Mayers. All rights reserved.

Metadata

Release files for ork.build 0.0.318

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ork.build 0.0.318
File Size Uploaded
ork_build-0.0.318.tar.gz 635.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ork.build 0.0.318
File Interpreter ABI Platform
ork_build-0.0.318-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / ork_build-0.0.318.tar.gz

Download URL ork_build-0.0.318.tar.gz
Size 635.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c3daf9d2b7145d8504ae408d26bf8399d8dd8c3ece2db858a35e58d16b6c3c9b
BLAKE2b-256 checksum
How to use checksums
7674e33c365c9c16288850a47861421517c24ebee06f2ebbcecf9d4144338afd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / ork_build-0.0.318-py3-none-any.whl

Download URL ork_build-0.0.318-py3-none-any.whl
Size 923.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b00fac2ca0e8d51dd76c03c10885720b9e1ecd109de2c83786274f86707ea4b0
BLAKE2b-256 checksum
How to use checksums
3b096cd7d1a33edac74dac084cd7a1fc1b7f7af00e8ddf1c7519db66af65ab91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.0.318 This release

2 release files

0.0.99

2 release files

0.0.98

2 release files

0.0.97

2 release files

0.0.96

2 release files

0.0.95

2 release files

0.0.94

2 release files

0.0.93

2 release files

0.0.92

2 release files

0.0.90

2 release files

0.0.89

2 release files

0.0.88

2 release files

0.0.87

2 release files

0.0.86

2 release files

0.0.85

2 release files

0.0.84

2 release files

0.0.83

2 release files

0.0.82

2 release files

0.0.81

2 release files

0.0.80

2 release files

0.0.79

2 release files

0.0.78

2 release files

0.0.77

2 release files

0.0.76

2 release files

0.0.75

2 release files

0.0.74

2 release files

0.0.73

2 release files

0.0.72

2 release files

0.0.71

2 release files

0.0.69

2 release files

0.0.67

2 release files

0.0.66

2 release files

0.0.65

2 release files

0.0.64

2 release files

0.0.63

2 release files

0.0.62

2 release files

0.0.60

2 release files

0.0.59

2 release files

0.0.58

2 release files

0.0.57

2 release files

0.0.56

2 release files

0.0.55

2 release files

0.0.54

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.50

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.47

2 release files

0.0.46

2 release files

0.0.45

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.33

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page