Skip to content

Commit 27d3e09

Browse files
committed
Added release notes for v0.18.0
1 parent 68d9654 commit 27d3e09

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

docs/release_notes.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,66 @@
1+
# Omnipy v0.18.0
2+
3+
_Release date: Nov 7, 2024_
4+
5+
v0.18.0 of Omnipy another **huge** release in terms of code line modifications, but not so much in
6+
terms of new features. The main new feature is, however, a very important one - the ability to make
7+
use of static type analysers like `pyright` to provide code-completion and/or validation of `Omnipy`
8+
tasks and flows. Also, Omnipy documentation is starting to receive some love!
9+
10+
### New features in v0.18.0
11+
12+
- **Extensive update to type hints for tasks and flows, supporting code auto-completion**
13+
14+
- The type hints for tasks and flows have been updated to provide better support for code
15+
auto-completion. This includes typing the class decorator factory `callable_decorator_cls` in a
16+
way that is currently supported by major static analysis tools, including `mypy`, `pyright` and
17+
`Pycharm`.
18+
- Type hints now include generics for the parameters and return type of decorated functions. This
19+
allows for better type checking and code completion of tasks and flows.
20+
- Job modifiers are now properly supported with type hints for the `__call__` method of task and
21+
flow templates.
22+
- Code completion has been tested in `PyCharm` and `Jupyter notebook` using `Pyright` language
23+
server, which is now the recommended auto-completion setup. `Pycharm` basic auto-completion does
24+
not correctly support the new `Python` type hint features needed for auto-completion.
25+
- A large number of type hint issues have been fixed.
26+
- Type hint updates are massive, and spans the entire code base, but with a focus on the
27+
`compute` module and it's tests.
28+
29+
30+
- **Moved document generation to `mkdocs` and `mkdocstrings`**
31+
32+
- The documentation has been moved from `portray` to `mkdocs` and `mkdocstrings`. This change was
33+
made due to the lack of updates from `portray`. The new setup allows for more flexibility and
34+
control over the documentation, and provides a more stable and future-proof solution.
35+
- Reference documentation is yet to be cleaned up and updated to the new format.
36+
37+
38+
- **Started writing general documentation**
39+
40+
- The documentation has been updated with a new section on Python typing, describing a historical
41+
and conceptual background for Omnipy's new take on typing in Python. The description starts with
42+
the traditional `duck typing` of Python, moved through `type
43+
annotations` for static analysis and `pydantic` take on making use of type annotation for runtime
44+
validation. The section ends with a description of how `Omnipy` extends the functionality of
45+
`pydantic` to provide the safety and predictability of static typing functionality within the
46+
context of the flexible type dynamics possible in Python.
47+
- Added general section describing the `Model` class, and how it is used to define data models as
48+
parsers in Omnipy, as well as snapshots, automatic rollback, functional mimicking, and other
49+
features of the `Model` class.
50+
51+
52+
- **Other new features / bug fixes / refactorings**
53+
- Allow Dataset.load() of urls with specified keys
54+
- Added TsvTableModel, TsvTableDataset, CsvTableModel, and CsvTableDataset
55+
- Fixed inheritance of Params classes for a few join/split Models in the `raw` module
56+
- Fixed a number of issues with the CI workflows:
57+
- Fixed test code that caused crashes in Python particular Python versions.
58+
- Fix for strange time formatting issue in the Python 3.11 VM
59+
- Decreased `run_time_min` for `test_rate_limiting_client_session` due to new and more efficient
60+
version of `aiolimiter`
61+
- Updated pre-commit tools.
62+
- Removed parallel run of yapf checks to fix strange issue with `yapf` and `pickle`
63+
164
## Omnipy v0.17.2
265

366
_Release date: Nov 9, 2024_

0 commit comments

Comments
 (0)