semvec/pypi-packages huggingface dataset:
encrypted-json-field 1.1.4
Encrypted JSON field supports automatic encryption/ decryption of JSON fields with padding to conceal start and end of value.
Requires Python: >=3.8

# Encrypted JSON Field

Encrypted JSON field supports automatic encryption/ decryption of JSON fields with padding to conceal start and end of value.

## Setup

Nothing really to setup, just import the field and get to work.
You could, however, setup an optional variable in your django settings named `ENCRYPTED_JSON_FIELD_SECRET` (It should be 16 chars minimum) which will be used to encrypt/ decrypt
the data of your fields. The default behaviour uses the first 16 characters of `SECRET_KEY` (Block size).

### Example:

```py
from encrypted_json_field import EncryptedJSONField
from django.db import models


class Company(models.Model):
    name = models.CharField(max_length=32)
    config = EncryptedJSONField(blank=True)

```

### Support
This supports Python >= 3.8 and Django >= 4.2.
If you need to support other versions, please create an issue.
aiodiskqueue 0.1.2
Persistent queue for Python AsyncIO.
Requires Python: >=3.8

============
aiodiskqueue
============

Persistent queue for Python AsyncIO.

|release| |python| |tests| |codecov| |docs| |pre-commit| |Code style: black|

Description
-----------

This library provides a persistent FIFO queue for Python AsyncIO:

- Queue content persist a process restart
- Feature parity with Python's `asyncio.Queue <https://docs.python.org/3/library/asyncio-queue.html#queue>`_
- Similar API to Python's `asyncio.Queue <https://docs.python.org/3/library/asyncio-queue.html#queue>`_
- Sane logging
- Type hints
- Fully tested
- Supports different storage engines and can be extended with custom storage engines

Usage
-----

Here is a basic example on how to use the queue:

.. code:: python

    import asyncio
    from aiodiskqueue import Queue

    async def main():
        q = await Queue.create("example_queue.sqlite")
        await q.put("some item")
        item = await q.get()
        print(item)

    asyncio.run(main())

Please see the **examples** folder for more usage examples.

Installation
------------

You can install this library directly from PyPI with the following command:

.. code:: shell

    pip install aiodiskqueue


Logging
-------

The name of the logger for all logging by this library is: ``aiodiskqueue``.

Storage Engines
---------------

aiodiskqueue support different storage engines. The default engine is `DbmEngine`.

We measured the throughput for a typical load scenario (5 producers, 1 consumer) with each storage engine:

.. image:: https://imgpile.com/images/9luzXk.png
  :width: 800
  :alt: Measurements

* `DbmEngine`: Consistent throughput at low and high volumes and about 3 x faster then Sqlite
* `PickledList`: Very fast at low volumes, but does not scale well
* `SqliteEngine`: Consistent throughput at low and high volumes. Relatively slow.

The scripts for running the measurements and generating this chart can be found in the measurements folder.


.. |release| image:: https://img.shields.io/pypi/v/aiodiskqueue?label=release
   :target: https://pypi.org/project/aiodiskqueue/

.. |python| image:: https://img.shields.io/pypi/pyversions/aiodiskqueue
   :target: https://pypi.org/project/aiodiskqueue/

.. |tests| image:: https://github.com/ErikKalkoken/aiodiskqueue/actions/workflows/main.yml/badge.svg
   :target: https://github.com/ErikKalkoken/aiodiskqueue/actions

.. |codecov| image:: https://codecov.io/gh/ErikKalkoken/aiodiskqueue/branch/main/graph/badge.svg?token=V43h7hl1Te
   :target: https://codecov.io/gh/ErikKalkoken/aiodiskqueue

.. |docs| image:: https://readthedocs.org/projects/aiodiskqueue/badge/?version=latest
   :target: https://aiodiskqueue.readthedocs.io/en/latest/?badge=latest

.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
   :target: https://github.com/pre-commit/pre-commit

.. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black