Skip to main content

pypi compatible packaging for OmniORB 4.3.2

Project description

Jeteve OmniORB

PyPI - Version PyPI - Python Version


Table of Contents

Installation

pip install jeteve-omniorb

License

jeteve-omniorb is distributed under the terms of the MIT license.

PyPI - Wheel PyPI - Version Build and test

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

In your development environment, run build-wheels.sh You only need docker.

Version management

This generates wheels that are versioned with the version of the packaged OmniORB library, and following https://peps.python.org/pep-0440/, it adds a .postN part that express the fact that this is a new packaging of the same software.

From git tags perspective, this specific repo needs to be tagged with .postN.

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:

Building the build image:

docker buildx build . --iidfile .docker-image-id
docker run --rm -v $(pwd):/workdir $(cat .docker-image-id) echo "✅ Docker image built successful."

For another platform/architecture:

First follow https://docs.docker.com/build/building/multi-platform/

Make sure you install qemu binaries if you want to leverage qemu:

docker run --privileged --rm tonistiigi/binfmt --install all

Note that qemu will be very slow. The buildx with multiple build nodes providing the different architectures is preferred.

Using the github actions workflow is preferred, as it provides VM on native architectures.

# See supported architecture in manylinux
# https://github.com/pypa/manylinux
docker buildx build --iidfile .docker-image-id --platform linux/arm64 --build-arg MANYLINUX_ARCH=aarch64 .
docker run --platform linux/arm64  --rm -v $(pwd):/workdir $(cat .docker-image-id) echo "✅ Docker image built successful."

Build:

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:

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/*

  1. Upload to test repo

uvx twine upload --repository testpypi wheelhouse/*

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

jeteve_omniorb-4.3.2.post7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

jeteve_omniorb-4.3.2.post7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

jeteve_omniorb-4.3.2.post7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

jeteve_omniorb-4.3.2.post7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

jeteve_omniorb-4.3.2.post7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file jeteve_omniorb-4.3.2.post7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jeteve_omniorb-4.3.2.post7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 278f0acec5ef7ff68094b4819c0764fe1a995f9d469551030df62d3b929f813c
MD5 1198cf5eb03bef67474cac86ccf84935
BLAKE2b-256 8bc60dd6dd2cc66c3d39ca0eb8385643bee5bad8bd9518183caeaf597b930e8f

See more details on using hashes here.

File details

Details for the file jeteve_omniorb-4.3.2.post7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jeteve_omniorb-4.3.2.post7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 57affb295486a057b073bd84baaf6245439b299764e68fad83c8bfd1a8952edc
MD5 e615d99ffef87554d6862503be85caa5
BLAKE2b-256 ea112892614a639a6533d7a4552e8c8dd54a07164091399213206ac00fa72f56

See more details on using hashes here.

File details

Details for the file jeteve_omniorb-4.3.2.post7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jeteve_omniorb-4.3.2.post7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 911eba64a51e12ecb346c07aee5cc9123f65a75f4567903bf7c5bef6e70359c7
MD5 cfd7f8e7d09fe7c12451326de94821c4
BLAKE2b-256 397911a3c7cdd3508608950fb13f09e17cccc6da61be8a89cde54bccf8a7f62f

See more details on using hashes here.

File details

Details for the file jeteve_omniorb-4.3.2.post7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jeteve_omniorb-4.3.2.post7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a5f6475f22480d5f92dfcc755c8570e8eb13b547de26d080b73a9f87ef936b7d
MD5 c333235a1928d4545caf95474e10f90d
BLAKE2b-256 b674d84b4cc194e35aae56dc2d8781219d6e5764a4c9d1a2a5bd6ca7184a7919

See more details on using hashes here.

File details

Details for the file jeteve_omniorb-4.3.2.post7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for jeteve_omniorb-4.3.2.post7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fc697bd0673a7f86f764a13b3130033f3c5804389475f079d01c17438bb6759a
MD5 cc343b8b4e72fd9c14ba38db7e049c2a
BLAKE2b-256 2cc798c0251c4b79a93af8379afd420f6a154591d695a3fca99a90856d040d7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page