Metadata-Version: 2.4
Name: jeteve-omniorb
Version: 4.3.2.post4
Summary: pypi compatible packaging for OmniORB 4.3.2
Author-email: Jerome Eteve <jerome.eteve@gmail.com>
License: MIT
Project-URL: Documentation, https://github.com/jeteve/jeteve-omniorb#readme
Project-URL: Issues, https://github.com/jeteve/jeteve-omniorb/issues
Project-URL: Source, https://github.com/jeteve/jeteve-omniorb
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Object Brokering
Classifier: Topic :: Software Development :: Object Brokering :: CORBA
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Dynamic: license-file

# Jeteve OmniORB

[![PyPI - Version](https://img.shields.io/pypi/v/jeteve-omniorb.svg)](https://pypi.org/project/jeteve-omniorb)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/jeteve-omniorb.svg)](https://pypi.org/project/jeteve-omniorb)

-----

## Table of Contents

- [Installation](#installation)
- [License](#license)

## Installation

```console
pip install jeteve-omniorb
```

## License

`jeteve-omniorb` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.


# About jeteve-omniorb

This is a standard python wheel packaging OmniORB/OmniORBpy for easy use from python projects.

See original software here: https://omniorb.sourceforge.io/

# Installation

This installs like a standard pypi package.

See https://pypi.org/project/jeteve-omniorb 

# Why jeteve_omniorb

- Just install a Python package, no more special OmniORB compilation on your platform.
- Packages latest stable OmniORB.
- Batteries included. Get started with OmniORB examples right after installation. See `example/` and/or https://omniorb.sourceforge.io/omnipy43/omniORBpy.
- Support for legacy glibc 2.17+ because we don't all have new shiny OSes.
- CI Tested Support for python from 3.8 to 3.14.
- Stable OmniOrb versions Automatically tested using omniorb's examples.
- Tested to work with `uvx` if you want to just run `omniidl` or `omniNames`.
- cute emojis in shell scripts.

## Batteries included

We aim at supporting the full Python example from omniorb out of the box:

https://omniorb.sourceforge.io/omnipy43/omniORBpy/omniORBpy002.html#sec10

In particular, that means that this packages the binary `omnicpp` (OmniORBs take on a C Preprocessor) coming from the C/C++ OmniORB library.

This is tested as part of the building process.

# How to build

Run ```build-wheels.sh``` You only need docker

# Version management

For now this is manual. Don't forget to update `pyproject.toml.m4`

# Development principles

_Everything_ happens in the provided Docker images.

It is based on manylinux2014_x86_64 (from project https://github.com/pypa/manylinux) for maximum
compatibility with glibc 2.17.

Other architectures will come later. Maybe.

## Dev notes - Building and testing a specific version:

Build:

```bash
docker run -t -e HOME=/workdir -u $(id -u):$(id -g) --rm -v $(pwd):/workdir $(cat .docker-image-id) bash /workdir/inside-build-wheels.sh "cp312" "4.2.6"

```

Test:
```bash
docker run -t -e HOME=/workdir -u $(id -u):$(id -g) --rm -v $(pwd):/workdir $(cat .docker-image-id) bash /workdir/inside-test-wheels.sh "3.12" "4.2.6"
```

## Dev notes - how to upload

1) Check all wheels with twine (using uvx is recommended)

uvx twine check wheelhouse/*

2) Upload to test repo

uvx twine upload --repository testpypi wheelhouse/*

3) Check you can download and execute
uvx -n -p 3.13 --from "jeteve_omniorb~=4.3.3"  --index-url https://test.pypi.org/simple/ omnicpp -h
uvx -n -p 3.12 --from "jeteve_omniorb~=4.3.3"  --index-url https://test.pypi.org/simple/ omnicpp -h
uvx -n -p 3.11 --from "jeteve_omniorb~=4.3.3"  --index-url https://test.pypi.org/simple/ omnicpp -h
uvx -n -p 3.10 --from "jeteve_omniorb~=4.3.3"  --index-url https://test.pypi.org/simple/ omnicpp -h
