Solace PubSub+ Messaging API for Python releases

hong
hong Administrator Posts: 420 admin

The following product has been released and is available for download:

  • Solace PubSub+ Messaging API for Python 1.1.0

Release Summary:

The following new features have been added to this updated API:

  • Direct Messaging Request/Reply
  • Structured Data Type Support for Publish and Consume
  • Message Replay Support
  • Message Interoperability with other Solace Message Format (SMF) APIs Containing XMLContent

Please refer to the product release notes for information on new features, changed functionality, resolved issues, known issues and upgrade considerations.

Download:

The API can be downloaded from products.solace.com.

Note: Access to products.solace.com requires your account name and password.

Documentation:

Solace product documentation can be found at: https://docs.solace.com.

Comments

  • ManuManu
    ManuManu Member Posts: 8
    edited August 2021 #2

    Hi,

    I'm having issues installing version 1.1.0

    ERROR: Could not find a version that satisfies the requirement solace-pubsubplus==1.1.0 (from versions: 0.2.0, 0.2.1)
    ERROR: No matching distribution found for solace-pubsubplus==1.1.0

    Here's the info:
    Platform: MacOs Sierra 10.12.6
    Homebrew version 2.4.9

    • installed python3.7
    • added a softlink
      ln -s /usr/local/Cellar/[email protected]/3.7.8_1/bin/python3.7 /usr/local/bin/python3.7
      python3.7 -V
      python 3.7.8

    • created and utilized a virtual environment
      python3.7 -m venv venv37
      source venv37/bin/activate

    • pip list versions under that virtualenv (venv37)
      pip==21.2.3
      setuptools==47.1.0

    • then pip install solace-pubsubplus==1.1.0
      The error above is showing. I used 3.7 per Readme guide

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 695 admin

    Hey @Tamimi can you take a look and see if instructions need to be updated with the new version?

  • ManuManu
    ManuManu Member Posts: 8

    Hi @marc , @Tamimi:

    I resolved the issue by updating my Mac platform to the latest BigSur. Originally my OS was 10.12, and looking at pypy downloaded files for 1.1.0, the filename for mac is stated 10_15. So I took a dive and upgrade my OS, and now I'm able to use 1.1.0

  • argoran
    argoran Member Posts: 6

    Is it possible to include the package that supports for any platform? Thanks.

  • Tamimi
    Tamimi Member, Administrator, Employee Posts: 376 admin

    Hey @ManuManu! Updating your pip pip install --upgrade pip should suffice 👍

  • Tamimi
    Tamimi Member, Administrator, Employee Posts: 376 admin

    @argoran what platforms are you referring to?

  • argoran
    argoran Member Posts: 6

    @Tamimi , Thanks for the reply. I am using a 10.14 Mac and for solace-pubsubplus, the available downloads for Mac requires that its version should be at least 10.15.

    I noticed in the previous version like for 0.2.1 the available download is for any platform. Is it possible to bring this back for 1.1.0 version?

    Also, regarding updating the pip. My pip version is already the latest but when I try to install solace-pubsubplus the only available versions are 0.2.0 and 0.2.1.

    Anyway, I am using docker as my work around for this.

  • amackenzie
    amackenzie Member, Employee Posts: 167 Solace Employee

    Hello @argoran , I am a product manager at Solace and I handle the APIs.

    I understand that 10.4 Mojave is still under support from Apple, however, it was released in 2018 and end of support is imminent from Apple. The rumor is Nov 2021 (so 2 months from now), which would be consistent with past MacOS releases being supported for 3 years.

    As such, Solace is unlikely to create a new package that supports MacOS prior to 10.15.
    Is it possible for you to upgrade to something more recent?

    Regards,
    Andrew

  • argoran
    argoran Member Posts: 6

    @amackenzie , thanks for your response and explanation. I might look in to upgrading to the latest version of MacOS.

  • hong
    hong Administrator Posts: 420 admin

    The following product has been released and is available for download:

    • Solace PubSub+ Messaging API for Python 1.2.0

    Release Summary

    The following new features have been introduced in this release:

    • Support for Kerberos client authentication
    • Additional Direct Receiver Back Pressure Strategies
    • Replay after Replication Group Message ID

    Please refer to the product release notes for information on new features, changed functionality, resolved issues, known issues and upgrade considerations.

    Download

    The API can be downloaded from products.solace.com.

    Note: Access to products.solace.com requires your account name and password.

    Documentation

    Solace product documentation can be found at https://docs.solace.com.

  • hong
    hong Administrator Posts: 420 admin

    The following product has been released and is available for download:

    • Solace PubSub+ Messaging API for Python 1.3.0

    Release Summary

    The following new feature has been introduced in this release:

    • OAuth/OIDC Support in Python API

    The API can be downloaded from 

    Note: Access to products.solace.com requires your account name and password.

  • Connor
    Connor Member Posts: 3

    I am having the same problem. Pip is updated, running in a venv, running latest MacOS etc etc and when I install I am offered only 0.2.0 or 0.2.1. I am working on an M1 mac if that makes any difference.

  • Tamimi
    Tamimi Member, Administrator, Employee Posts: 376 admin
    edited May 11 #14

    Hi @Connor ! I tired the following and was able to install the latest version of the solace python API. Can you please confirm what version of python and pip you have in your virtual environment? See below what I did from scratch.

    # Create a new directory and navigate to it
    > mkdir demo && cd "$_"
    
    # Create virtual environment and activate it
    > python3 -m venv venv
    > source venv/bin/activate
    
    # Check Python and pip versions
    > python --version
    Python 3.8.9
    
    > pip list
    Package    Version
    ---------- -------
    pip        20.2.3
    setuptools 49.2.1
    WARNING: You are using pip version 20.2.3; however, version 22.0.4 is available.
    
    # Note that I have pip version 20.2.3
    # If I attempt to install solace-pubsubplus version 1+ I get the following error
    > pip install solace-pubsubplus==1.1.0                                                                % py demo
    ERROR: Could not find a version that satisfies the requirement solace-pubsubplus==1.1.0 (from versions: 0.2.0, 0.2.1)
    ERROR: No matching distribution found for solace-pubsubplus==1.1.0
    WARNING: You are using pip version 20.2.3; however, version 22.0.4 is available.
    
    # Upgrade pip
    > pip install --upgrade pip
    Collecting pip
      Using cached pip-22.0.4-py3-none-any.whl (2.1 MB)
    Installing collected packages: pip
      Attempting uninstall: pip
        Found existing installation: pip 20.2.3
        Uninstalling pip-20.2.3:
          Successfully uninstalled pip-20.2.3
    Successfully installed pip-22.0.4
    
    # Now install latest version of solace python API 
    > pip install solace-pubsubplus==1.3.0                                                                % py demo
    Collecting solace-pubsubplus==1.3.0
      Using cached solace_pubsubplus-1.3.0-py36-none-macosx_10_15_x86_64.whl (5.5 MB)
    Installing collected packages: solace-pubsubplus
      Attempting uninstall: solace-pubsubplus
        Found existing installation: solace-pubsubplus 1.1.0
        Uninstalling solace-pubsubplus-1.1.0:
          Successfully uninstalled solace-pubsubplus-1.1.0
    Successfully installed solace-pubsubplus-1.3.0
    
    # List installed packages
    > pip list                                                                                            % py demo
    Package           Version
    ----------------- -------
    pip               22.0.4
    setuptools        49.2.1
    solace-pubsubplus 1.3.0
    

    Hopefully this helps :)

  • Connor
    Connor Member Posts: 3
    edited May 12 #15

    Thanks for your reply. Pip is updated to 22.04 and when I try install solace-pubsubplus I get this

    ERROR: Could not find a version that satisfies the requirement solace-pubsubplus==1.3.0 (from versions: 0.2.0, 0.2.1)

    ERROR: No matching distribution found for solace-pubsubplus==1.3.0

    My colleagues on Intel Macs do not have this issue, so I suspect it has something to do with the architecture. Any help/ideas would be much appreciated.

  • Tamimi
    Tamimi Member, Administrator, Employee Posts: 376 admin

    Hey @Connor - I just confirmed that the supported operating systems listed on the PyPi project page do not have ARM support (yet) so you wont be able to use the Python API for now on your M1 MacOS natively. Alternatively, you can take a dockerized approach to using the API in a supported OS.

  • Connor
    Connor Member Posts: 3

    Thank you for the information. Correct me if I am wrong, but there is no ARM-native pubsub+ image and I could not get the x86 image to run under emulation, so docker is not an alternative option unfortunately. Based on this:

    It seems that I am not the only one encountering issues with running the docker images on M1. Thanks for all your help @Tamimi!

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 695 admin
    edited May 13 #18

    Hi @Connor,

    You're correct - there is not an ARM-native pubsub+ event broker image at this time. Right now the easiest option, in most cases, for those using ARM based machines would be to run a broker in Solace Cloud.

  • Tamimi
    Tamimi Member, Administrator, Employee Posts: 376 admin

    @Connor You are correct! So you wont be able to run the software Solace PubSub+ Broker image on docker on an ARM based M1 MacBook (Yet). However since you were wondering about using the Solace PubSub+ Messaging API, you can still run [the API] on a docker image and connect it to a cloud based broker.

    Say you have a local centos docker image docker pull centos (note that you can also have any python image) then run the image under emulation

    docker run -it --shm-size 1g --platform linux/amd64 centos:latest bash
    

    And then you can install and use the Solace API

    mkdir ./venv
    python3 -m venv ./venv
    source ./venv/bin/activate
    python -m pip install --upgrade pip
    python -m pip install solace-pubsubplus
    

    Note: Assuming you have python installed in your centos image:

    yum update -y
    yum install -y python3
    

    Let me know if this helps!