Dservercore

Latest version: v0.20.2

Safety actively analyzes 665899 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.20.2

--------

Added
^^^^^

- Automated github release
- Zenodo integration
- Trusted publishing on PyPI

0.20.1

--------

Changed
^^^^^^^

- Changed URLs from ``livMatS`` prefix to ``jic-dtool`` prefix.

0.20.0

--------

Changed
^^^^^^^

- Renamed from ``dtool-lookup-server`` to ``dservercore``

0.19.0

---------------------

Added
^^^^^

- Sorting mechanism in analogy to ``flask_smorest``'s Pagination mechanism
- Deletion, put, and patch routes
- ``/tags`` tag retrieval route

Changed
^^^^^^^

- All routes refactored to adhere to a few simple REST API conventions from "Mark Masse, REST API Design Rulebook, O'Reilly Media, Inc., 2011", namely
- Forward slash separator indicates hierarchical relationship,
and URI path conveys the REST API's resource model,
e.g. ``/users/test-user``, ``/base-uris/smb/test-share``, ``/uris/s3/test-bucket/aad1c62b-b184-422b-841e-ac68eda26fe7``
- Hyphens used to improve readability and underscores avoided in URIs,
e.g. ``/base-uris`` instead of ``/base_uris``
- Plural nouns are used for collections, e.g. ``/users``, ``/base-uris``
- Singular nouns are used for specific documents, e.g. ``/users/test-user/summary``
- Query component of a URI used to filter collections, e.g. ``/uris?creator_usernames=test-user&free_text=apple``
- Query component of URI used to paginate and sort collections , e.g. ``/users?page=2&page_size=5&sort=is_admin,-username``
- use HTTP methods GET, PUT, DELETE for managing resources in the sense of https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods:
- GET retrieves a resource, e.g. GET ``/users/test-user``
- PUT registers a resource or replaces an existing resource and behaves idempotent,
e.g. PUT ``/users/test-user`` will create the user ``test-user`` or replace them if already existing
- DELETE removes a resource from dserver
- use HTTP response codes to transparently indicate errors in the sense of https://developer.mozilla.org/en-US/docs/Web/HTTP/Status, e.g.
- 200 OK, Request succeeded, e.g. used by
- GET to indicate the resource has been fetched and transmitted,
- PUT to indicate an existing resource has been updated successfully,
- DELETE to indicate successful removal of a resource
- 201 Created, The request succeeded, and a new resource was created as a result,
e.g. used by PUT if the resource had not existed before the request and has been newly created
- 400 Bad Request, e.g. a dataset to be registered is not valid.
- 401 Unauthorized, semantically this response means "unauthenticated",
e.g. user needs to authenticate to access the resource.
- 403 Forbidden, client does not have access rights to the content,
e.g. user is authenticated and known to the server, but lacks admin rights to access the specified resource
- 404 Not Found, server cannot find the requested resource,
e.g. user is authenticated and has permissions to search a specific base URI, but no dataset entry exists for the requested URI

Deprecated
^^^^^^^^^^


Removed
^^^^^^^


Fixed
^^^^^


Security
^^^^^^^^

0.18.0

---------------------


Added
^^^^^

- Integrated openapi
- Pagination for all listing endpoints
- Defined schemas for endpoint arguments
- Missing and improved docstrings for endpoints
- Replaces get_json() uses for the use of request's arguments
- Flask CLI commands for inspecting app configuration
- ``/config/versions`` route
- Entrypoints ``extensions``, ``search``, ``retrieve`` for plugins
- Abstract base classes for plugins
- Plugins provied a metho ``get_config_secrets_to_obfuscate`` that tells the core app which configuration parameters are not to be reported clear text
- Sample ``wsgi.py`` script for wrapping Flask app and dumping all HTTP requests and responses

Changed
^^^^^^^

- The frozen_at and created_at fields for /dataset/register endpoint are string representation of the floating point
value. Previously the application was permissive and accepted any integer, float or string type. The type sanitation
shall happen in the API client.
- When registering a dataset the readme should now be provided as a string
(text) rather than as a dictionary of key value entries
- The ``/config/info`` route now provides a dump of the actual Flask app config
- Expose ``X-Pagination`` headers per default.


Removed
^^^^^^^

- ``plugins`` entrypoint

0.17.2

---------------------

Fixed
^^^^^

- Made code compatible with flask-jwt-extended version 4 API
https://github.com/jic-dtool/dservercore/issues/19
- Resolve SQLAlchemy warnings about conflicting relationships
https://github.com/jic-dtool/dservercore/issues/20
- Resolve SQLAlchemy warning about cartesian product

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.