|
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