semvec/pypi-packages huggingface dataset:
fileupload 0.1.5
IPython file upload widget
License: MIT
Keywords: file

IPython File Upload
===================

.. image:: https://img.shields.io/pypi/v/fileupload.svg
    :target: https://pypi.python.org/pypi/fileupload/
    :alt: Latest Version

.. image:: https://img.shields.io/pypi/dm/fileupload.svg
    :target: https://pypi.python.org/pypi/fileupload/
    :alt: Downloads

An IPython notebook widget to upload files, using FileReader_.

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

Install using pip::

    pip install fileupload

Install JavaScript::

    jupyter nbextension install [--user] --py fileupload

Enable the extension::

    jupyter nbextension enable [--user] --py fileupload

Usage
-----

.. code-block:: python

    import io
    from IPython.display import display
    import fileupload

    def _upload():

        _upload_widget = fileupload.FileUploadWidget()

        def _cb(change):
            decoded = io.StringIO(change['owner'].data.decode('utf-8'))
            filename = change['owner'].filename
            print('Uploaded `{}` ({:.2f} kB)'.format(
                filename, len(decoded.read()) / 2 **10))

        _upload_widget.observe(_cb, names='data')
        display(_upload_widget)

    _upload()


Base64 data is synced to the ``data_base64``  member, decoded data can be
obtained from ``data``.
The name of the uploaded file is stored in ``filename``.

Changelog
---------

Refer to Changelog_.

.. _FileReader: https://developer.mozilla.org/en-US/docs/Web/API/FileReader
.. _Changelog: ./ChangeLog
django-db-constraints 0.3.0
Add database table-level constraints to your Django model's Meta
License: MIT

# django-db-constraints

## What is this?

Add database table-level constraints to your Django model's Meta class and have `makemigrations` add the appropriate migration.

```python
class Foo(models.Model):
    bar = models.IntegerField()
    baz = models.IntegerField()

    class Meta:
        db_constraints = {
            'bar_equal_baz': 'check (bar = baz)',
        }
```

This should generate a migration like so:

```python
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Foo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('bar', models.IntegerField()),
                ('baz', models.IntegerField()),
            ],
        ),
        django_db_constraints.operations.AlterConstraints(
            name='Foo',
            db_constraints={'bar_equal_baz': 'check (bar = baz)'},
        ),
    ]
```

The resulting SQL applied:

```sql
CREATE TABLE "sample_foo" ("id" serial NOT NULL PRIMARY KEY, "bar" integer NOT NULL, "baz" integer NOT NULL)
ALTER TABLE "sample_foo" ADD CONSTRAINT "bar_equal_baz" check (bar = baz)
```

## Composite foreign keys

It's possible to support composite foreign keys if you have a unique key on your reference model:

([Why are composite foreign keys useful?](https://github.com/rapilabs/blog/blob/master/articles/same-parent-db-pattern.md))

```python
class Bar(models.Model):
    baz = models.IntegerField()

    class Meta:
        unique_together = ('id', 'baz')


class Foo(models.Model):
    bar = models.ForeignKey(Bar)
    baz = models.IntegerField()

    class Meta:
        db_constraints = {
            'composite_fk': 'foreign key (bar_id, baz) references sample_bar (id, baz)',
        }
```

Results in:

```sql
ALTER TABLE "sample_foo" ADD CONSTRAINT "composite_fk" foreign key (bar_id, baz) references sample_bar (id, baz)
```

## Migration operation ordering

Given that nothing will depend on a constraint operation, they're simply added to the end of the list of operations
for a migration.  This includes operations that drop fields used in a constraint as the database drop will any related
constraints as well (at least with PostgreSQL).

## Caveats

It's possible to end up in a situation where the constraints are declared on the Meta class but do not exist in the database
due to a database dropping a constraint implicitly when a field in the constraint is dropped.

## Installation

```
pip install django-db-constraints
```

in your settings.py:

```python
INSTALLED_APPS = [
    'django_db_constraints',
    …
]
```