semvec/pypi-packages huggingface dataset:
django-softdelete 0.7.0
Soft delete support for Django ORM, with undelete.
License: BSD

django-softdelete

Soft delete for Django ORM, with support for undelete.

This project provides undelete of soft-deleted objects, along with proper undeletion of related objects.

Inspired by http://codespatter.com/2009/07/01/django-model-manager-soft-delete-how-to-customize-admin/

Requirements
============

* Django 1.7
* django.contrib.contenttypes

Configuration
=============

There are simple templates files in `templates/`.  You will need to add Django's
egg loader to use the templates as is:

    TEMPLATE_LOADERS = (
    ...
        'django.template.loaders.eggs.Loader',
    )

Add the project `softdelete` to your `INSTALLED_APPS` for 
through-the-web undelete support.

    INSTALLED_APPS = (
    ...
        'django.contrib.contenttypes',
        'softdelete',
    )

How It Works
============

Central to the ability to undelete a soft-deleted model is the concept of changesets.  When you
soft-delete an object, any objects referencing it via a ForeignKey, ManyToManyField, or OneToOneField will
also be soft-deleted.  This mimics the traditional CASCADE behavior of a SQL DELETE.

When the soft-delete is performed, the system makes a ChangeSet object which tracks all affected objects of
this delete request.  Later, when an undelete is requested, this ChangeSet is referenced to do a cascading 
undelete.

If you are undeleting an object that was part of a ChangeSet, that entire ChangeSet is undeleted.  

Once undeleted, the ChangeSet object is removed from the underlying database with a regular ("hard") delete.

Testing
=======

Can be tested directly with the following command:

    django-admin.py test softdelete --settings="softdelete.settings"
pomp 0.2.1
Screen scraping and web crawling framework
License: BSD

Pomp
====

Pomp is a screen scraping and web crawling framework. Pomp is inspired by and
similar to `Scrapy`_, but has a simpler implementation that lacks the hard
`Twisted`_ dependency.

Features:

* Pure python
* Only one dependency for Python 2.x - `concurrent.futures`_ (backport of
  package for Python 2.x)
* Supports one file applications; Pomps doesn't force a specific project layout
  or other restrictions.
* Pomp is a meta framework like `Paste`_: you may use it to create your own
  scraping framework.
* Extensible networking: you may use any sync or async method.
* No parsing libraries in the core; use you preferred approach.
* Pomp instances may be distributed and are designed to work with an external
  queue.

Pomp makes no attempt to accomodate:

* redirects
* proxies
* caching
* database integration
* cookies
* authentication
* etc.

If you want proxies, redirects, or similar, you may use the excellent
`requests`_ library as the Pomp downloader.

`Pomp examples`_

`Pomp docs`_

Continuous integration status by drone.io:

.. image:: https://drone.io/bitbucket.org/estin/pomp/status.png
    :target: https://drone.io/bitbucket.org/estin/pomp/latest
    :alt: Latest CI test

.. image:: https://codecov.io/bitbucket/estin/pomp/coverage.png?branch=default
    :target: https://codecov.io/bitbucket/estin/pomp?branch=default
    :alt: codecov


PyPI status:

.. image:: https://img.shields.io/pypi/v/pomp.png
    :target: https://pypi.python.org/pypi/pomp/
    :alt: Latest PyPI version

.. image:: https://img.shields.io/pypi/dm/pomp.png
    :target: https://pypi.python.org/pypi/pomp/
    :alt: Number of PyPI downloads

.. image:: https://img.shields.io/pypi/wheel/pomp.png
    :target: https://pypi.python.org/pypi/pomp/
    :alt: Have wheel

.. image:: https://img.shields.io/pypi/l/pomp.png
    :target: https://pypi.python.org/pypi/pomp/
    :alt: License

Docs status:

.. image:: https://readthedocs.org/projects/pomp/badge/?version=latest
    :target: https://readthedocs.org/projects/pomp/?badge=latest
    :alt: Documentation Status

Pomp is written and maintained by Evgeniy Tatarkin and is licensed under the
BSD license.

.. _Scrapy: http://scrapy.org/
.. _Twisted: http://twistedmatrix.com/
.. _concurrent.futures: http://pythonhosted.org/futures/
.. _Pomp examples:
   https://bitbucket.org/estin/pomp/src/tip/examples?at=default
.. _Pomp docs: http://pomp.readthedocs.org
.. _Paste: http://pythonpaste.org/
.. _requests: http://www.python-requests.org/en/latest/