-
Notifications
You must be signed in to change notification settings - Fork 180
Feat/api runs user #1403
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat/api runs user #1403
Conversation
- add api in core_python to get all exps in a project - add new type and class to parse exps
- get full single exp info through filter func # Conflicts: # swanlab/core_python/api/experiment.py
- add example codes
- get metric data in batch - recover old OpenApi version for smooth transition - create & delete api_key through Api.user
Summary of ChangesHello @Bainianzzz, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly refines the SwanLab API client by introducing a modern Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a significant refactoring of the SwanLab OpenAPI, deprecating the old OpenApi class and introducing a new, more modular Api class. The new Api class provides enhanced functionalities for managing projects, experiments (runs), and user API keys, including methods to list projects, retrieve individual experiments, and fetch detailed experiment history with concurrent metric data fetching. The changes involve creating new ApiUser, Experiment, and Experiments classes, along with utility functions for data processing and concurrent requests. Review comments highlighted several areas for improvement: the generate_api_key method in ApiUser needed a null check to prevent TypeError if API key creation failed; the delete_api_key method required ensuring the API keys list was always up-to-date to function correctly; the run method's logic for fetching single experiments was identified as inefficient and prone to IndexError if no data was returned, suggesting a check for empty data; and the history method's column renaming logic was deemed overly complex and had a bug when x_axis was None, with a suggestion to simplify it and prevent duplicate keys when x_axis is specified.
- get latest api_keys when user delete api_key
- add return type for the backend interfaces - simplified get_experiment_metrics() and handle the csv inside HistoryPool
- refactor the models in OpenApi
Moved the Api class implementation from swanlab/api/api.py to swanlab/api/__init__.py and deleted the redundant api.py file. Updated imports and references accordingly. Minor docstring and comment improvements, and fixed a message in thread.py to reference 'Api' instead of 'OpenApi'.
Combined the import of OpenApi and Api from .api to prevent circular import issues and simplify the export process.
Description
获取实验数据和用户管理功能
获取实验数据:
用户管理:
其他: