Releases: groc-prog/pyneo4j-ogm
v0.6.0
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
- test: update tests (
f00c7fc)
v0.5.3
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
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
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
- docs: update docs (
98ff03c)
Fix
- fix: fix validation error when passing "*" to $maxHops (
960aa76)
v0.5.0
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
v0.4.1
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
- ci: adjust job steps (
d168194)
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
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
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
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...
v0.1.0
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...