diff --git a/CHANGES.rst b/CHANGES.rst deleted file mode 100644 index c3b96f0..0000000 --- a/CHANGES.rst +++ /dev/null @@ -1,14 +0,0 @@ -Version 4.0.0 -------------- - -Released 2024-06-21 - -Version 3.1.0 -------------- - -Released 2023-06-11 - -Version 3.0.1 -------------- - -Released 2023-05-03 \ No newline at end of file diff --git a/PUBLISH.md b/PUBLISH.md index 721de53..75c0270 100644 --- a/PUBLISH.md +++ b/PUBLISH.md @@ -4,10 +4,9 @@ **Prerequisite**: Have a dataClay's pypi and testpypi account with owner access. -1. Run `tox` to format and check tests. +1. Run `nox` to format and check tests. 2. Push a new commit `release version ` where you: - Update `dataclay.__version__` from `dataclay.__init__` to `` - - Add `Released YYYY-MM-DD` to `CHANGES.rst` 3. Create and push a new tag: diff --git a/docs/reference/dataclay.exceptions.rst b/docs/reference/dataclay.exceptions.rst new file mode 100644 index 0000000..057a661 --- /dev/null +++ b/docs/reference/dataclay.exceptions.rst @@ -0,0 +1,16 @@ +Exceptions +========== + +General dataClay exceptions +--------------------------- + +.. automodule:: dataclay.exceptions + :members: + :show-inheritance: + +Proxy exceptions +---------------- + +.. automodule:: dataclay.proxy.exceptions + :members: + :show-inheritance: diff --git a/docs/reference/index.rst b/docs/reference/index.rst index 3bd5e51..eb018fa 100644 --- a/docs/reference/index.rst +++ b/docs/reference/index.rst @@ -7,5 +7,6 @@ API Reference dataclay.client dataclay.backend dataclay.metadata + dataclay.exceptions aliendco annotations \ No newline at end of file diff --git a/docs/releasenotes/4-x.rst b/docs/releasenotes/4-x.rst index 8dad2a1..2362c81 100644 --- a/docs/releasenotes/4-x.rst +++ b/docs/releasenotes/4-x.rst @@ -36,3 +36,23 @@ Other changes - Offering a new :doc:`Zenoh bridging mechanism ` (similar to the :doc:`MQTT ` one). - Removed the session and password authentication. This feature will be handled by the proxy going forward. - Added healthcheck mechanisms (at the gRPC level) to monitor the status of the dataClay services. + +4.1 (November 2024) +------------------- + +This minor release brings some bug fixes to the features introduced in 4.0, and also some new features. + +Highlights +~~~~~~~~~~ + +- Official support for Python 3.13. +- Improved granularity and semantic of raised exceptions. The list and description of all the current + exceptions can be found in the :doc:`/reference/dataclay.exceptions` reference page. +- Fixed behavior of the proxy. Now the code works properly in an async configuration. +- More detailed examples and utility functions to support JWT tokens in the proxy side. +- Better defaults for the logging system. +- Improved and expanded documentation for Telemetry. +- Build system is now using `nox `_. +- Support for PyCOMPSs + `constraints `_. + Should work out of the box with dataClay 4.1 and the upcoming COMPSs version. \ No newline at end of file diff --git a/src/dataclay/__init__.py b/src/dataclay/__init__.py index 062dfef..76f0147 100644 --- a/src/dataclay/__init__.py +++ b/src/dataclay/__init__.py @@ -9,5 +9,5 @@ StorageObject = DataClayObject -__version__ = "4.0.1.dev" +__version__ = "4.1.0" __all__ = ["Client", "DataClayObject", "AlienDataClayObject", "activemethod", "StorageObject"] diff --git a/src/dataclay/exceptions.py b/src/dataclay/exceptions.py index 7f13664..a60a5bc 100644 --- a/src/dataclay/exceptions.py +++ b/src/dataclay/exceptions.py @@ -1,17 +1,11 @@ -""" All dataClay exceptions are colected in this file. """ +"""In general, dataClay will prefer to raise the exceptions defined below.""" class DataClayException(Exception): """Base class for exceptions in this module.""" - pass -################## -# NEW EXCEPTIONS # -################## - - ############## # KV Generic # ############## diff --git a/src/dataclay/proxy/exceptions.py b/src/dataclay/proxy/exceptions.py index e5e1361..9c621e6 100644 --- a/src/dataclay/proxy/exceptions.py +++ b/src/dataclay/proxy/exceptions.py @@ -1,2 +1,5 @@ +"""The middleware can throw the exceptions defined below.""" + class MiddlewareException(Exception): + """Exception raised for errors in the middleware.""" status_code = None