Releases: CoLRev-Environment/search-query
Releases · CoLRev-Environment/search-query
Version 0.15.0
- Polish docs (automate page, with pinned colrev version; functional overview)
- Extend tests (covering code in the paper; dist smoke test)
- JSON: make
SearchQuery(query=...)the (safer) default
Version 0.14.1
- Fix broken sdist: caused wheels to ship without package code.
Version 0.14.0
- Documentation and demo notebook: Revised the documentation and extended the demo notebook.
- Generic query syntax: Make fields case insensitive.
- Linter message refinement: Formatting (cli) and internal handling revised.
WOS_0005deprecated. - Extend
QueryErrorCode.JOURNAL_FILTER_IN_SUBQUERY: AddedISSNandISBNfields. - Dependency: Removed
packagingdependency.
Version 0.13.0
- Versioned platform architecture & upgrades: Introduced version-aware parser registry that selects list or string parsers per platform version and defaults to the latest registered release. Auto-discovery for parser, serializer, and translator implementations. Added an upgrade pipeline that routes through the generic query as an intermediate representation, exposed through a new
upgradeCLI subcommand. - CLI improvements: Rebuilt the CLI around explicit
translate,lint, andupgradesub-commands with improved error handling and user feedback, including success messages emitted by the linter workflow. - Search file handling: Refactored
SearchFileto replacefilepathwithsearch_results_path, derive the default history path, ensure directories exist when saving, and exclude private attributes from serialization output. - Linter updates: Added the
deprecated-syntaxwarning (LINT_2001) to guide users toward upgrading queries that rely on legacy syntax. - Documentation: Documented the syntax upgrade workflow and versioning policy for database-specific queries, including CLI examples.
Version 0.12.0
-
Platform Support:
- PubMed: #26
- Web of Science: #20
- EBSCOHost: #19
→ Implemented full platform support including:- Parsers (supporting query-string and list formats)
- Linters
- Serializers
- Translators
→ Enhanced parsing capabilities with artificial parentheses to correctly reflect operator precedence.
→ Linters now provide categorized messages across six dimensions:parsing,structure,terms,fields,databases, andquality.
-
Refactoring and Internals:
- Refactored core query classes and methods (
query_and,query_or,query_near, etc.). - Improved tokenization logic and consolidated linter messages into structured groups.
- Removed deprecated
linter-modeand unreachable code paths. - Migrated to
uvfor dependency management and streamlined environment setup.
- Refactored core query classes and methods (
-
New Features and Improvements:
- Introduced a query database for programmatic retrieval and sharing of query examples.
- Achieved comprehensive unit test coverage, exceeding 95% of the codebase.
- Expanded and improved documentation, including developer guidelines and platform-specific usage notes.
Version 0.11.0
- Refactoring (AND/OR/NOT-Queries, method signatures, public to private methods)
- Rename methods:
query.translate_xy()toquery.write(syntax=xy),query.print_query_xy()toquery.to_string(syntax=xy) - Integrate Query tree into node attribute
- Make dev dependencies optional
- Add tests on GitHub actions
- Extract constants
- Code skeleton for Parsers and Linters
- Documentation: Sphinx
- SearchFields instead of str
- Binder demo
- Implement
Query.selects() - Drop ABC inheritance
- Add
is_term()andis_operator()
Release 0.10.0
First basic implementation of a search query translator.
Included databases for translation:
- PubMed
- Web of Science - Core Collection
- IEEE Xplore
Version 0.1.0
Package for managing literature search queries.