Skip to content

Releases: groc-prog/pyneo4j-ogm

v0.6.0

23 May 09:47

Choose a tag to compare

v0.6.0 (2024-05-23)

Chore

  • chore: remove unused imports [skip ci] (4c731c4)

Documentation

  • docs: add documentation for register_models_from_directory method (6c0f6e0)

Feature

  • feat: allow model registration using directory path (8a4b93d)

Fix

  • fix: prepare models correctly when using directory (50c4c04)

Refactor

  • refactor: rename register_models_dir to register_models_from_directory (e83c8e4)

Test

v0.5.3

13 May 10:57

Choose a tag to compare

v0.5.3 (2024-05-13)

Build

  • build: adjust semantic release config (d5fc883)

Chore

  • chore: restructure tests dir (38bbe05)

  • chore: add code comments (81e2d06)

  • chore: update pyright config (27c6a6e)

Ci

  • ci: update lint pipeline (54a2b13)

  • ci: update ci workflow (39e11e4)

  • ci: remove temporary workflow (be4eacf)

  • ci: allow pipeline to start (fc2502b)

  • ci: add workflow for testing new semantic release config (09096f1)

  • ci: update python version numbers to strings (58a1a87)

  • ci: update workflows (24a4000)

Documentation

  • docs: update README (96b906d)

  • docs: update README.md (4836cc7)

  • docs: add comments to remaining client methods (f16ba40)

  • docs: add comments to db client (d1b6872)

  • docs: add comments and update docstrings (b8c479d)

  • docs: update documentation and split docs into separate files (77d0a28)

  • docs: fix invalid links (b0d147f)

  • docs: update docs branch for testing links (b76c491)

  • docs: split docs into multiple files inside docs directory (360b689)

Fix

  • fix: convert list to set before comparing contents (b4468f9)

Test

  • test: fix test cases and add new one for duplicate model registration (e67a25d)

Unknown

  • Merge branch 'main' into develop (75efdd2)

v0.5.2

22 Feb 18:16

Choose a tag to compare

v0.5.2 (2024-02-22)

Chore

  • chore: add CHANGELOG template (6f00d0b)

Ci

  • ci: show installed pydantic version in test action (20f0bfb)

Documentation

  • docs: add docs for migrations (c94ce30)

Refactor

  • refactor: remove tabulate and add pretty_print function (9f29344)

Unknown

  • Merge branch 'main' into develop (61d27cf)

v0.5.1

11 Feb 19:06

Choose a tag to compare

v0.5.1 (2024-02-11)

Chore

  • chore: fix issue template (6af210d)

  • chore: update issue template (f171eec)

  • chore: update issue templates (43d3c38)

  • chore: add config file for issue templates (990be8a)

  • chore: add issue template (f1062e8)

Documentation

Fix

  • fix: fix validation error when passing "*" to $maxHops (960aa76)

v0.5.0

06 Feb 17:30

Choose a tag to compare

v0.5.0 (2024-02-06)

Chore

  • chore: linter (2eb2352)

  • chore: add coverage to task and remove from settings (46649a7)

  • chore: pylint/pyright (69d565b)

  • chore: pylint/pyright (ef2a086)

  • chore: pylint/pyright (c0359c4)

  • chore: add dist to ignored files (eec102c)

Ci

  • ci: update ci to only run if source files change (8349f10)

  • ci: fix test coverage to only include source files (7b095cc)

Documentation

Feature

  • feat: add down command (593dcc5)

  • feat: add up action in cli (102df70)

  • feat: status command for displaying state of migrations (4e4ba14)

  • feat: add support for storage of deeply nested lists (1b5afc9)

Fix

  • fix: correctly pass arguments (9d1fce5)

  • fix: return created file name and path from create action (3965d23)

  • fix: add missing init file for migrations (f1e196b)

  • fix: add start/end node element_id/id to relationship serialization (986ebc6)

  • fix: rename _inflate parameter, fix element_id and id being included in modified_properties (e1672bd)

  • fix: fix exception when using polymorphism with node models (54e266d)

  • fix: fix inherited node model labels (c49186c)

  • fix: fix node model labels when inheriting from another model (4d64c65)

  • fix: correctly inherit settings from parent class (9f94f0c)

  • fix: fix iter method (f945a17)

  • fix: use new relationship property instance instead of mutating the base class (2d084d9)

  • fix: check if node needs to be parsed before doing so (a867228)

  • fix: parsing exported models now also parses relationship property nodes to their models (28c5efe)

  • fix: remove unnecessary coroutine check (2e176a0)

  • fix: make auto_fetch_nodes optional (3d1917c)

  • fix: correctly parse dict to model when model defines RelationshipProperty field (9766204)

  • fix: fix index/constraint schema (cb4eeb7)

Refactor

  • refactor: rename applied_at to updated_at (63d585c)

  • refactor: refactor way auth info is passed in config (5ab25f0)

  • refactor: move defaults to separate file, actions now accept arguments instead of namespace (fe59988)

  • refactor: rename inner decorator function (16bc5b8)

  • refactor: move relationship property enums to relationship property file (47e0b6b)

  • refactor: remove unnecessary if statements (f6f7bfe)

  • refactor: adjust used logging level (e835c7a)

  • refactor: change file structure and move enums/types/consts (a6851a2)

Test

  • test: add tests for down and status action (0be32e5)

  • test: test if nodes have been created successfully inside db (8ff3ad6)

  • test: add tests for create and up action (e9592b1)

  • test: update migration create test (0b64f3e)

  • test: test create action return value (3290c3a)

  • test: add tests for create action (85101b9)

  • test: add fixture for tmp file path with adjusted cwd, add tests for init action (8cfe0f8)

  • test: test serialization (f66cae7)

  • test: adjust tests for polymorphism support (d6e8937)

  • test: expand test case to include tests for inherited labels (013ec2f)

  • test: add test cases for settings inheritance (89faa2c)

  • test: add missing tests (ed7c4ba)

  • test: test iter method (d13043f)

  • test: update test s (194402c)

  • test: overhaul existing tests (61a3687)

Unknown

  • Merge remote-tracking branch 'origin/main' into develop (aaac6c4)

  • Merge branch 'feat/migration-cli' into develop (1576459)

v0.4.1

17 Jan 18:59

Choose a tag to compare

v0.4.1 (2024-01-17)

Chore

  • chore: add .venv to ignore files (c7aa6b8)

  • chore: fixed linting/type checking (7021e47)

  • chore: lint/type check (0539a1c)

Ci

Documentation

  • docs: update docs on serialization (03d740f)

  • docs: update docs on running test suite (0a9c914)

  • docs: add docs for pydantic version and supported features (99546ca)

  • docs: add docs for running test suits (f24f62c)

  • docs: fix format issues for tables (1f0fa1e)

Fix

  • fix: fix schema missing indexes/constraints if schemas reference each other (eb4d666)

  • fix: update CustomGenerateJsonSchema class to add index/constraint info (2a64464)

  • fix: add missing index/constraint to model schema (01e2a9d)

  • fix: use enum values for string representation of RelationshipProperty (8889c62)

  • fix: fix relationship properties always being included in serialization in V1 (2ba47b9)

  • fix: only use CustomGenerateJsonSchema when IS_PYDANTIC_V2 is true, check exclude before adding id and element_id (3f621f6)

  • fix: implement custom GenerateJsonSchema class for v2 schema generation (fff7fea)

  • fix: fix schema generation for pydantic v1 (13cbde8)

  • fix: update schema generation (abe2035)

  • fix: fix issue where serialization would not work if nodes for relationship properties where fetched (4d0aa1e)

Refactor

  • refactor: implement model_serializer instead of overwriting methods (cfd8e0e)

  • refactor: adjust validation for custom pydantic types and dict/json conversion for pydantic v2 (5c4b61c)

  • refactor: adjust validation for custom pydantic types and dict/json conversion (cfe9f03)

  • refactor: remove arbitrary_types_allowed and add custom type for RelationshipProperty (0c59e73)

Test

  • test: update schema test case (6c7553d)

  • test: update schema test cases (e5054e8)

  • test: fix test case since pydantic generates different schemas depending on python version (021b5d9)

  • test: add update_forward_refs when tests run on V1 of pydantic (6f4a9d9)

  • test: add test case for schema generation (26a9d74)

  • test: update test case for model serialization (e51be3c)

v0.4.0

13 Dec 20:38

Choose a tag to compare

v0.4.0 (2023-12-13)

Chore

  • chore: fix linting and type checking errors (27a4dd2)

Ci

  • ci: add cli args to test action (6e77db5)

Documentation

  • docs: update bookmark docs (38f1b13)

  • docs: adjust index/constraint docs (5ebc419)

  • docs: update title (3054f2f)

  • docs: update docs for now serialization (7102cb8)

Feature

  • feat: add bookmark support for client and model methods (305bceb)

  • feat(exceptions): remove ModelImportFailure exception (eec9eb4)

  • feat(settings): remove exclude_from_export setting (5ef3cca)

  • feat: exclude element_id and id before writing _db_properties (caf9763)

  • feat(ModelBase): take exclude, include and by_alias arguments into account before adding element_id or id (b3fd01d)

  • feat(ModelBase): include element_id and id fields in pydantics serialization methods (ea01cf5)

Performance

  • perf: optimize RelationshipProperty queries (f614ee4)

  • perf: optimize node and relationship queries (ecbb6e6)

Refactor

  • refactor: update logging (a8ef299)

  • refactor(ModelBase): improve logging (e5711ee)

  • refactor: remove unused IndexType enum (57afc4a)

  • refactor(Pyneo4jClient): split up index types into separate methods (1ec4d81)

Test

  • test: fix dict_dump and json_dump test cases (0287280)

  • test: adjust Pyneo4jClient test suits (31c4acb)

  • test: update test suits (d1c4001)

  • test: remove pytest.ini and add cli args to vscode pytest args (e889e01)

Unknown

  • Merge remote-tracking branch 'origin/main' into develop (3fbeade)

v0.3.0

30 Nov 20:42

Choose a tag to compare

v0.3.0 (2023-11-30)

Chore

  • chore: update pytest IDE settings (63ffa26)

  • chore(tasks): update vscode tasks (9c2497a)

  • chore(pydantic): bump version to >=1.10, <3.0 (a46177f)

Ci

  • ci: update test workflow to run pydantic v1 and v2 (535291a)

  • ci: cache poetry lock and venv (ec2d51f)

Documentation

  • docs: update supported pydantic versions in docs (5260cc5)

Feature

  • feat: update remaining codebase to pydantic v2, rename settings to _settings (b4236a6)

  • feat: update settings to pydantic v2 (a60ca78)

  • feat: update validators to pydantic v2 (08a3641)

  • feat: add pydantic utils for backwards compatibility (9a85d4a)

Fix

  • fix(WithOptions): fix typing issue (8228964)

  • fix(RelationshipModel): use _deflate() instead of model_dump (1198602)

  • fix(NodeModel): implement dirty??? hack for pydantic fields not getting initialized separately anymore, use _deflate instead of model_dump (ed106ba)

  • fix(WithOptions): fix breaking changes in v2 (3484ed6)

  • fix(validators): fix breaking change in validator return value (857dd93)

  • fix(NodeModel): register relationship properties correctly with pydantic v2 (68f415f)

  • fix(ModelBase): fix root validator (33f43bd)

  • fix: fix pydantic utils typings (65feb25)

Performance

  • perf(NodeModel): stop looping over model if auto-fetch models have been found (efee0fc)

Refactor

  • refactor(RelationshipProperty): use parse_model() instead of model.validate() (1a27569)

Test

  • test: fix test which closed client prematurely (6ffd5f6)

  • test: add pytest.ini file (499e7f5)

  • test: re-add removed tests (c27601d)

Unknown

  • Merge remote-tracking branch 'origin/main' into develop (e5f603b)

v0.2.0

29 Nov 20:39

Choose a tag to compare

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](https://github...

Read more

v0.1.0

06 Nov 19:42

Choose a tag to compare

v0.1.0 (2023-11-06)

Chore

  • chore(release): First release (9219ea7)

  • chore: Add metadata to pyproject.toml (1343269)

  • chore: Add MIT license (20f1647)

  • chore: Enforce semantic commit messages (d73dc2a)

  • chore: Update pre-commit config, add isort config (16a1d3a)

  • chore: Adjust pre-commit hooks (26d316c)

  • chore: Enforce semantic commit messages (109b399)

  • chore: Update pre-commit config (2b61b89)

  • chore: Test pre-commit hooks (f8052b4)

  • chore: Add test tasks for vscode, rename tests actions (8fb1164)

  • chore: Rename project to pyneo4j-ogm and poetry project to pyneo4j_ogm (b115db0)

  • chore: Update pre-commit configuration to run on pre-commit stage (662812c)

  • chore: Fix black formatter in pre commit hooks (2c7d672)

  • chore: Pre-commit setup, linting, formatting (ec8023b)

  • chore: pylint (a71626e)

  • chore: Update todos in readme (bc15100)

  • chore: Move scripts to scripts dir (8c4cd4f)

  • chore: Add pylintrc and black configuration options, format files (aa57c42)

  • chore: Add task list to README.md (eaf5a15)

Ci

  • ci: Update workflow for release (53ca1cc)

  • ci: Update release workflow (6977700)

  • ci: Update release workflow (e09d4ea)

  • ci: Update release workflow (715d233)

  • ci: Update release workflow (95fd607)

  • ci: Update release workflow (052d512)

  • ci: Update release (6da80f8)

  • ci: Update release (486c0e8)

  • ci: Update release (f4180fb)

  • ci: Update release workflow (14b9409)

  • ci: Rename workflow file, add semantic release changelog config (664f421)

  • ci: Update ci jobs (21e747c)

  • ci: Test release job trigger (6a0ccf3)

  • ci: Update ci jobs (9def509)

  • ci: Change back to main branch only (eeb6a88)

  • ci: Test workflows (614fe1d)

  • ci: Add release job (461e566)

  • ci: Test release workflow trigger (49fd744)

  • ci: Test release workflow trigger (aec505e)

  • ci: Test release workflow trigger (d46fbb1)

  • ci: Test release workflow trigger (86aae20)

  • ci: Test release workflow trigger (4bf6b11)

  • ci: Test release workflow trigger (41d481b)

  • ci: Test release workflow (7e6f56b)

  • ci: Test release workflow depending on quality and tests (2a88cd3)

  • ci: Dont run ci on develop (f14d1f6)

  • ci: explicitly define port (9a0b2b4)

  • ci: Fix linter errors, add missing env variable for neo4j port (89f66ae)

  • ci: Test github workflows (b61c6e5)

  • ci: Adjust naming in CI steps (10dd1b6)

  • ci: Add pyright to CI, change workflow (d632017)

  • ci: Only run on main (12fc0a8)

  • ci: Test workflow on develop (c7b9a3c)

  • ci: Github workflow for integration tests (4f369cb)

  • ci: Only run on main (401940e)

  • ci: Update checks (68a4a76)

  • ci: Update ci workflow (e411d13)

  • ci: Test checks workflow (27e5d31)

  • ci: Adjust job names (a630c49)

  • ci: Add github workflows for pylint, isort and black (6da6faf)

Documentation

  • docs: Update todos and future features (96f350b)

  • docs: Documentation for remaining methods/functionality (31dca97)

  • docs(RelationshipProperty): Add docs for RelationshipProperty class (df0153f)

  • docs: Fix wrong method name in example (6ceffe8)

  • docs: Add remaining model methods (324a549)

  • docs: Update todos (bc09628)

  • docs: Add todos (35aa56a)

  • docs: Add docs for more model methods (4d853f5)

  • docs: Add further todos (5a4fde0)

  • docs: Fix typos (0d19b64)

  • docs: Add documentation for find_one and find_many methods (57c5b58)

  • docs: Update projection docs for node and relati...

Read more