Skip to content

Changelog

This project adheres to Semantic Versioning and Keep a Changelog format.

  • Migrated from peppy to peprs across all modules (project, sample, view, models, utils)
  • Updated subsample key constant: SUBSAMPLE_RAW_LIST_KEY → SUBSAMPLE_RAW_DICT_KEY
  • Added alembic database migration support; run_migrations parameter added to PEPDatabaseAgent and BaseEngine
  • Fixed nullable fields in schema models (SchemaVersionAnnotation, SchemaRecordAnnotation, UpdateSchemaRecordFields, UpdateSchemaVersionFields)
  • Added support for "latest" schema version resolution when uploading/updating projects
  • Moved SAMPLE_NAME_ATTR and SAMPLE_TABLE_INDEX_KEY constants into pepdbagent/const.py
  • Performed code cleanup and refactoring across modules, including modernization of the codestyle, installation and dependencies.
  • ❗get_raw method (returning raw project) now returns keys: {config, samples, subsamples} instead of {config, sample_list, subsample_list}
  • Added project search by tag in annotation module
  • Updated github actions workflows
  • Fixed models for schema records and versions
  • Fixed links between schema and project
  • Added alembic to the project
  • Fixed errors in methods getting user stars
  • New database model for schemas
  • Added schema version and schema record
  • Added tags to schemas
  • Added archive table of namespaces
  • Added sort by stars
  • Added validation schemas
  • Added user delete method
  • Added project history and restoring projects
  • Introduced new sample ordering with linked list #133
  • Efficiency improvements of project update function
  • Test restructuring
  • Fixed forking schema
  • Improved forking efficiency #129
  • Added uploading project from dict
  • Added get_config, get_samples, get_subsamples methods to project module #128
  • Fixed error handling in views API #130
  • Added no_fail to views API
  • Fixed POP update
  • Improved error handling in views API
  • Added stats method to Namespace module
  • Updated docs
  • Added coverage
  • Fixed Unique Constraint in the Views
  • Fixed update project pop method
  • Fixed bug in duplicating samples
  • Fixed bug in Stars annotation
  • SQL efficiency improvements
  • Added sort by date in stared projects
  • Added pop to project table and annotation model #107
  • Added forked_from feature #73
  • Switched to pydantic2 #105
  • Updated requirements (psycopg2 -> psycopg3) #102
  • Added sample module that contains functionality for updating, adding, and deleting samples in the project separately #111
  • Added user and favorite tables with functionality #104
  • Updated the sample update method when updating the whole project. Following this change, samples are updated without changing the ID in the database
  • Added date filter to project annotation
  • Updated requirements
  • Added namespaces info method that returns list of namespaces with
  • Fixed bugs in updating dates and descriptions
  • Fixed error in updating date in overwriting function
  • Fixed errors in updating projects, that caused Unique Constraint violation error
  • Introduced a new database schema (3 tables: projects, samples, subsamples)
  • Added new tests
  • Fixed the issue of sqlalchemy session already being closed
  • Changed the orientation of the raw project dictionary to "records" and updated peppy version to 0.35.6.
  • Added description column
  • Added sql description search
  • Deleted unused files
  • Added validation of question mark in name and tag
  • Fixed description and name in config file
  • Fixed preserving order of columns in database
  • Fixed project.update function
  • Transitioned to SQLAlchemy ORM.
  • Added a pep_schema column to the database.
  • Implemented a new testing approach.
  • Integrated sorting functionality into the annotations module.
  • Temporarily disabled description-based searches to mitigate long processing times and reduce database load.
  • Included timezone support in the database.
  • Standardized namespace and names to lowercase for case-insensitivity.
  • Streamlined the database schema creation process, with tables now created dynamically as needed.
  • Fixed bug with peppy const dependencies
  • Restructured pepdbagent:
    • Renamed Agent class to PEPDatabaseAgent
    • created subclasses (project, annotation, namespace).
    • Merged methods that have similar use case.
    • Removed unused methods.
    • Simplified pepdbagent API
  • Restructured database (added columns: private, number_of_samples, submission_date, last_update_date)
  • Improved logging
  • Added new tests
  • Improved documentation
  • Added more logging information in uploading project methods
  • Added update_only argument upload_project method
  • Fixed error in pepannotation (privacy error)
  • Fixed error with namespace user if user is unknown
  • Added limits and offset to function: get_projects_in_namespace()

  • Annotation changed to BaseModel from pydantic

  • Added privacy information in annotations

  • Added update feature to upload_project method with overwrite argument

  • Added mock tests

  • Deleted unused functions:

    • get_projects_in_list
    • get_projects_annotation_by_namespace
    • project_status
    • project_status_by_registry
    • get_registry_paths_by_digest
  • Changed method names:

    • get_project_by_registry --> get_project_by_registry_path
    • get_project_annotation_by_registry --> get_project_annotation_by_registry_path
  • 🎉 first release!