Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 29 Nov 20:39
· 196 commits to main since this release

v0.2.0 (2023-11-29)

Chore

  • chore: release (78c2dd0)

  • chore: pylint (cb567dd)

  • chore: update markdownlint settings (f2ab6db)

  • chore: update markdownlint config (d4cdccd)

  • chore: update vscode settings, formatting/linting, remove pytest.ini (17dae1d)

  • chore(pyproject.toml): update project metadata (599a1fc)

  • chore(tasks): adjust test coverage location (a80825f)

  • chore(tasks): add pyright and pylint tasks (010abbc)

Ci

  • ci: test workflow trigger (fffcba7)

  • ci: update ci.yaml workflow (f8d00fd)

  • ci: enable workflows for develop branch (2dc6618)

Documentation

  • docs: update features (e3bc559)

  • docs: update code comments (a94b3fe)

  • docs: add special projection values to docs (896f3fa)

  • docs: update docs to recent changes (68d821e)

  • docs: update docstrings (326f4cd)

  • docs: update docstrings for ModelBase, Pyneo4jClient and NodeModel classes (dc3ca1f)

  • docs: adjust docstrings (a44f95f)

  • docs: Update todos (37be36e)

  • docs: add env variable for disabling logger to module docstring (a79c7ee)

Feature

  • feat: add type for projections (8f8af8a)

  • feat: add option to raise exception if find_one, update_one, delete_one or disconnect methods do not find any matches (c6a2901)

  • feat(RelationshipProperty): the replace() method now moves all relationships between current and old node to new node (0e37bf3)

  • feat: handle sync and async hooks differently, relationships method now supports filters, projections and options (27901e4)

  • feat(NodeModel): exclude relationship properties from modified_properties, auto-fetch now raises an exception if a relationship or node model which is auto fetched is not registered (873e7ac)

  • feat(RelationshipProperty): relationship() has been renamed to relationships(), now returns a list of relationships instead of a single relationship or None (8bf70a7)

  • feat(MultiHopFilter): support $direction filter for path (d740679)

  • feat(Pyneo4jClient): Rename Neo4jClient to Pyneo4jClient (cf71356)

Fix

  • fix: find_many queries now return correct results if options and projections are used together (63730fb)

  • fix: parse query result to model if raw result, prevent usage of lists with non primitive values (f600700)

  • fix(validators): change QueryDataTypes to Any to prevent pydantic from changing data type when validating filters (d195648)

  • fix: st _id field in relationship when inflating (79dc118)

  • fix(NodeModel): raise UnregisteredModel exception if target model for find_connected_nodes has not been registered (ae92801)

  • fix(projections, auto-fetch): fix non-distinct values being returned when using projections, fix missing auto-fetched nodes when multiple returned models were connected to the same auto-fetched node (7170623)

  • fix(typings): add typing-extensions as dependency, adjust types so required keys are actually required (c65f236)

  • fix(validators): add default values and adjust types for QueryOptionModel validator (a83f7e7)

  • fix: Remove unused if statement in eq method, raise ModelImportFailure exc if id is missing in dict (435c971)

  • fix: fix typings for RelationshipFilters and RelationshipPropertyFilters (24458bd)

Refactor

  • refactor(RelationshipProperty): use Optional instead of Union with None (2d381b9)

  • refactor(RelationshipProperty): pass source node to relationship-property hooks instead of self (539f6f9)

  • refactor: rename NoResultsFound to UnexpectedEmptyResult (593ac58)

  • refactor: use LiteralString from typing_extensions package to stay compatible with python < 3.11 (05c344d)

  • refactor(RelationshipProperty): add some checks for empty queries adn ensure_alive method, refactor find_connected_nodes method (2a848fc)

  • refactor(NodeModel): split class name into substrings when falling back to auto labels (3992266)

  • refactor(ModelBase): Change modified_properties from list to set (597100f)

  • refactor(property_options): remove unused magic method (75981f3)

  • refactor: change relationship variable from build param to function param (6d331b7)

Test

  • test: update tests to new method params and rename exception (657dff4)

  • test: add remaining tests for RelationshipProperty (1f85ea9)

  • test: consume neo4j result after session is done (f28ebfe)

  • test: unit and integration tests for RelationshipModel class (8db2de7)

  • test: remove almost all separate testmodels and add fixture for setting up test db with test data, modify tests to use new fixture (c68fcb1)

  • test(NodeModel): remaining tests for NodeModel class (aa5e0e0)

  • test(NodeModel): tests for create, update, delete, refresh, delete_many, delete_one, count, find_many, find_one, update_many and update_one methods (bca8a46)

  • test(NodeModel): test cases for find_one method (da6c1f0)

  • test(NodeModel): add tests for NodeModel class (fdc3785)

  • test: rename test classes, add more tests (8b2cefc)

  • test: add tests to client for batching, TransactionInProgress and drop_indexes failure (eea08bc)

  • test: Tests for ModelBase class (5ed0d1b)

  • test: Add tests for shared methods (8a6f358)

  • test: expand test coverage, move fixtures and utils (fbaabe9)

Unknown