Piccolo

Latest version: v1.12.0

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

Scan your dependencies

Page 25 of 50

0.38.2

Not secure
------
Removed problematic type hint which assumed pytest was installed.

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

0.38.1

Not secure
------
Minor changes to ``get_or_create`` to make sure it handles joins correctly.

.. code-block:: python

instance = (
Band.objects()
.get_or_create(
(Band.name == "My new band")
& (Band.manager.name == "Excellent manager")
)
.run_sync()
)

In this situation, there are two columns called ``name`` - we need to make sure
the correct value is applied if the row doesn't exist.

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

0.38.0

Not secure
------

Fixed a bug with ``TableConfig`` and ``exclude_visible_columns``. Thanks to
web-maker for this fix.

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

0.37.0

Not secure
------

* Python 3.11 is now officially supported.
* Added debug mode: ``create_admin(tables=[MyTable], debug=True)``.
* Logging exceptions for 500 errors.
* Fixed a typo in the docs about how to use validators (thanks to sinisaos for
reporting this).
* Updated the tests for Starlette / FastAPI's new test client. This means that
``fastapi==0.87.0`` / ``starlette==0.21.0`` are now the minimum versions
supported. Thanks to sinisaos for this.

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

0.36.0

Not secure
------

Lots of small enhancements.

* Fixed bugs with the foreign key selector. Sometimes the edit button didn't
work. Also, sometimes the value shown in the input box wasn't refreshing when
navigating to a new page.
* The HTML title now matches the ``site_name`` parameter in ``create_admin``
(thanks to sinisaos for this).
* Updated Vue to the latest version.
* Internal code refactoring.

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

0.35.0

Not secure
------

``Validators`` can now be specified in ``TableConfig``.

This allows fine grained access control - for example, only allowing some users
to send ``POST`` requests to certain API endpoints:

.. code-block:: python

from piccolo_api.crud.endpoints import PiccoloCRUD
from starlette.exceptions import HTTPException
from starlette.requests import Request


async def manager_only(
piccolo_crud: PiccoloCRUD,
request: Request
):
The Piccolo `BaseUser` can be accessed from the request.
user = request.user.user

Assuming we have another database table where we record
users with certain permissions.
manager = await Manager.exists().where(manager.user == user)

if not manager:
Raise a Starlette exception if we want to reject the
request.
raise HTTPException(
status_code=403,
detail="Only managers are allowed to do this"
)


admin = create_admin(
tables=TableConfig(
Movie,
validators=Validators(post_single=[manager_only])
)
)

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

Page 25 of 50

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.