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.1.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.1-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: symphony_bdk_python-2.11.1.tar.gz
  • Upload date:
  • Size: 326.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for symphony_bdk_python-2.11.1.tar.gz
Algorithm Hash digest
SHA256 562ef36b690e2aced9c0f0c23ae003683808b6633c4e1c10a54570d58d17d0e4
MD5 1d3a0d0ce125b467d56ef451a4d857d4
BLAKE2b-256 776176d66a5f5bd22e53d20de7c887cee7c14664b3f301e53309e9db53a4e44f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: symphony_bdk_python-2.11.1-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for symphony_bdk_python-2.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e5dca10a9281fbb6b6fccf79a2c7c4df98b00f767d2d674f654a7aa569d6355c
MD5 49a78cf55250d9ddf8603e02fd4c3eea
BLAKE2b-256 8a01dfded29f9ae2ec26fff643d1e55c6b2ccadbf6f59d799319c713dc3293e2

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