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.320

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.320
File Size Uploaded
ork_build-0.0.320.tar.gz 665.1 kB Details

Built distribution (wheel)

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

Total release size: 1.6 MB

Release files / ork_build-0.0.320.tar.gz

Download URL ork_build-0.0.320.tar.gz
Size 665.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9db059e574c31489ff78f4c6dfd825170eec259d0843761afdd63806cb535919
BLAKE2b-256 checksum
How to use checksums
62501d29a6b528acee4764d127fda77a1bc89d014685398176a01b9f9a1331d7
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.320-py3-none-any.whl

Download URL ork_build-0.0.320-py3-none-any.whl
Size 955.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b9ee36acd69faf592b2605a85dbf9f2cf4f9c74bb9d545072af922bccf2d220
BLAKE2b-256 checksum
How to use checksums
e6ddc7827eca8669063ed856b88e2662671620074ba4146090cec99ac1b917cb
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.320 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