Skip to main content

AMPS Python Client

Project description

AMPS Python Client

Introduction

The AMPS Python Client is a Python extension module that makes it easy to connect to AMPS. This client builds upon the AMPS C++ Client and Python/C api to bring high performance AMPS connectivity to Python code.

Prerequisites

To use the AMPS Python Client, you must have the following software installed and configured on your system:

  • Python 2.7 or Python 3.5 and above.
  • Python setuptools. Most python installations build and include this package by default, but you may run into issues building this extension module if setuptools is not functioning properly on your system.
  • C++ compiler. gcc 4.4 or greater on Linux, or a verion of Visual Studio with Mainstream Support from Microsoft (please refer to Microsoft product lifecycle policies) on Windows. Note that this must be the same compiler used to build your python distribution, else python distutils may be unable to invoke your compiler.

Fedora prerequisites:

  1. dnf install redhat-rpm-config
  2. dnf install python-devel # for use with Python2
  3. dnf install python3-devel # for use with Python3
  4. dnf install gcc-c++

Building From a Git Clone

If you obtained this client by a git clone of the 60East amps-client-python repository, you also need to fetch the correct version of the AMPS C++ client submodule. To do this, issue a git submodule command to initialize and update the src/cpp submodule. One easy way to do this is by issuing the command:

git submodule update --init

which will initialize and update the submodule in one step. Note that working with submodules in git requires extra care. Visit this chapter to learn more about git submodules.

Build

This client is distributed as source code and must be compiled before it is used. The build process emits a shared library (or DLL on Windows) that can be imported into your python application.

To build on Linux:

  1. Run python setup.py build from the AMPS Python Client directory to build the client.

    This script uses Python distutils to build the client library. Python distutils provides many additional options for installing the built library into your Python distribution, or otherwise controlling the output of the build process. Run python setup.py --help to view command help.

  2. Check under the build directory for AMPS.abi3.so -- this is the Python extension module. Ensure this library's directory is in your PYTHONPATH.

  3. To test, run python -c "import AMPS". If any errors occur importing the AMPS module, validate that the module built properly, and that the containing directory is in your PYTHONPATH.

To build on Windows:

  1. Use a Visual Studio Command Prompt to create a command prompt where the necessary Visual Studio environment variables are set for command line builds.

  2. Add the Python directory (the location of the python.exe interpreter) to your path. Note: The platform of your python installation must match the target platform for this python module. If you want to build a 64-bit module, you must set your PATH to a 64-bit Python installation; for a 32-bit module, you must set it to a 32-bit installation. If you'd like to build both, you must do so separately, once with each Python installation.

  3. Run python setup.py build fom the AMPS Python Client directory to build the client module. Use the -p win32 option to build a 32-bit client module.

  4. Check under the build directory for AMPS.pyd -- this is the Python extension module. Ensure this library's directory is in your PYTHONPATH.

  5. To test, run python -c "import AMPS". If any errors occur importing the AMPS module, validate that the module built properly, and that the containing directory is in your PYTHONPATH.

Installing the Python Binary Wheel

60East also provides Linux-x86-64 and Windows 64-bit binary wheels built with Python 2.7 and for Python 3.x. These wheel files are provided on the 60East website.

If your system is not Linux-x86-64, or you are not using Python 2.6, you can generate your own egg by running 'python setup.py bdist_wheel'.

Installing:

  1. Download the wheel file from the 60East client release page.

  2. run 'python -m pip install *.whl'.

Troubleshooting Build Problems

Symptom: Python.h not found

Resolution: Update or install python distutils. See the entry on python distutils in the prequisites section for information on installing this package.

For More Information

The developer's guide and generated reference documentation for this client are available under the doc/ directory.

Project details


Download files

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

Source Distribution

amps_python_client-5.3.5.2.tar.gz (3.5 MB view details)

Uploaded Source

Built Distributions

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

amps_python_client-5.3.5.2-cp38-abi3-win_amd64.whl (445.2 kB view details)

Uploaded CPython 3.8+Windows x86-64

amps_python_client-5.3.5.2-cp38-abi3-manylinux_2_28_x86_64.whl (24.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ x86-64

amps_python_client-5.3.5.2-cp38-abi3-manylinux_2_28_aarch64.whl (24.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ ARM64

amps_python_client-5.3.5.2-cp38-abi3-macosx_14_0_x86_64.whl (896.6 kB view details)

Uploaded CPython 3.8+macOS 14.0+ x86-64

amps_python_client-5.3.5.2-cp38-abi3-macosx_14_0_arm64.whl (802.7 kB view details)

Uploaded CPython 3.8+macOS 14.0+ ARM64

File details

Details for the file amps_python_client-5.3.5.2.tar.gz.

File metadata

  • Download URL: amps_python_client-5.3.5.2.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for amps_python_client-5.3.5.2.tar.gz
Algorithm Hash digest
SHA256 75b13686033ee20ef56d2c399edb7c0379b959bdff7decd437561ad38ece807c
MD5 3410d834bd76965b46a3e9a501351ff3
BLAKE2b-256 b2bda44aea344e7e86c10ebf531f036257e2a63fd0818551c56d4df0a86f90bb

See more details on using hashes here.

File details

Details for the file amps_python_client-5.3.5.2-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for amps_python_client-5.3.5.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8aa5a7298705b47664a360dad8ce77f64d75dbc40300275e14770df0c55adfee
MD5 6e584a5bcda9492dd9c646ddfdb4819a
BLAKE2b-256 61512be1bad5d6034749dc67d56edcf03c1bae824975aea88b110d88aed5b654

See more details on using hashes here.

File details

Details for the file amps_python_client-5.3.5.2-cp38-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for amps_python_client-5.3.5.2-cp38-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 405510bfc211e28e03ff507b9bec6d82d0bdf991022919a478f045734b98266c
MD5 4b30419d658cca1ed3a8920ef9124834
BLAKE2b-256 5f4996fdb62b63961aea5969c8958010bfa4021d43cc533ff020bb69671c1756

See more details on using hashes here.

File details

Details for the file amps_python_client-5.3.5.2-cp38-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for amps_python_client-5.3.5.2-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f18e63da5fc209169d56c80b96daedeaf9505bb602f604e231becdd828214f88
MD5 1268741779bae4236eeb17304b94fb50
BLAKE2b-256 56e214254fe8603e22c86a6f6b7548aa0750a24061e87067fbd2988c413db578

See more details on using hashes here.

File details

Details for the file amps_python_client-5.3.5.2-cp38-abi3-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for amps_python_client-5.3.5.2-cp38-abi3-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 433284b84a869bb596e58b032a3d58103738b46a1dd45d17a35b1d46ffe1d2ea
MD5 051236506d0e301ee097c01319fdbaeb
BLAKE2b-256 9b246a3a17aace01da834d5a077cf779bf9c8ba924147f49bc849fef3f7e86c1

See more details on using hashes here.

File details

Details for the file amps_python_client-5.3.5.2-cp38-abi3-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for amps_python_client-5.3.5.2-cp38-abi3-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 13735f68d78ec0c1ec434c1efd687eda7a1332346195c52dc1dc890938ac8c67
MD5 6b871c91360a5d10fcf0867a39ff06fb
BLAKE2b-256 22ec91e7f9fcdd6fa0c5c2ab0aa9553d07b4644d8902898cf2cc2785a8955a85

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