# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=maturin PYTHON_COMPAT=( python3_{11..14} ) RUST_MIN_VER="1.85.0" CRATES=" addr2line@0.24.2 adler2@2.0.0 aho-corasick@1.1.3 aligned-vec@0.5.0 android-tzdata@0.1.1 android_system_properties@0.1.5 anstream@0.6.18 anstyle-parse@0.2.6 anstyle-query@1.1.2 anstyle-wincon@3.0.7 anstyle@1.0.10 anyhow@1.0.98 arbitrary@1.4.1 arg_enum_proc_macro@0.3.4 arrayvec@0.7.6 autocfg@1.4.0 av1-grain@0.2.3 avif-serialize@0.8.3 backtrace@0.3.75 base64@0.22.1 bit-set@0.5.3 bit-vec@0.6.3 bit_field@0.10.2 bitflags@1.3.2 bitflags@2.9.0 bitstream-io@2.6.0 block-buffer@0.10.4 bstr@1.12.0 built@0.7.7 bumpalo@3.17.0 bytemuck@1.22.0 byteorder-lite@0.1.0 bytes@1.10.1 cc@1.2.18 cfg-expr@0.15.8 cfg-if@1.0.0 cfg_aliases@0.2.1 chrono@0.4.40 clap@4.5.38 clap_builder@4.5.38 clap_derive@4.5.32 clap_lex@0.7.4 color_quant@1.1.0 colorchoice@1.0.3 core-foundation-sys@0.8.7 cpufeatures@0.2.17 crc32fast@1.4.2 crossbeam-deque@0.8.6 crossbeam-epoch@0.9.18 crossbeam-utils@0.8.21 crunchy@0.2.3 crypto-common@0.1.6 darling@0.20.11 darling_core@0.20.11 darling_macro@0.20.11 deranged@0.4.0 diff@0.1.13 digest@0.10.7 displaydoc@0.2.5 either@1.15.0 equivalent@1.0.2 exr@1.73.0 fancy-regex@0.13.0 fdeflate@0.3.7 flate2@1.1.1 fnv@1.0.7 form_urlencoded@1.2.1 futures-channel@0.3.31 futures-core@0.3.31 futures-executor@0.3.31 futures-io@0.3.31 futures-macro@0.3.31 futures-sink@0.3.31 futures-task@0.3.31 futures-util@0.3.31 futures@0.3.31 generic-array@0.14.7 getrandom@0.2.15 getrandom@0.3.2 gif@0.13.1 gimli@0.31.1 half@2.5.0 hashbrown@0.12.3 hashbrown@0.15.2 heck@0.5.0 hex@0.4.3 http-body-util@0.1.3 http-body@1.0.1 http@1.3.1 httparse@1.10.1 hyper-rustls@0.27.5 hyper-util@0.1.11 hyper@1.6.0 iana-time-zone-haiku@0.1.2 iana-time-zone@0.1.63 icu_collections@2.0.0 icu_locale_core@2.0.0 icu_normalizer@2.0.0 icu_normalizer_data@2.0.0 icu_properties@2.0.0 icu_properties_data@2.0.0 icu_provider@2.0.0 ident_case@1.0.1 idna@1.0.3 idna_adapter@1.2.1 image-webp@0.2.1 image@0.25.6 imgref@1.11.0 indexmap@1.9.3 indexmap@2.9.0 indoc@2.0.6 interpolate_name@0.2.4 ipnet@2.11.0 is_terminal_polyfill@1.70.1 itertools@0.12.1 itoa@1.0.15 jobserver@0.1.33 jpeg-decoder@0.3.1 js-sys@0.3.77 lebe@0.5.2 libc@0.2.171 libfuzzer-sys@0.4.9 litemap@0.8.0 log@0.4.27 loop9@0.1.5 maybe-rayon@0.1.1 memchr@2.7.4 memoffset@0.9.1 mime@0.3.17 mime_guess@2.0.5 minimal-lexical@0.2.1 miniz_oxide@0.8.7 mio@1.0.3 new_debug_unreachable@1.0.6 nom@7.1.3 noop_proc_macro@0.3.0 num-bigint@0.4.6 num-conv@0.1.0 num-derive@0.4.2 num-integer@0.1.46 num-rational@0.4.2 num-traits@0.2.19 object@0.36.7 once_cell@1.21.3 paste@1.0.15 percent-encoding@2.3.1 pin-project-lite@0.2.16 pin-utils@0.1.0 pkg-config@0.3.32 png@0.17.16 portable-atomic@1.11.0 potential_utf@0.1.2 powerfmt@0.2.0 ppv-lite86@0.2.21 pretty_assertions@1.4.1 proc-macro2@1.0.94 profiling-procmacros@1.0.16 profiling@1.0.16 pyo3-build-config@0.25.0 pyo3-ffi@0.25.0 pyo3-macros-backend@0.25.0 pyo3-macros@0.25.0 pyo3@0.25.0 qoi@0.4.1 quick-error@2.0.1 quinn-proto@0.11.9 quinn-udp@0.5.10 quinn@0.11.6 quote@1.0.40 r-efi@5.2.0 rand@0.8.5 rand_chacha@0.3.1 rand_core@0.6.4 rav1e@0.7.1 ravif@0.11.11 rayon-core@1.12.1 rayon@1.10.0 regex-automata@0.4.9 regex-syntax@0.8.5 regex@1.11.1 reqwest@0.12.15 rgb@0.8.50 ring@0.17.14 rustc-demangle@0.1.24 rustc-hash@1.1.0 rustc-hash@2.1.1 rustls-pemfile@2.2.0 rustls-pki-types@1.12.0 rustls-webpki@0.103.3 rustls@0.23.27 rustversion@1.0.20 ryu@1.0.20 serde-wasm-bindgen@0.6.5 serde@1.0.219 serde_derive@1.0.219 serde_json@1.0.140 serde_spanned@0.6.8 serde_urlencoded@0.7.1 serde_with@3.12.0 serde_with_macros@3.12.0 sha1@0.10.6 sha2@0.10.9 shlex@1.3.0 simd-adler32@0.3.7 simd_helpers@0.1.0 slab@0.4.9 smallvec@1.15.0 socket2@0.5.9 stable_deref_trait@1.2.0 strsim@0.11.1 subtle@2.6.1 syn@2.0.100 sync_wrapper@1.0.2 synstructure@0.13.2 system-deps@6.2.2 target-lexicon@0.12.16 target-lexicon@0.13.2 thiserror-impl@1.0.69 thiserror-impl@2.0.12 thiserror@1.0.69 thiserror@2.0.12 tiff@0.9.1 time-core@0.1.4 time-macros@0.2.22 time@0.3.41 tinystr@0.8.1 tinyvec@1.8.1 tinyvec_macros@0.1.1 tokio-rustls@0.26.2 tokio-util@0.7.15 tokio@1.45.0 toml@0.8.20 toml_datetime@0.6.8 toml_edit@0.22.24 tower-layer@0.3.3 tower-service@0.3.3 tower@0.5.2 tracing-core@0.1.33 tracing@0.1.41 try-lock@0.2.5 typenum@1.18.0 unicase@2.8.1 unicode-ident@1.0.18 unindent@0.2.4 untrusted@0.9.0 url@2.5.4 utf8_iter@1.0.4 utf8parse@0.2.2 v_frame@0.3.8 version-compare@0.2.0 version_check@0.9.5 want@0.3.1 wasi@0.11.0+wasi-snapshot-preview1 wasi@0.14.2+wasi-0.2.4 wasm-bindgen-backend@0.2.100 wasm-bindgen-futures@0.4.50 wasm-bindgen-macro-support@0.2.100 wasm-bindgen-macro@0.2.100 wasm-bindgen-shared@0.2.100 wasm-bindgen@0.2.100 wasm-streams@0.4.2 web-sys@0.3.77 web-time@1.1.0 webpki-roots@0.26.8 weezl@0.1.8 windows-core@0.61.0 windows-implement@0.60.0 windows-interface@0.59.1 windows-link@0.1.1 windows-registry@0.4.0 windows-result@0.3.2 windows-strings@0.3.1 windows-strings@0.4.0 windows-sys@0.52.0 windows-sys@0.59.0 windows-targets@0.52.6 windows-targets@0.53.0 windows_aarch64_gnullvm@0.52.6 windows_aarch64_gnullvm@0.53.0 windows_aarch64_msvc@0.52.6 windows_aarch64_msvc@0.53.0 windows_i686_gnu@0.52.6 windows_i686_gnu@0.53.0 windows_i686_gnullvm@0.52.6 windows_i686_gnullvm@0.53.0 windows_i686_msvc@0.52.6 windows_i686_msvc@0.53.0 windows_x86_64_gnu@0.52.6 windows_x86_64_gnu@0.53.0 windows_x86_64_gnullvm@0.52.6 windows_x86_64_gnullvm@0.53.0 windows_x86_64_msvc@0.52.6 windows_x86_64_msvc@0.53.0 winnow@0.7.6 wit-bindgen-rt@0.39.0 writeable@0.6.1 yansi@1.0.1 yoke-derive@0.8.0 yoke@0.8.0 zerocopy-derive@0.8.24 zerocopy@0.8.24 zerofrom-derive@0.1.6 zerofrom@0.1.6 zeroize@1.8.1 zerotrie@0.2.2 zerovec-derive@0.11.1 zerovec@0.11.2 zune-core@0.4.12 zune-inflate@0.2.54 zune-jpeg@0.4.14 " inherit cargo distutils-r1 pypi DESCRIPTION="OpenAI's response format for its open-weight model series gpt-oss" HOMEPAGE=" https://github.com/openai/harmony https://pypi.org/project/openai-harmony/ " SRC_URI+=" ${CARGO_CRATE_URIS} " LICENSE="Apache-2.0" # Dependent crate licenses LICENSE+=" 0BSD Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-3.0 ZLIB " SLOT="0" KEYWORDS="~amd64" # Tests live under tests/ but exercise the pyo3 binding via pytest, which # requires `maturin develop` against an editable install — mechanics not # wired up here; revisit once a bigger Rust+Python test harness lands. RESTRICT="test" RDEPEND=" >=dev-python/pydantic-2.11.7[${PYTHON_USEDEP}] " # Rust extension module — strip wouldn't roundtrip cleanly through QA's # generic shared-library check. QA_FLAGS_IGNORED="usr/lib/python3.*/site-packages/openai_harmony/openai_harmony.abi3.so"