django-genomix 1.1.0
Core library for Nexus django projects
License: MIT
Keywords: django-genomix

=============================
Django GenomiX
=============================

.. image:: https://badge.fury.io/py/django-genomix.svg
    :target: https://badge.fury.io/py/django-genomix

.. image:: https://travis-ci.org/chopdgd/django-genomix.svg?branch=develop
    :target: https://travis-ci.org/chopdgd/django-genomix

.. image:: https://codecov.io/gh/chopdgd/django-genomix/branch/develop/graph/badge.svg
    :target: https://codecov.io/gh/chopdgd/django-genomix

.. image:: https://pyup.io/repos/github/chopdgd/django-genomix/shield.svg
     :target: https://pyup.io/repos/github/chopdgd/django-genomix/
     :alt: Updates

.. image:: https://pyup.io/repos/github/chopdgd/django-genomix/python-3-shield.svg
      :target: https://pyup.io/repos/github/chopdgd/django-genomix/
      :alt: Python 3

Core library for Nexus django projects

Documentation
-------------

The full documentation is at https://django-genomix.readthedocs.io.

Quickstart
----------

Install Django GenomiX::

    pip install django-genomix

Add it to your `INSTALLED_APPS`:

.. code-block:: python

    INSTALLED_APPS = (
        ...
        'genomix',
        ...
    )


Features
--------

1. DisplayChoiceField - display representation values for choice fields in REST APIs.:

.. code-block:: python

    from genomix.fields import DisplayChoiceField
    from rest_framework import serializers

    from . import choices


    class ExampleSerializer(serializers.ModelSerializer):

        status = DisplayChoiceField(choices=choices.STATUS_OPTIONS)

2. UserRelatedField - display username for a REST API with a user relation.:

.. code-block:: python

    from django.contrib.auth import get_user_model

    from genomix.fields import UserRelatedField
    from rest_framework import serializers


    class ExampleSerializer(serializers.ModelSerializer):

        user = UserRelatedField(queryset=get_user_model().objects.all())


3. ContentRelatedField - display ContentType model for a REST API using a generic relation.:

.. code-block:: python

    from django.contrib.auth import get_user_model
    from django.contrib.contenttypes.models import ContentType

    from genomix.fields import ContentRelatedField
    from rest_framework import serializers


    class ExampleSerializer(serializers.ModelSerializer):

        content_type = ContentRelatedField(queryset=ContentType.objects.all())

4. DisplayChoiceFilter - Filter by representation values in a REST API.:

.. code-block:: python

    import django_filters
    from genomix.filters import DisplayChoiceFilter

    from . import choices


    class ExampleFilter(django_filters.rest_framework.FilterSet):

        source = DisplayChoiceFilter(choices=choices.SOURCES)

Running Tests
-------------

Does the code actually work?

::

    source <YOURVIRTUALENV>/bin/activate
    (myenv) $ pip install tox
    (myenv) $ tox

Credits
-------

Tools used in rendering this package:

*  Cookiecutter_
*  `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage




History
-------

0.1.0 (2017-12-02)
++++++++++++++++++

* First release on PyPI.
* TimeStampedLabelModel abstract model class
* UserRelatedField for use in DRF serializers
* DisplayChoiceField for use in DRF serializers
* ContentRelatedField for use in DRF serializers
* DefaultRouter that allows you to extend other routers
* ModelMixinTestCase that allows you to test abstract model classes

0.2.0 (2017-12-31)
++++++++++++++++++

`0.2.0 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.1.0...v0.2.0>`_

* Added utils function to retrieve data from a URL
* Added utils function to retrieve compressed data from a URL

0.3.0 (2018-01-04)
++++++++++++++++++

`0.3.0 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.2.0...v0.3.0>`_

* DisplayChoiceFilter for use in django_filters. Filter by diplay fields for a choice field in a REST API

0.4.0 (2018-01-05)
++++++++++++++++++

`0.4.0 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.3.0...v0.4.0>`_

* Improved docs
* Beta release

0.4.1 (2018-01-09)
++++++++++++++++++

`0.4.1 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.4.0...v0.4.1>`_

* DisplayChoiceFilter fixed coerce method to handle Choices with different display values.

0.5.0 (2018-02-09)
++++++++++++++++++

`0.5.0 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.4.1...v0.5.0>`_

* Updated requirements to the latest.

0.6.0 (2018-04-07)
++++++++++++++++++

`0.6.0 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.5.0...v0.6.0>`_

* Added support for Django 2.0 and Python3.6
* Dropped support for Django <1.11 and Python 2.7, 3.3, 3.4

0.6.1 (2018-04-18)
++++++++++++++++++

`0.6.1 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.0...v0.6.1>`_

* Upgraded 3rd party libs

0.6.2 (2018-05-16)
++++++++++++++++++

`0.6.2 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.1...v0.6.2>`_

* Updated setup.py to read install_requires from requirements.txt

0.6.3 (2018-08-13)
++++++++++++++++++

`0.6.3 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.2...v0.6.3>`_

* Updated 3rd party requirements.  Some requirements had changed so it was causing failures

0.6.4 (2018-10-29)
++++++++++++++++++

`0.6.4 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.3...v0.6.4>`_

* Updated deps and adjusted for new flake8 reqs

0.6.5 (2019-02-07)
++++++++++++++++++

`0.6.5 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.4...v0.6.5>`_

* Updated deps

0.6.6 (2019-04-10)
++++++++++++++++++

`0.6.6 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.5...v0.6.6>`_

* Updated deps
* Updated travis to use xenial distribution.  Django 2.1 dropped support for SQLite < 3.8.3

0.6.7 (2019-05-30)
++++++++++++++++++

`0.6.7 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.6...v0.6.7>`_

* Updated deps

0.6.8 (2019-07-26)
++++++++++++++++++

`0.6.8 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.7...v0.6.8>`_

* Updated deps

0.6.9 (2019-08-09)
++++++++++++++++++

`0.6.9 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.8...v0.6.9>`_

* Updated deps

0.6.10 (2019-09-09)
+++++++++++++++++++

`0.6.10 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.9...v0.6.10>`_

* Updated deps

1.0.0 (2019-11-01)
++++++++++++++++++

`1.0.0 Changelog <https://github.com/chopdgd/django-genomix/compare/v0.6.10...v1.0.0>`_

* Made gene symbol unique
* First release used in production in DGD

1.1.0 (2019-11-26)
++++++++++++++++++

`1.1.0 Changelog <https://github.com/chopdgd/django-genomix/compare/v1.0.0...v1.1.0>`_

* Added disabled update method queryset base class