Skip to content
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

Release V0.12.0 #149

Merged
merged 24 commits into from
Mar 27, 2025
Merged

Release V0.12.0 #149

merged 24 commits into from
Mar 27, 2025

Conversation

khoroshevskyi
Copy link
Member

@khoroshevskyi khoroshevskyi commented Mar 26, 2025

Changes:

  • Rebuilt Schemas in API and database:
    • Each schema are divided now into schema record and schema versions.
    • Each schema version has tags.
  • Updated /namespaces - endpoint

@khoroshevskyi khoroshevskyi requested a review from Copilot March 26, 2025 20:13
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the database schema and associated models to support versioning for schemas, along with adjustments in tests and workflows for the new versioning format. Key changes include:

  • Updating the schema path conversion and related model relationships to include a version component.
  • Refactoring exception naming and error messages to align with the new versioning approach.
  • Adjusting test assertions, pagination, and workflow configurations for consistency with versioned schemas.

Reviewed Changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/utils.py Added a del method for schema deletion in tests, which may duplicate cleanup.
tests/test_updates.py Updated test assertions to expect versioned pep_schema strings.
tests/test_schema.py Modified tests to retrieve and update schema versions.
pepdbagent/utils.py Updated schema_path_converter to return a version as part of the tuple.
pepdbagent/modules/* Updated schema handling in user, project, namespace, and annotation modules to use versioned schemas.
pepdbagent/models.py Renamed models and updated fields to support schema versioning.
pepdbagent/exceptions.py Renamed exception classes to reflect schema version terminology.
pepdbagent/db_utils.py Updated foreign key relationships and models to reference schema versions.
.github/workflows/black.yml Upgraded action versions for checkout and Python setup.
pepdbagent/const.py & pepdbagent/_version.py Adjusted constants and bumped version to V0.12.0_dev1.
Comments suppressed due to low confidence (1)

pepdbagent/exceptions.py:132

  • The renaming of exceptions from SchemaGroup to SchemaVersion introduces a change in terminology that may cause confusion if not consistently updated across the codebase. Verify that all exception handling logic and documentation reference the new names.
class SchemaVersionDoesNotExistError(PEPDatabaseAgentError):

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR bumps the version to 0.12.0_dev1 and refactors the schema handling across the API, database, and models. Key changes include splitting schemas into SchemaRecords and SchemaVersions (with tags), updating the pep_schema representation to include a version suffix, and modifying query and update operations to accommodate the new schema structure.

Reviewed Changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pepdbagent/modules/annotation.py Updated pep_schema formatting and applied .unique() on query results
pepdbagent/db_utils.py Changed foreign key and relationship references from Schemas to SchemaRecords/SchemaVersions
tests/utils.py Modified test data and added del for schema deletion
pepdbagent/_version.py Updated version from 0.11.1 to 0.12.0_dev1
pepdbagent/utils.py Adjusted schema_path_converter to parse version from the schema path
pepdbagent/models.py Updated model field names and added new pagination and schema annotation models
tests/test_schema.py Added tests for new schema versioning and tagging functionality
pepdbagent/exceptions.py Renamed exception classes to reflect schema version/tag concepts
pepdbagent/modules/project.py Updated schema lookup conversion and fork operations
tests/test_updates.py Modified update tests to expect pep_schema with version suffix
pepdbagent/modules/user.py Adjusted favorites formatting for pep_schema
pepdbagent/modules/namespace.py Revised namespace info response with pagination and updated field names
.github/workflows/black.yml Updated GitHub action versions for checkout and Python setup
pepdbagent/const.py Introduced DEFAULT_TAG_VERSION and LATEST_SCHEMA_VERSION constants
Comments suppressed due to low confidence (2)

pepdbagent/modules/annotation.py:215

  • [nitpick] The nested attribute naming 'schema_mapping.schema_mapping' is confusing. Consider renaming the related relationship attribute(s) in order to improve clarity and reduce potential for mistakes.
f"{query_result.schema_mapping.schema_mapping.namespace}/{query_result.schema_mapping.schema_mapping.name}:{query_result.schema_mapping.version}"

pepdbagent/modules/project.py:716

  • [nitpick] After converting and setting the schema_id from 'pep_schema', the original 'pep_schema' key is removed. Consider documenting this behavior or renaming the conversion function to clarify the transformation for future maintainers.
del update_values["pep_schema"]

@khoroshevskyi khoroshevskyi mentioned this pull request Mar 26, 2025
3 tasks
Copy link
Contributor

@donaldcampbelljr donaldcampbelljr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@@ -1 +1 @@
__version__ = "0.11.1"
__version__ = "0.12.0_dev1"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
__version__ = "0.12.0_dev1"
__version__ = "0.12.0"

nleroy917
nleroy917 previously approved these changes Mar 27, 2025
@khoroshevskyi khoroshevskyi merged commit dae71fb into master Mar 27, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants