Socket
Book a DemoInstallSign in
Socket

django-tqdm

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-tqdm

Fast, Extensible Progress Meter (tqdm) For Django

Source
pipPyPI
Version
1.3.1
Maintainers
1

django-tqdm

|PyPI-Status| |PyPI-Versions| |LICENSE| |Tests| |Codecov| |Requirements| |Downloads|

Fast, Extensible Progress Meter (tqdm) For Django.

| Use tqdm_ in Django_ management commands seamlessly. | It provides simple universal commands for Django management command to output text using standard command functions and tqdm. | Only currently supported versions of Django and Python are supported.

Usage

.. code:: python

from django_tqdm import BaseCommand
from time import sleep

class Command(BaseCommand):
    def handle(self, *args, **options):
        # Output directly
        self.error("Error")
        self.info("Info")

        # Output through tqdm
        t = self.tqdm(total=50)
        for x in range(50):
            sleep(0.03)
            t.update(1)

            if x == 10:
                t.info("X = 10")
            if x == 20:
                t.error("X = 20")

Advanced:

.. code:: python

info(text, ending="\n", fatal=False)
error(text, ending="\n", fatal=False)
write(text, ending="\n", fatal=False, error=False)

If you set fatal to True it will terminate the command after printing the message.

For documentation on tqdm see tqdm_.

Comparison

In django-tqdm:

.. code:: python

self.info("info")
self.error("error")

In vanilla Django:

.. code:: python

self.stdout.write("info")
self.stderr.write("error")

Demos

Demo 1 - Simple usage

.. code:: python

self.info("info")
self.error("error")

|Demo1|

Demo 2 - tqdm usage

.. code:: python

t = self.tqdm(total=50)
for x in range(50):
    sleep(0.02)
    t.update(1)
    if x == 10:
        t.info("info")
    if x == 40:
        t.error("error")

|Demo2|

Demo 3 - Vanilla tqdm with default settings for comparison

.. code:: python

t = tqdm(total=50)
for x in range(50):
    sleep(0.02)
    t.update(1)
    if x == 25:
        t.write("info")
    if x == 40:
        t.write("error", file=sys.stderr)

|Demo3|

Developer documentation

Read developer documentation_.

.. |Demo1| image:: https://asciinema.org/a/117133.png :target: https://asciinema.org/a/117133

.. |Demo2| image:: https://asciinema.org/a/117136.png :target: https://asciinema.org/a/117136

.. |Demo3| image:: https://asciinema.org/a/117137.png :target: https://asciinema.org/a/117137

.. |PyPI-Status| image:: https://img.shields.io/pypi/v/django-tqdm.svg :target: https://pypi.python.org/pypi/django-tqdm

.. |PyPI-Versions| image:: https://img.shields.io/pypi/pyversions/django-tqdm.svg :target: https://pypi.python.org/pypi/django-tqdm

.. |LICENSE| image:: https://img.shields.io/pypi/l/django-tqdm.svg :target: https://raw.githubusercontent.com/desecho/django-tqdm/master/LICENSE

.. |Tests| image:: https://github.com/desecho/django-tqdm/actions/workflows/test.yaml/badge.svg?branch=master :target: https://github.com/desecho/django-tqdm/actions/workflows/test.yaml

.. |Codecov| image:: https://codecov.io/gh/desecho/django-tqdm/branch/master/graph/badge.svg :target: https://codecov.io/gh/desecho/django-tqdm

.. |Requirements| image:: https://requires.io/github/desecho/django-tqdm/requirements.svg?branch=master :target: https://requires.io/github/desecho/django-tqdm/requirements/?branch=master :alt: Requirements Status

.. |Downloads| image:: https://pepy.tech/badge/django-tqdm :target: https://pepy.tech/project/django-tqdm :alt: Downloads

.. _tqdm: https://github.com/tqdm/tqdm .. _Django: https://www.djangoproject.com .. _developer documentation: https://github.com/desecho/django-tqdm/blob/master/developer_doc.md

Keywords

progressbar progressmeter progress bar meter rate eta console terminal time

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts