Skip to content

Commit 24f7b77

Browse files
authored
Update readme, docs, and version (#283)
* update docs * update readme and add changelog * update version
1 parent 2b6e010 commit 24f7b77

4 files changed

Lines changed: 75 additions & 34 deletions

File tree

README.md

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# GQLAlchemy
22

3-
43
<p>
54
<a href="https://github.com/memgraph/gqlalchemy/actions"><img src="https://github.com/memgraph/gqlalchemy/workflows/Build%20and%20Test/badge.svg" /></a>
65
<a href="https://github.com/memgraph/gqlalchemy/blob/main/LICENSE"><img src="https://img.shields.io/github/license/memgraph/gqlalchemy" /></a>
@@ -16,26 +15,38 @@ An Object Graph Mapper or OGM provides a developer-friendly workflow that allows
1615

1716
## Installation
1817

19-
GQLAlchemy is built on top of Memgraph's low-level Python client `pymgclient`
20-
([PyPI](https://pypi.org/project/pymgclient/) /
21-
[Documentation](https://memgraph.github.io/pymgclient/) /
22-
[GitHub](https://github.com/memgraph/pymgclient)).
18+
To install GQLAlchemy, you will need the following:
19+
20+
- **Python 3.8 - 3.11**
21+
- `pymgclient` [build prerequisites](https://memgraph.github.io/pymgclient/introduction.html#build-prerequisites): GQLAlchemy is built on top of Memgraph's low-level Python client `pymgclient`
22+
23+
> [!WARNING]
24+
> Python 3.11 users: On Windows, GQLAlchemy is not yet compatible with this Python version. Linux users can install GQLAlchemy **without** the DGL extra (due to its dependencies not supporting Python 3.11 yet). If this is currently a blocker for you, please let us know by [opening an issue](https://github.com/memgraph/gqlalchemy/issues).
2325
24-
To install GQLAlchemy, you first need to install `pymgclient` [build prerequisites](https://memgraph.github.io/pymgclient/introduction.html#build-prerequisites).
26+
After you’ve installed the prerequisites, run the following command to install
27+
GQLAlchemy:
2528

26-
After you have installed the prerequisites, run the following command:
29+
```bash
30+
pip install gqlalchemy
31+
```
2732

28-
`pip install gqlalchemy`
33+
With the above command, you get the default GQLAlchemy installation which
34+
doesn’t include import/export support for certain formats (see below). To get
35+
additional import/export capabilities, use one of the following install options:
2936

30-
With the above command, you get the basic GQLAlchemy capabilities. To add additional import/export capabilities, install GQLAlchemy with one of the following commands:
37+
```bash
38+
pip install gqlalchemy[arrow] # Support for the CSV, Parquet, ORC and IPC/Feather/Arrow formats
39+
pip install gqlalchemy[dgl] # DGL support (also includes torch)
40+
pip install gqlalchemy[docker] # Docker support
3141

32-
- `pip install gqlalchemy[arrow]` # Support for the CSV, Parquet, ORC and IPC/Feather/Arrow formats
33-
- `pip install gqlalchemy[dgl]` # DGL support (includes PyTorch)
34-
- `pip install gqlalchemy[docker]` # Docker support
42+
pip install gqlalchemy[all] # All of the above
43+
```
3544

36-
- `pip install gqlalchemy[all]` # All of the above
45+
If you are using the zsh terminal, surround `gqlalchemy[$extras]` with quotes:
3746

38-
Users of the zsh terminal should surround `gqlalchemy[$extras)]` with quotes: `pip install 'gqlalchemy[arrow]'`
47+
```bash
48+
pip install 'gqlalchemy[arrow]'
49+
```
3950

4051
If you intend to use GQLAlchemy with PyTorch Geometric support, that library must be installed manually:
4152

@@ -54,8 +65,8 @@ The project uses [Poetry](https://python-poetry.org/) to build the library. Clon
5465
poetry install --all-extras
5566
```
5667
57-
The ``poetry install --all-extras`` command installs GQLAlchemy with all extras
58-
(optional dependencies). Alternatively, you can use the ``-E`` option to define
68+
The `poetry install --all-extras` command installs GQLAlchemy with all extras
69+
(optional dependencies). Alternatively, you can use the `-E` option to define
5970
what extras to install:
6071
6172
```bash
@@ -81,6 +92,7 @@ poetry run pytest . -k "arrow"
8192
poetry run pytest . -k "dgl"
8293
poetry run pytest . -k "docker"
8394
```
95+
8496
## Development (how to build)
8597
8698
```bash
@@ -94,12 +106,14 @@ poetry run pytest . -k "not slow and not extras"
94106
The GQLAlchemy documentation is available on [GitHub](https://memgraph.github.io/gqlalchemy/).
95107
96108
The reference guide can be generated from the code by executing:
109+
97110
```
98111
pip3 install pydoc-markdown
99112
pydoc-markdown
100113
```
101114
102115
Other parts of the documentation are written and located at docs directory. To test the documentation locally execute:
116+
103117
```
104118
pip3 install mkdocs
105119
pip3 install mkdocs-material

docs/changelog.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
# Changelog
22

3+
## v1.5.0 - September 22, 2023
4+
5+
### Features and improvements
6+
7+
- Added `get_or_create()` metod for `Node` and `Relationship` to simplify merging nodes and relationships (https://github.com/memgraph/gqlalchemy/pull/244)
8+
- Added spelling fixes (https://github.com/memgraph/gqlalchemy/pull/251)
9+
- Turned `docker` into an optional dependency (https://github.com/memgraph/gqlalchemy/pull/279)
10+
11+
### Bug fixes
12+
13+
- Fixed typing for `get_triggers` method (https://github.com/memgraph/gqlalchemy/pull/260)
14+
15+
### Updates
16+
17+
- Added support for Python 3.11 on Linux (https://github.com/memgraph/gqlalchemy/pull/281)
18+
- Added support for Python 3.10 on Windows (https://github.com/memgraph/gqlalchemy/pull/281)
19+
- Relaxed `neo4j` dependency (https://github.com/memgraph/gqlalchemy/pull/263/files)
20+
- Bumped `pydantic` to v2 (https://github.com/memgraph/gqlalchemy/pull/278)
21+
22+
**Special thanks to all our outside contributors for their efforts!** 👏
23+
24+
!!! note
25+
We are hoping to have full support for Python 3.11 soon. Please [open an issue](https://github.com/memgraph/gqlalchemy/issues) if you have any blockers with the current update.
26+
327
## v1.4.1 - April 19, 2023
428

529
### Features and improvements
@@ -40,8 +64,8 @@
4064
- Updated all dependencies [#194](https://github.com/memgraph/gqlalchemy/pull/194)
4165

4266
## v1.3 - Jun 14, 2022
43-
!!! warning
44-
### Breaking Changes
67+
68+
!!! warning ### Breaking Changes
4569

4670
- Renamed keyword argument `edge_label` to `relationship_type` in `to()` and `from()` methods in the query builder. [#145](https://github.com/memgraph/gqlalchemy/pull/145)
4771

@@ -54,7 +78,7 @@
5478
- Added `foreach()` method to the query builder. [#135](https://github.com/memgraph/gqlalchemy/pull/135)
5579
- Added `load_csv()` and `return()` methods from the query builder to base classes list. [#139](https://github.com/memgraph/gqlalchemy/pull/139)
5680
- Added new argument types in `return_()`, `yield_()` and `with_()` methods in the query builder. [#146](https://github.com/memgraph/gqlalchemy/pull/146)
57-
- Added `IntegratedAlgorithm` class instance as argument in `to()` and `from()` methods in the query builder. [#141](https://github.com/memgraph/gqlalchemy/pull/141)
81+
- Added `IntegratedAlgorithm` class instance as argument in `to()` and `from()` methods in the query builder. [#141](https://github.com/memgraph/gqlalchemy/pull/141)
5882
- Extended `IntegratedAlgorithm` class with the Breadth-first search algorithm. [#142](https://github.com/memgraph/gqlalchemy/pull/142)
5983
- Extended `IntegratedAlgorithm` class with the Weighted shortest path algorithm. [#143](https://github.com/memgraph/gqlalchemy/pull/143)
6084
- Extended `IntegratedAlgorithm` class with the Depth-first search algorithm. [#144](https://github.com/memgraph/gqlalchemy/pull/144)
@@ -71,17 +95,14 @@
7195
- Added `Operator` enum which can be used as `operator` value in `set_()` and `where()` methods in the query builder. [#165](https://github.com/memgraph/gqlalchemy/pull/165)
7296
- Added an extension to the `QueryBuilder` class to support and autocomplete integrated and MAGE query modules. [#168](https://github.com/memgraph/gqlalchemy/pull/168)
7397

74-
7598
### Bug fixes
7699

77100
- Fixed the unbound variable error in the return statement of the Cypher query in `memgraph.save_relationship_with_id()`. [#166](https://github.com/memgraph/gqlalchemy/pull/166)
78101
- Fixed checking if `None` for `Optional` properties. [#167](https://github.com/memgraph/gqlalchemy/pull/167)
79102

80-
81103
## v1.2 - Apr 12, 2022
82104

83-
!!! warning
84-
### Breaking Changes
105+
!!! warning ### Breaking Changes
85106

86107
- Ordering query results as in GQLAlchemy older than 1.2 will not be possible.
87108
- `where()`, `and_where()` and `or_where()` methods can't be used as in

docs/installation.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ as pip and Poetry, and by building it from source.
77

88
To install GQLAlchemy, you will need the following:
99

10-
- **Python 3.8 - 3.10**
11-
- GQLAlchemy is built on top of Memgraph's low-level Python client `pymgclient`, so you need to install `pymgclient` [build prerequisites](https://memgraph.github.io/pymgclient/introduction.html#build-prerequisites).
10+
- **Python 3.8 - 3.11**
11+
- `pymgclient` [build prerequisites](https://memgraph.github.io/pymgclient/introduction.html#build-prerequisites): GQLAlchemy is built on top of Memgraph's low-level Python client `pymgclient`
1212

13-
!!! danger
14-
GQLAlchemy can't be installed with Python 3.11 [(#203)](https://github.com/memgraph/gqlalchemy/issues/203) and on Windows with Python >= 3.10 [(#179)](https://github.com/memgraph/gqlalchemy/issues/179). If this is currently a blocker for you, please let us know by commenting on opened issues.
13+
!!! danger
14+
Python 3.11 users: On Windows, GQLAlchemy is not yet compatible with this Python version. Linux users can install GQLAlchemy **without** the DGL extra (due to its dependencies not supporting Python 3.11 yet). If this is currently a blocker for you, please let us know by [opening an issue](https://github.com/memgraph/gqlalchemy/issues).
1515

16-
## Install with pip {#pip}
16+
## Install with pip
1717

1818
After you’ve installed the prerequisites, run the following command to install
1919
GQLAlchemy:
@@ -34,13 +34,20 @@ pip install gqlalchemy[docker] # Docker support
3434
pip install gqlalchemy[all] # All of the above
3535
```
3636

37-
!!! note
38-
If you are using the zsh terminal, surround `gqlalchemy[$extras)]` with quotes:
37+
!!! note
38+
If you are using the zsh terminal, surround `gqlalchemy[$extras)]` with quotes:
3939

4040
```bash
4141
pip install 'gqlalchemy[arrow]'
4242
```
4343

44+
If you intend to use GQLAlchemy with PyTorch Geometric support, that library must be installed manually:
45+
46+
```bash
47+
pip install gqlalchemy[torch_pyg] # prerequisite
48+
pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.13.0+cpu.html"
49+
```
50+
4451
## Build from source
4552
4653
Clone or download the [GQLAlchemy source code](https://github.com/memgraph/gqlalchemy) locally and run the following command to build it from source with Poetry:
@@ -49,8 +56,8 @@ Clone or download the [GQLAlchemy source code](https://github.com/memgraph/gqlal
4956
poetry install --all-extras
5057
```
5158
52-
The ``poetry install --all-extras`` command installs GQLAlchemy with all extras
53-
(optional dependencies). Alternatively, you can use the ``-E`` option to define
59+
The `poetry install --all-extras` command installs GQLAlchemy with all extras
60+
(optional dependencies). Alternatively, you can use the `-E` option to define
5461
what extras to install:
5562
5663
```bash

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
[tool.poetry]
22
name = "GQLAlchemy"
3-
version = "1.4.1"
3+
version = "1.5.0"
44

55
description = "GQLAlchemy is a library developed to assist with writing and running queries in Memgraph."
66
repository = "https://github.com/memgraph/gqlalchemy"
77
authors = [
8-
"Bruno Sacaric <bruno.sacaric@memgraph.com>",
98
"Josip Mrden <josip.mrden@memgraph.com>",
109
"Katarina Supe <katarina.supe@memgraph.com>",
1110
"Andi Skrgat <andi.skrgat@memgraph.com>",

0 commit comments

Comments
 (0)