Skip to main content

Symphony Bot Development Kit for Python

Project description

FINOS - Active License Python Pypi GitHub Workflow Status (branch)

Symphony BDK for Python

This is the Symphony BDK for Python to help develop bots and interact with the Symphony REST APIs.

Project Overview

Symphony BDK for Python provides tools for building bots and integrating with Symphony APIs. This document outlines its usage, installation, and contribution guidelines.

Prerequisites

Installation Steps

Option 1: Build from Source

  • Install dependencies: poetry install
  • Build the package: poetry build
  • Run tests: poetry run pytest
  • Perform a lint scan locally: poetry run ruff check .
  • Format code locally: poetry run ruff format .
  • Generate documentation locally: cd docsrc && make html

Setting Up Git Hooks

This project uses pre-commit with ruff to automatically format and lint code. This is the recommended setup for contributors to ensure code style consistency.

  1. Install development dependencies (this will also install pre--commit and ruff):
    poetry install
    
  2. Install the git hooks:
    poetry run pre-commit install
    

Now, ruff will automatically run on every commit, formatting your code and checking for linting errors.

Verification

Verify the successful installation by running any of the following commands:

poetry --version

External Documents

Refer to the following for additional guidance:

Roadmap

The next milestone is the 2.5.x, focused on delivering improvements and bug fixes.

Contributing

To contribute:

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/fooBar
  3. Read the Contribution Guidelines and Community Code of Conduct
  4. Commit changes: git commit -am 'Add some fooBar'
  5. Push changes: git push origin feature/fooBar
  6. Open a Pull Request.

NOTE: Ensure you have an active Individual Contributor License Agreement (ICLA) or Corporate Contribution License Agreement (CCLA) with FINOS.

For further inquiries, email help@finos.org.

Updating Generated Code

Python BDK uses OpenAPITools/openapi-generator to generate code. To update the generated code, follow these steps:

  1. Checkout the latest branch of the fork (e.g., sym-python-5.5.0).
  2. Update the fork source code, review, and merge it.
  3. Generate the JAR file in openapi-generatormodules/openapi-generator-cli/target/openapi-generator-cli.jar:
    • Use Maven:
      mvn clean install -Dmaven.test.skip=true && mvn clean package -Dmaven.test.skip=true
      
    • Alternatively, use IntelliJ's build button to build the project and generate the JAR file.
  4. Copy the JAR file to the Python BDK repository: symphony-api-client-python/api_client_generation/openapi-generator-cli.jar.
  5. Execute the generation script:
    ./generate.sh
    
  6. Commit and push the newly generated code along with the updated JAR file.

License

Copyright 2021 Symphony LLC

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0.

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

symphony_bdk_python-2.11.2.tar.gz (326.4 kB view details)

Uploaded Source

Built Distribution

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

symphony_bdk_python-2.11.2-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file symphony_bdk_python-2.11.2.tar.gz.

File metadata

  • Download URL: symphony_bdk_python-2.11.2.tar.gz
  • Upload date:
  • Size: 326.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.9.25 Linux/6.14.0-1017-azure

File hashes

Hashes for symphony_bdk_python-2.11.2.tar.gz
Algorithm Hash digest
SHA256 667d6635432a6990a419ea24579a50e30069565e5534dc8c79cd7edc19306c52
MD5 44bd24c60ab63faea651eaef166ccb27
BLAKE2b-256 d5727ead0b321bc310b5e61b1c993bfce8c963714beb1fabfdaa898e8633b93a

See more details on using hashes here.

File details

Details for the file symphony_bdk_python-2.11.2-py3-none-any.whl.

File metadata

  • Download URL: symphony_bdk_python-2.11.2-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.9.25 Linux/6.14.0-1017-azure

File hashes

Hashes for symphony_bdk_python-2.11.2-py3-none-any.whl
Algorithm Hash digest
SHA256 29b366c7d7f7b547fc8d2289c3f7ba0075518e046ea6728161eb1f7ad37b72e9
MD5 fae0084de82357db6ce04ea38856389f
BLAKE2b-256 13ac9aad0ef229d069c49ab1a164bb947a0f716d414228c534d3417ac67bad6d

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