%global _empty_manifest_terminate_build 0 Name: python-khoros Version: 5.2.2 Release: 1 Summary: Useful tools and utilities to assist in managing a Khoros Communities (formerly Lithium) environment. License: MIT License URL: https://github.com/jeffshurtliff/khoros Source0: https://mirrors.aliyun.com/pypi/web/packages/b0/c5/e99e2bd445b9fbd0a4466a7f103114703d51697e1eb7da686ff7e787c1f6/khoros-5.2.2.tar.gz BuildArch: noarch %description # Python SDK for Khoros Communities The **khoros** library acts as a Python software development kit (SDK) to administer and manage [Khoros Communities](https://khoros.com/platform/communities) (formerly Lithium) online community platforms.
Latest Stable Release PyPI
Latest Beta/RC Release PyPI
Build Status GitHub Workflow Status
Supported Versions PyPI - Python Version
Code Coverage
CodeFactor Grade CodeFactor Grade
Documentation Documentation Status
Security Audits Bandit
PyCharm Security Scanner
License License (GitHub)
Issues GitHub open issues
GitHub closed issues
Pull Requests GitHub pull open requests
GitHub closed pull requests
## Installation The package can be installed via pip using the syntax below. ```sh pip install khoros --upgrade ``` You may also clone the repository and install from source using below. ```sh git clone git://github.com/jeffshurtliff/khoros.git cd khoros/ python setup.py install ``` ## Change Log The change log can be found in the [documentation](https://khoros.readthedocs.io/en/latest/changelog.html). ## Usage This section provides basic usage instructions for the package. ### Importing the package Rather than importing the base package, it is recommended that you import the primary `Khoros` class using the syntax below. ```python from khoros import Khoros ``` This recommendation is because the best practice is to use the name `khoros` when naming your object instance. ### Initializing a Khoros object instance The primary `Khoros` object serves many purposes, the most important being to establish a connection to the Khoros Community environment with which you intend to interact. As such, when initializing an instance of the `Khoros` object, you will need to pass it the community URL, the credentials it will use and related information so that the connection can be established. The `Khoros` object can be initiated in two different ways: * Passing the information directly into the object * Leveraging a "helper" configuration file #### Passing the information directly into the object The community and connection information can be passed directly into the `Khoros` object when initializing it, as demonstrated in the example below. ```python # Using Session Key authentication khoros = Khoros( community_url='https://community.example.com', session_auth={'username': USERNAME, 'password': PASSWD} ) # Using LithiumSSO Token authentication khoros = Khoros( community_url='https://community.example.com', sso={'sso.authentication_token': LITHIUM_SSO_TOKEN} ) ``` Alternatively, configuration settings can be passed at once using the `options` argument in the `Khoros` class, as shown below. ```python my_settings = { 'community_url': 'https://community.example.com', 'community_name': 'mycommunity', 'auth_type': 'session_auth', 'session_auth': { 'username': USERNAME, 'password': PASSWD } } ``` #### Leveraging a "helper" configuration file As an alternative to passing the connection information to the `Khoros` class in the ways demonstrated above, a "helper" configuration file in `yaml` or `json` format can be leveraged instead and passed to the `Khoros` class when initializing the object. This is an example of how the configuration file would be written: ```yaml # Helper configuration file for the khoros package # Define how to obtain the connection information connection: community_url: https://community.example.com/ tenant_id: example12345 # Define the default authentication type to use default_auth_type: session_auth # Define the OAuth 2.0 credentials oauth2: client_id: FLFeNYob7XXXXXXXXXXXXXXXXXXXXZcWQEQHR5T6bo= client_secret: 1n0AIXXXXXXXXXXXXXXXXXXXX1udOtNaYnfJCeOszYw= redirect_url: http://redirect.community.example.com/getAccessToken # Define the session key authorization information session_auth: username: serviceaccount password: Ch@ng3ME! # Bulk Data API connection information bulk_data: community_id: example.prod client_id: ay0CXXXXXXXXXX/XXXX+XXXXXXXXXXXXX/XXXXX4KhQ= token: 2f25XXXXXXXXXXXXXXXXXXXXXXXXXa10dec04068 europe: no # Define the preferred format for API responses prefer_json: yes ``` The file can then be referenced using the `helper` argument when initializing the object instance, as shown below. ```python HELPER_FILE = "/path/to/helper.yml" khoros = Khoros(helper=HELPER_FILE) ``` #### Utilizing environment variables This third method of initializing a Khoros object instance is definitely the easiest, as it allows you to call upon the `Khoros` class without passing any arguments, as shown below. ```python from khoros import Khoros khoros = Khoros() ``` This is accomplished by defining environment variables within your Operating System, either through the [graphical UI](https://www.techjunkie.com/environment-variables-windows-10/), the command-line or within the Python IDE using the `os` module and [adding entries](https://able.bio/rhett/how-to-set-and-get-environment-variables-in-python--274rgt5) to the `os.environ` dictionary, as shown below. ```python import os os.environ['KHOROS_URL'] = 'https://community.example.com' ``` | Environment Variable | Description | Example | |---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | KHOROS_URL | The base URL of the environment | `https://community.example.com` | | KHOROS_TENANT_ID | The [Tenant ID](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) associated with your environment | `abcde12345` | | KHOROS_DEFAULT_AUTH | The default authentication method you wish to use | `session_auth` | | KHOROS_OAUTH_ID | The Client ID utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `FXXXXXXb7owXXXXXXo+jFlPXXXXXXjZcWQXXXXXX6bo=` | | KHOROS_OAUTH_SECRET | The Client Secret utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `1XXXXXX+/kZXXXXXXZZ9u1B5+1uXXXXXXfJCeOszYw=` | | KHOROS_OAUTH_REDIRECT_URL | The Redirect URL utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `http://redirect.community.example.com/getAccessToken` | | KHOROS_SESSION_USER | The username to use with [Session Key](https://developer.khoros.com/khoroscommunitydevdocs/docs/session-key) authentication | `apiuser` | | KHOROS_SESSION_PW | The password to use with [Session Key](https://developer.khoros.com/khoroscommunitydevdocs/docs/session-key) authentication | `Ch@ng3M3!` | | KHOROS_PREFER_JSON | Boolean string indicating if JSON responses are preferred | `True` | | KHOROS_LIQL_PRETTY | Boolean string indicating if reader-friendly formatting should be used | `False` | | KHOROS_LIQL_TRACK_LSI | Boolean string indicating if queries should be captured in Community Analytics search reports | `False` | | KHOROS_LIQL_ALWAYS_OK | Boolean string indicating if all responses should return a `200 OK` status code | `False` | | KHOROS_TRANSLATE_ERRORS | Boolean string indicating if errors in API responses should be made more relevant where possible | `True` | If you are leveraging this library on a macOS or Linux operating system (e.g. Ubuntu Server) then you can simply add the environment variables you wish to define to either the `/etc/environment` file if you wish to apply them to all users, or to your user's `~/.bashrc` file for them to only apply to your user. ```shell script # Define environment variables for Khoros KHOROS_URL='https://community.example.com' ``` >**Note:** >You will generally need to log out and log back in for the changes to take effect. If you are leveraging this library on a Windows operating system (e.g. Windows 10) then you can add environment variables for your user via the Command Prompt (i.e. `cmd.exe`) or PowerShell. >**Note:** >Using either of these two methods, you can add the environment variables using an interactive terminal >window or using a batch/script file. (Files should use the `.bat` or `.cmd` extension for the >Command Prompt and `.ps1` for PowerShell.) **Command Prompt** ```batch @echo off echo Defining the KHOROS_URL environment variable... setx KHOROS_URL https://community.example.com echo. ``` **PowerShell** ```powershell "Defining the KHOROS_URL environment variable..." [Environment]::SetEnvironmentVariable("KHOROS_URL", "https://community.example.com/", "User") ``` ### Interacting with the Community APIs Once the `Khoros` object instance has been initialized, it can be leveraged to interact with a Khoros Community environment in many ways, which is fully documented in the official [documentation](https://khoros.readthedocs.io/en/latest/). The example below demonstrates how a search can be performed using LiQL to return information from the environment in JSON format. ```python response_json = khoros.search( select_fields=('id', 'view_href'), from_source='messages', where_filter=('style', 'tkb'), order_by='last_post_time', limit=5 ) ``` ## Documentation The documentation is located here: [https://khoros.readthedocs.io/en/latest/](https://khoros.readthedocs.io/en/latest/) ## License [MIT License](https://github.com/jeffshurtliff/khoros/blob/master/LICENSE) ## Reporting Issues Issues can be reported within the [GitHub repository](https://github.com/jeffshurtliff/khoros/issues). ## Roadmap Upcoming improvements to the library can be found in the following locations: - [2020 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/1) - [2021 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/2) - [2022 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/3) ## Additional Resources Additional resources for leveraging the Community APIs can be found in the official [Khoros Developer Documentation](https://developer.khoros.com/khoroscommunitydevdocs). ## Donations If you would like to donate to this project then you can do so using [this PayPal link](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=XDZ8M6UV6EFK6&item_name=Khoros+Python+API¤cy_code=USD). ## Disclaimer This package is considered unofficial and is in no way endorsed or supported by [Khoros, LLC](https://www.khoros.com). %package -n python3-khoros Summary: Useful tools and utilities to assist in managing a Khoros Communities (formerly Lithium) environment. Provides: python-khoros BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-khoros # Python SDK for Khoros Communities The **khoros** library acts as a Python software development kit (SDK) to administer and manage [Khoros Communities](https://khoros.com/platform/communities) (formerly Lithium) online community platforms.
Latest Stable Release PyPI
Latest Beta/RC Release PyPI
Build Status GitHub Workflow Status
Supported Versions PyPI - Python Version
Code Coverage
CodeFactor Grade CodeFactor Grade
Documentation Documentation Status
Security Audits Bandit
PyCharm Security Scanner
License License (GitHub)
Issues GitHub open issues
GitHub closed issues
Pull Requests GitHub pull open requests
GitHub closed pull requests
## Installation The package can be installed via pip using the syntax below. ```sh pip install khoros --upgrade ``` You may also clone the repository and install from source using below. ```sh git clone git://github.com/jeffshurtliff/khoros.git cd khoros/ python setup.py install ``` ## Change Log The change log can be found in the [documentation](https://khoros.readthedocs.io/en/latest/changelog.html). ## Usage This section provides basic usage instructions for the package. ### Importing the package Rather than importing the base package, it is recommended that you import the primary `Khoros` class using the syntax below. ```python from khoros import Khoros ``` This recommendation is because the best practice is to use the name `khoros` when naming your object instance. ### Initializing a Khoros object instance The primary `Khoros` object serves many purposes, the most important being to establish a connection to the Khoros Community environment with which you intend to interact. As such, when initializing an instance of the `Khoros` object, you will need to pass it the community URL, the credentials it will use and related information so that the connection can be established. The `Khoros` object can be initiated in two different ways: * Passing the information directly into the object * Leveraging a "helper" configuration file #### Passing the information directly into the object The community and connection information can be passed directly into the `Khoros` object when initializing it, as demonstrated in the example below. ```python # Using Session Key authentication khoros = Khoros( community_url='https://community.example.com', session_auth={'username': USERNAME, 'password': PASSWD} ) # Using LithiumSSO Token authentication khoros = Khoros( community_url='https://community.example.com', sso={'sso.authentication_token': LITHIUM_SSO_TOKEN} ) ``` Alternatively, configuration settings can be passed at once using the `options` argument in the `Khoros` class, as shown below. ```python my_settings = { 'community_url': 'https://community.example.com', 'community_name': 'mycommunity', 'auth_type': 'session_auth', 'session_auth': { 'username': USERNAME, 'password': PASSWD } } ``` #### Leveraging a "helper" configuration file As an alternative to passing the connection information to the `Khoros` class in the ways demonstrated above, a "helper" configuration file in `yaml` or `json` format can be leveraged instead and passed to the `Khoros` class when initializing the object. This is an example of how the configuration file would be written: ```yaml # Helper configuration file for the khoros package # Define how to obtain the connection information connection: community_url: https://community.example.com/ tenant_id: example12345 # Define the default authentication type to use default_auth_type: session_auth # Define the OAuth 2.0 credentials oauth2: client_id: FLFeNYob7XXXXXXXXXXXXXXXXXXXXZcWQEQHR5T6bo= client_secret: 1n0AIXXXXXXXXXXXXXXXXXXXX1udOtNaYnfJCeOszYw= redirect_url: http://redirect.community.example.com/getAccessToken # Define the session key authorization information session_auth: username: serviceaccount password: Ch@ng3ME! # Bulk Data API connection information bulk_data: community_id: example.prod client_id: ay0CXXXXXXXXXX/XXXX+XXXXXXXXXXXXX/XXXXX4KhQ= token: 2f25XXXXXXXXXXXXXXXXXXXXXXXXXa10dec04068 europe: no # Define the preferred format for API responses prefer_json: yes ``` The file can then be referenced using the `helper` argument when initializing the object instance, as shown below. ```python HELPER_FILE = "/path/to/helper.yml" khoros = Khoros(helper=HELPER_FILE) ``` #### Utilizing environment variables This third method of initializing a Khoros object instance is definitely the easiest, as it allows you to call upon the `Khoros` class without passing any arguments, as shown below. ```python from khoros import Khoros khoros = Khoros() ``` This is accomplished by defining environment variables within your Operating System, either through the [graphical UI](https://www.techjunkie.com/environment-variables-windows-10/), the command-line or within the Python IDE using the `os` module and [adding entries](https://able.bio/rhett/how-to-set-and-get-environment-variables-in-python--274rgt5) to the `os.environ` dictionary, as shown below. ```python import os os.environ['KHOROS_URL'] = 'https://community.example.com' ``` | Environment Variable | Description | Example | |---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | KHOROS_URL | The base URL of the environment | `https://community.example.com` | | KHOROS_TENANT_ID | The [Tenant ID](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) associated with your environment | `abcde12345` | | KHOROS_DEFAULT_AUTH | The default authentication method you wish to use | `session_auth` | | KHOROS_OAUTH_ID | The Client ID utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `FXXXXXXb7owXXXXXXo+jFlPXXXXXXjZcWQXXXXXX6bo=` | | KHOROS_OAUTH_SECRET | The Client Secret utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `1XXXXXX+/kZXXXXXXZZ9u1B5+1uXXXXXXfJCeOszYw=` | | KHOROS_OAUTH_REDIRECT_URL | The Redirect URL utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `http://redirect.community.example.com/getAccessToken` | | KHOROS_SESSION_USER | The username to use with [Session Key](https://developer.khoros.com/khoroscommunitydevdocs/docs/session-key) authentication | `apiuser` | | KHOROS_SESSION_PW | The password to use with [Session Key](https://developer.khoros.com/khoroscommunitydevdocs/docs/session-key) authentication | `Ch@ng3M3!` | | KHOROS_PREFER_JSON | Boolean string indicating if JSON responses are preferred | `True` | | KHOROS_LIQL_PRETTY | Boolean string indicating if reader-friendly formatting should be used | `False` | | KHOROS_LIQL_TRACK_LSI | Boolean string indicating if queries should be captured in Community Analytics search reports | `False` | | KHOROS_LIQL_ALWAYS_OK | Boolean string indicating if all responses should return a `200 OK` status code | `False` | | KHOROS_TRANSLATE_ERRORS | Boolean string indicating if errors in API responses should be made more relevant where possible | `True` | If you are leveraging this library on a macOS or Linux operating system (e.g. Ubuntu Server) then you can simply add the environment variables you wish to define to either the `/etc/environment` file if you wish to apply them to all users, or to your user's `~/.bashrc` file for them to only apply to your user. ```shell script # Define environment variables for Khoros KHOROS_URL='https://community.example.com' ``` >**Note:** >You will generally need to log out and log back in for the changes to take effect. If you are leveraging this library on a Windows operating system (e.g. Windows 10) then you can add environment variables for your user via the Command Prompt (i.e. `cmd.exe`) or PowerShell. >**Note:** >Using either of these two methods, you can add the environment variables using an interactive terminal >window or using a batch/script file. (Files should use the `.bat` or `.cmd` extension for the >Command Prompt and `.ps1` for PowerShell.) **Command Prompt** ```batch @echo off echo Defining the KHOROS_URL environment variable... setx KHOROS_URL https://community.example.com echo. ``` **PowerShell** ```powershell "Defining the KHOROS_URL environment variable..." [Environment]::SetEnvironmentVariable("KHOROS_URL", "https://community.example.com/", "User") ``` ### Interacting with the Community APIs Once the `Khoros` object instance has been initialized, it can be leveraged to interact with a Khoros Community environment in many ways, which is fully documented in the official [documentation](https://khoros.readthedocs.io/en/latest/). The example below demonstrates how a search can be performed using LiQL to return information from the environment in JSON format. ```python response_json = khoros.search( select_fields=('id', 'view_href'), from_source='messages', where_filter=('style', 'tkb'), order_by='last_post_time', limit=5 ) ``` ## Documentation The documentation is located here: [https://khoros.readthedocs.io/en/latest/](https://khoros.readthedocs.io/en/latest/) ## License [MIT License](https://github.com/jeffshurtliff/khoros/blob/master/LICENSE) ## Reporting Issues Issues can be reported within the [GitHub repository](https://github.com/jeffshurtliff/khoros/issues). ## Roadmap Upcoming improvements to the library can be found in the following locations: - [2020 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/1) - [2021 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/2) - [2022 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/3) ## Additional Resources Additional resources for leveraging the Community APIs can be found in the official [Khoros Developer Documentation](https://developer.khoros.com/khoroscommunitydevdocs). ## Donations If you would like to donate to this project then you can do so using [this PayPal link](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=XDZ8M6UV6EFK6&item_name=Khoros+Python+API¤cy_code=USD). ## Disclaimer This package is considered unofficial and is in no way endorsed or supported by [Khoros, LLC](https://www.khoros.com). %package help Summary: Development documents and examples for khoros Provides: python3-khoros-doc %description help # Python SDK for Khoros Communities The **khoros** library acts as a Python software development kit (SDK) to administer and manage [Khoros Communities](https://khoros.com/platform/communities) (formerly Lithium) online community platforms.
Latest Stable Release PyPI
Latest Beta/RC Release PyPI
Build Status GitHub Workflow Status
Supported Versions PyPI - Python Version
Code Coverage
CodeFactor Grade CodeFactor Grade
Documentation Documentation Status
Security Audits Bandit
PyCharm Security Scanner
License License (GitHub)
Issues GitHub open issues
GitHub closed issues
Pull Requests GitHub pull open requests
GitHub closed pull requests
## Installation The package can be installed via pip using the syntax below. ```sh pip install khoros --upgrade ``` You may also clone the repository and install from source using below. ```sh git clone git://github.com/jeffshurtliff/khoros.git cd khoros/ python setup.py install ``` ## Change Log The change log can be found in the [documentation](https://khoros.readthedocs.io/en/latest/changelog.html). ## Usage This section provides basic usage instructions for the package. ### Importing the package Rather than importing the base package, it is recommended that you import the primary `Khoros` class using the syntax below. ```python from khoros import Khoros ``` This recommendation is because the best practice is to use the name `khoros` when naming your object instance. ### Initializing a Khoros object instance The primary `Khoros` object serves many purposes, the most important being to establish a connection to the Khoros Community environment with which you intend to interact. As such, when initializing an instance of the `Khoros` object, you will need to pass it the community URL, the credentials it will use and related information so that the connection can be established. The `Khoros` object can be initiated in two different ways: * Passing the information directly into the object * Leveraging a "helper" configuration file #### Passing the information directly into the object The community and connection information can be passed directly into the `Khoros` object when initializing it, as demonstrated in the example below. ```python # Using Session Key authentication khoros = Khoros( community_url='https://community.example.com', session_auth={'username': USERNAME, 'password': PASSWD} ) # Using LithiumSSO Token authentication khoros = Khoros( community_url='https://community.example.com', sso={'sso.authentication_token': LITHIUM_SSO_TOKEN} ) ``` Alternatively, configuration settings can be passed at once using the `options` argument in the `Khoros` class, as shown below. ```python my_settings = { 'community_url': 'https://community.example.com', 'community_name': 'mycommunity', 'auth_type': 'session_auth', 'session_auth': { 'username': USERNAME, 'password': PASSWD } } ``` #### Leveraging a "helper" configuration file As an alternative to passing the connection information to the `Khoros` class in the ways demonstrated above, a "helper" configuration file in `yaml` or `json` format can be leveraged instead and passed to the `Khoros` class when initializing the object. This is an example of how the configuration file would be written: ```yaml # Helper configuration file for the khoros package # Define how to obtain the connection information connection: community_url: https://community.example.com/ tenant_id: example12345 # Define the default authentication type to use default_auth_type: session_auth # Define the OAuth 2.0 credentials oauth2: client_id: FLFeNYob7XXXXXXXXXXXXXXXXXXXXZcWQEQHR5T6bo= client_secret: 1n0AIXXXXXXXXXXXXXXXXXXXX1udOtNaYnfJCeOszYw= redirect_url: http://redirect.community.example.com/getAccessToken # Define the session key authorization information session_auth: username: serviceaccount password: Ch@ng3ME! # Bulk Data API connection information bulk_data: community_id: example.prod client_id: ay0CXXXXXXXXXX/XXXX+XXXXXXXXXXXXX/XXXXX4KhQ= token: 2f25XXXXXXXXXXXXXXXXXXXXXXXXXa10dec04068 europe: no # Define the preferred format for API responses prefer_json: yes ``` The file can then be referenced using the `helper` argument when initializing the object instance, as shown below. ```python HELPER_FILE = "/path/to/helper.yml" khoros = Khoros(helper=HELPER_FILE) ``` #### Utilizing environment variables This third method of initializing a Khoros object instance is definitely the easiest, as it allows you to call upon the `Khoros` class without passing any arguments, as shown below. ```python from khoros import Khoros khoros = Khoros() ``` This is accomplished by defining environment variables within your Operating System, either through the [graphical UI](https://www.techjunkie.com/environment-variables-windows-10/), the command-line or within the Python IDE using the `os` module and [adding entries](https://able.bio/rhett/how-to-set-and-get-environment-variables-in-python--274rgt5) to the `os.environ` dictionary, as shown below. ```python import os os.environ['KHOROS_URL'] = 'https://community.example.com' ``` | Environment Variable | Description | Example | |---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------| | KHOROS_URL | The base URL of the environment | `https://community.example.com` | | KHOROS_TENANT_ID | The [Tenant ID](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) associated with your environment | `abcde12345` | | KHOROS_DEFAULT_AUTH | The default authentication method you wish to use | `session_auth` | | KHOROS_OAUTH_ID | The Client ID utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `FXXXXXXb7owXXXXXXo+jFlPXXXXXXjZcWQXXXXXX6bo=` | | KHOROS_OAUTH_SECRET | The Client Secret utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `1XXXXXX+/kZXXXXXXZZ9u1B5+1uXXXXXXfJCeOszYw=` | | KHOROS_OAUTH_REDIRECT_URL | The Redirect URL utilized by the [OAuth 2.0](https://developer.khoros.com/khoroscommunitydevdocs/docs/oauth-authorization-grant) authorization grant flow | `http://redirect.community.example.com/getAccessToken` | | KHOROS_SESSION_USER | The username to use with [Session Key](https://developer.khoros.com/khoroscommunitydevdocs/docs/session-key) authentication | `apiuser` | | KHOROS_SESSION_PW | The password to use with [Session Key](https://developer.khoros.com/khoroscommunitydevdocs/docs/session-key) authentication | `Ch@ng3M3!` | | KHOROS_PREFER_JSON | Boolean string indicating if JSON responses are preferred | `True` | | KHOROS_LIQL_PRETTY | Boolean string indicating if reader-friendly formatting should be used | `False` | | KHOROS_LIQL_TRACK_LSI | Boolean string indicating if queries should be captured in Community Analytics search reports | `False` | | KHOROS_LIQL_ALWAYS_OK | Boolean string indicating if all responses should return a `200 OK` status code | `False` | | KHOROS_TRANSLATE_ERRORS | Boolean string indicating if errors in API responses should be made more relevant where possible | `True` | If you are leveraging this library on a macOS or Linux operating system (e.g. Ubuntu Server) then you can simply add the environment variables you wish to define to either the `/etc/environment` file if you wish to apply them to all users, or to your user's `~/.bashrc` file for them to only apply to your user. ```shell script # Define environment variables for Khoros KHOROS_URL='https://community.example.com' ``` >**Note:** >You will generally need to log out and log back in for the changes to take effect. If you are leveraging this library on a Windows operating system (e.g. Windows 10) then you can add environment variables for your user via the Command Prompt (i.e. `cmd.exe`) or PowerShell. >**Note:** >Using either of these two methods, you can add the environment variables using an interactive terminal >window or using a batch/script file. (Files should use the `.bat` or `.cmd` extension for the >Command Prompt and `.ps1` for PowerShell.) **Command Prompt** ```batch @echo off echo Defining the KHOROS_URL environment variable... setx KHOROS_URL https://community.example.com echo. ``` **PowerShell** ```powershell "Defining the KHOROS_URL environment variable..." [Environment]::SetEnvironmentVariable("KHOROS_URL", "https://community.example.com/", "User") ``` ### Interacting with the Community APIs Once the `Khoros` object instance has been initialized, it can be leveraged to interact with a Khoros Community environment in many ways, which is fully documented in the official [documentation](https://khoros.readthedocs.io/en/latest/). The example below demonstrates how a search can be performed using LiQL to return information from the environment in JSON format. ```python response_json = khoros.search( select_fields=('id', 'view_href'), from_source='messages', where_filter=('style', 'tkb'), order_by='last_post_time', limit=5 ) ``` ## Documentation The documentation is located here: [https://khoros.readthedocs.io/en/latest/](https://khoros.readthedocs.io/en/latest/) ## License [MIT License](https://github.com/jeffshurtliff/khoros/blob/master/LICENSE) ## Reporting Issues Issues can be reported within the [GitHub repository](https://github.com/jeffshurtliff/khoros/issues). ## Roadmap Upcoming improvements to the library can be found in the following locations: - [2020 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/1) - [2021 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/2) - [2022 Roadmap on GitHub](https://github.com/jeffshurtliff/khoros/projects/3) ## Additional Resources Additional resources for leveraging the Community APIs can be found in the official [Khoros Developer Documentation](https://developer.khoros.com/khoroscommunitydevdocs). ## Donations If you would like to donate to this project then you can do so using [this PayPal link](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=XDZ8M6UV6EFK6&item_name=Khoros+Python+API¤cy_code=USD). ## Disclaimer This package is considered unofficial and is in no way endorsed or supported by [Khoros, LLC](https://www.khoros.com). %prep %autosetup -n khoros-5.2.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-khoros -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri Jun 09 2023 Python_Bot - 5.2.2-1 - Package Spec generated