Prerequisites
These are recommended tools when working with GAIA API, they are not required, but we have seen they are the ones that make the work the easiest
- PyCharm (Community Version): Pycharm is a powerful Python integrated development environment (IDE) that offers comprehensive features and tools to facilitate efficient and productive Python development.
- We prefer PyCharm for the:
- Intelligent Code Editor: PyCharm offers syntax highlighting, code completion, and analysis for error-free coding.
- Debugging and Testing: Powerful debugger and support for unit testing frameworks.
- Code Refactoring: Tools for improving code structure and efficiency.
- Intelligent Assistance: Code templates, quick fixes, and suggestions for more efficient coding.
- It also provides a comprehensive Git support, which facilitates comparing and merging code from other projects
- Additionally PyCharm has a plugin for Pydantic which makes working with Pydantic models easier
- GitKraken (Paid): GitKraken is a powerful Git client with a visually appealing interface that simplifies and enhances the Git version control workflow.
- We prefer GitKraken for the:
Visual Commit History: GitKraken provides an intuitive visual representation of commit history, making it easy to navigate and understand project changes.
Git Graphs and Branching: GitKraken's interactive graphs provide a clear view of branches and their relationships, simplifying branch management and enabling efficient collaboration.
- But we only recommend this one if you are working in multiple projects, otherwise is not necessary
Hardware Requirements
Hardware requirements are tricky to establish because GAIA API is meant to be customized. It will be used for different purposes and using different components on every project it is implemented.
Please note numbers specified here are just an initial recommendation we calculated based on the vanilla configuration of the GAIA API which is a search application for the movies index. There is no AI models loaded or vector calculation, just plain search queries to the search engine.
Assuming you configured GAIA API to work with 16 workers:
CPU: 4 cores
RAM: 16 Gb
Note |
---|
GAIA API comes configured by default with 1 worker. |
Ask For Access And Branch Folder
Warning |
---|
title | Contact Global Support for this!! |
---|
|
Make your request for the permissions group and project folder request with the CAGGlobalSupport Team or create a ticket here Create Issue - Jira (accenture.com) (Keep in mind you need access to the IIS project in order to create the ticket) |
Before start working, ask permission to access and clone the project GAIA API
https://source.digital.accenture.com/projects/ST/repos/gaia-api/browse
And the creation of a permissions group in active directory with the format as required,
Code Block |
---|
digital.source.st.your-project.admins
digital.source.st.your-project.creators
digital.source.st.your-project.users |
along with branch folder specific for your project, where you and your team will have complete freedom to create more branches, add, update and delete code.
Code Block |
---|
your-project/develop
your-project/main
your-project/features
your-project/release |
Here's an example or the ticket for the Support Team:
Info |
---|
|
For the following branch in bitbucket: <branch name> in the repository: <repository name> please provide the permission groups and include the following users in that group: - <user identifier 1>
- <user identifier 2>
- ...
|
Info |
---|
title | Why have a branch folder, in the same repository and not have my own repository? |
---|
|
The branch folder is recommended to make synergy between the different project under development at the same time, features created on a project, may as well be used in another, all generic features are merge into the root develop branch, and from there can be distributed to other projects and user in future projects.
You still can have the code in another repository, but in that case we still recommend have the branch folder and synchronize changes, making the support of the project less invasive and the upgrade of the code, more fluid |
Warning |
---|
title | DO NOT CLONE FROM ANOTHER PROJECT!!! |
---|
|
If you are going to generate your branches on your own, DO NOT CLONE FROM ANOTHER PROJECT!!!, always clone from the develop branch, develop branch is the one supported by the development team. If you clone from another project:
- You increase the risk of bugs, which the develop team has no idea
- You may fetch extra code you don't require for your project
- The development team doesn't know the code implemented in each project, so the help given on custom code can be minimum
- The other project may not be update with the latest base version, which means you may have bugs already fixed in the develop branch
|
Tip |
---|
title | Compare & Fetch from other project |
---|
|
If you need code implemented in other project, use your preferable tool for managing git, and do a Compare with Branch, this way you can fetch the code you need to the latest code in your project.
IF YOU DON'T KNOW HOW TO DO THIS, you can read this article How to Move Changes Between Branches |