|
8 | 8 |
|
9 | 9 | This is the Symphony BDK for Python to help develop bots and interact with the [Symphony REST APIs](https://developers.symphony.com/restapi/reference). |
10 | 10 |
|
11 | | -## Installation and getting started |
12 | | -The [reference documentation](https://symphony-bdk-python.finos.org/) includes detailed |
13 | | -installation instructions as well as a comprehensive |
14 | | -[getting started](https://symphony-bdk-python.finos.org/markdown/getting_started.html) |
15 | | -guide. |
| 11 | +## Project Overview |
16 | 12 |
|
17 | | -## Build from source |
| 13 | +Symphony BDK for Python provides tools for building bots and integrating with Symphony APIs. This document outlines its usage, installation, and contribution guidelines. |
18 | 14 |
|
19 | | -The Symphony BDK uses and requires Python 3.8 or higher. Be sure you have it installed before going further. |
| 15 | +## Prerequisites |
20 | 16 |
|
21 | | -We use [poetry](https://python-poetry.org/) in order to manage dependencies, build, run tests and publish. |
22 | | -To install poetry, follow instructions [here](https://python-poetry.org/docs/#installation). |
| 17 | +- Python 3.8 or higher |
| 18 | +- [Poetry](https://python-poetry.org/docs/#installation) |
23 | 19 |
|
24 | | -On the first time, run `poetry install`. Then run `poetry build` to build the sdist and wheel packages. |
25 | | -To run the tests, use `poetry run pytest`. |
| 20 | +## Installation Steps |
26 | 21 |
|
27 | | -It is possible to run pylint scan locally (on a specific file or package) executing the following command: |
28 | | -`poetry run pylint <module_name>`. |
| 22 | +### Option 1: Build from Source |
| 23 | +- Install dependencies: `poetry install` |
| 24 | +- Build the package: `poetry build` |
| 25 | +- Run tests: `poetry run pytest` |
| 26 | +- Perform a pylint scan locally: `poetry run pylint <module_name>` |
| 27 | +- Generate documentation locally: `cd docsrc && make html` |
29 | 28 |
|
30 | | -To generate locally the Sphinx documentation, run: `cd docsrc && make html`. |
| 29 | +### Verification |
| 30 | +Verify the successful installation by running any of the following commands: |
| 31 | +``` |
| 32 | +poetry --version |
| 33 | +``` |
31 | 34 |
|
32 | | -## Roadmap |
| 35 | +## External Documents |
| 36 | + |
| 37 | +Refer to the following for additional guidance: |
| 38 | +- [Reference Documentation](https://symphony-bdk-python.finos.org/) |
| 39 | +- [Getting Started Guide](https://symphony-bdk-python.finos.org/markdown/getting_started.html) |
33 | 40 |
|
34 | | -Our next milestone is the [2.5.x](https://github.com/finos/symphony-bdk-python/milestone/6) one. |
35 | | -It will only consist in delivering the next improvements and bug fixes of the BDK. |
| 41 | +## Roadmap |
36 | 42 |
|
| 43 | +The next milestone is the [2.5.x](https://github.com/finos/symphony-bdk-python/milestone/6), focused on delivering improvements and bug fixes. |
37 | 44 |
|
38 | 45 | ## Contributing |
39 | | -In order to get in touch with the project team, please open a [GitHub Issue](https://github.com/finos/symphony-bdk-python/issues). |
40 | | -Alternatively, you can email/subscribe to [symphony@finos.org](https://groups.google.com/a/finos.org/g/symphony). |
41 | | - |
42 | | -1. Fork it |
43 | | -2. Create your feature branch (`git checkout -b feature/fooBar`) |
44 | | -3. Read our [contribution guidelines](CONTRIBUTING.md) and [Community Code of Conduct](https://www.finos.org/code-of-conduct) |
45 | | -4. Commit your changes (`git commit -am 'Add some fooBar'`) |
46 | | -5. Push to the branch (`git push origin feature/fooBar`) |
47 | | -6. Create a new Pull Request |
48 | | - |
49 | | -_NOTE:_ Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, |
50 | | -executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active |
51 | | -Corporate Contribution License Agreement (CCLA) executed with FINOS. |
52 | | -Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. |
53 | | -Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA. |
54 | | - |
55 | | -*Need an ICLA? Unsure if you are covered under an existing CCLA? Email [help@finos.org](mailto:help@finos.org)* |
56 | | - |
57 | | -### Update generated code |
58 | | -While contributing to the project, you might need to update the generated code. |
59 | | -Python BDK uses [OpenAPITools/openapi-generator](https://github.com/OpenAPITools/openapi-generator/) to generate code. In order to customise the templates, a fork has been created in [https://github.com/SymphonyPlatformSolutions/openapi-generator/tree/sym-python-5.5.0](https://github.com/SymphonyPlatformSolutions/openapi-generator/tree/sym-python-5.5.0). |
60 | | -Here are the steps to follow: |
61 | | -- Checkout the latest branch of the fork (currently [sym-python-5.5.0](https://github.com/SymphonyPlatformSolutions/openapi-generator/tree/sym-python-5.5.0)) |
62 | | -- Update the fork source code, review and merge it |
63 | | -- Generate a jar file in `openapi-generatormodules/openapi-generator-cli/target/openapi-generator-cli.jar`: |
64 | | - - Using maven: `mvn clean install -Dmaven.test.skip=true && mvn clean package -Dmaven.test.skip=true`. _You can also use IntelliJ's build button to build the project and generate the jar_ |
65 | | -- Copy the jar in Python BDK repository `symphony-api-client-python/api_client_generation/openapi-generator-cli.jar` |
66 | | -- Execute the generation script `./generate.sh` and commit and push you new code along with the new jar file. |
| 46 | + |
| 47 | +To contribute: |
| 48 | +1. Fork the repository. |
| 49 | +2. Create a feature branch: `git checkout -b feature/fooBar` |
| 50 | +3. Read the [Contribution Guidelines](CONTRIBUTING.md) and [Community Code of Conduct](https://www.finos.org/code-of-conduct) |
| 51 | +4. Commit changes: `git commit -am 'Add some fooBar'` |
| 52 | +5. Push changes: `git push origin feature/fooBar` |
| 53 | +6. Open a Pull Request. |
| 54 | + |
| 55 | +_NOTE:_ Ensure you have an active Individual Contributor License Agreement (ICLA) or Corporate Contribution License Agreement (CCLA) with FINOS. |
| 56 | + |
| 57 | +For further inquiries, email [help@finos.org](mailto:help@finos.org). |
| 58 | + |
| 59 | + |
| 60 | +### Updating Generated Code |
| 61 | + |
| 62 | +Python BDK uses [OpenAPITools/openapi-generator](https://github.com/OpenAPITools/openapi-generator/) to generate code. |
| 63 | +To update the generated code, follow these steps: |
| 64 | + |
| 65 | +1. Checkout the latest branch of the fork (e.g., [sym-python-5.5.0](https://github.com/SymphonyPlatformSolutions/openapi-generator/tree/sym-python-5.5.0)). |
| 66 | +2. Update the fork source code, review, and merge it. |
| 67 | +3. Generate the JAR file in `openapi-generatormodules/openapi-generator-cli/target/openapi-generator-cli.jar`: |
| 68 | + - Use Maven: |
| 69 | + ```bash |
| 70 | + mvn clean install -Dmaven.test.skip=true && mvn clean package -Dmaven.test.skip=true |
| 71 | + ``` |
| 72 | + - Alternatively, use IntelliJ's build button to build the project and generate the JAR file. |
| 73 | +4. Copy the JAR file to the Python BDK repository: `symphony-api-client-python/api_client_generation/openapi-generator-cli.jar`. |
| 74 | +5. Execute the generation script: |
| 75 | + ```bash |
| 76 | + ./generate.sh |
| 77 | + ``` |
| 78 | +6. Commit and push the newly generated code along with the updated JAR file. |
| 79 | +
|
| 80 | +
|
67 | 81 | ## License |
| 82 | +
|
68 | 83 | Copyright 2021 Symphony LLC |
69 | 84 |
|
70 | 85 | Distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). |
71 | 86 |
|
72 | | -SPDX-License-Identifier: [Apache-2.0](https://spdx.org/licenses/Apache-2.0) |
| 87 | +SPDX-License-Identifier: [Apache-2.0](https://spdx.org/licenses/Apache-2.0). |
0 commit comments