Package: amps-python-client
AMPS Python ClientIntroductionThe 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.PrerequisitesTo 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 distutils. Most python installations build and include this package by default, but you may run into issues building this extension module if distutils is not functioning properly on your system.
Python distutils may be packaged in a standalone package named 'python-distutils', or included in 'python-devel.x86_64'. You can also run the setup script availablehere.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:dnf install redhat-rpm-configdnf install python-devel  # for use with Python2dnf install python3-devel # for use with Python3dnf install gcc-c++Building From a Git CloneIf 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 --initwhich will initialize and update the submodule in one step. Note that working with submodules in git requires extra care. Visitthis chapterto learn more about git submodules.BuildThis 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:Runpython setup.py buildfrom 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. Runpython setup.py --helpto view command help.Check under thebuilddirectory forAMPS.so-- this is the Python extension module. Ensure this library's directory is in your PYTHONPATH.To test, runpython -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:Use a Visual Studio Command Prompt to create a command prompt where the necessary Visual Studio environment variables are set for command line builds.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.Runpython setup.py buildfom the AMPS Python Client directory to build the client module. Use the-p win32option to build a 32-bit client module.Check under thebuilddirectory forAMPS.pyd-- this is the Python extension module. Ensure this library's directory is in your PYTHONPATH.To test, runpython -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 Wheel60East 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:Download the wheel file from the 60East client release page.run 'python -m pip install *.whl'.Troubleshooting Build ProblemsSymptom: Python.h not foundResolution: Update or install python distutils. See the entry on python distutils in the prequisites section for information on installing this package.For More InformationThe developer's guide and generated reference documentation for this client are available under the doc/ directory.