Skip to content

finos/symphony-bdk-python

Repository files navigation

FINOS - Incubating 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 pylint scan locally: poetry run pylint <module_name>
  • Generate documentation locally: cd docsrc && make html

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 [email protected].

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.