This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
# Data Models Django

[![Circle CI](https://circleci.com/gh/chop-dbhi/data-models-django/tree/master.svg?style=svg)](https://circleci.com/gh/chop-dbhi/data-models-django/tree/master) [![Coverage Status](https://coveralls.io/repos/chop-dbhi/data-models-django/badge.svg?branch=master&service=github)](https://coveralls.io/github/chop-dbhi/data-models-django?branch=master)

Django model generator for [chop-dbhi/data-models-service](https://data-model-service.research.chop.edu) style JSON metadata.

## Installation

If you're not using a Python virtual environment, please do. I prefer [pyenv](https://github.com/yyuu/pyenv) with [pyenv-virtualenv](https://github.com/yyuu/pyenv-virtualenv)

Get the most recent stable version:

```
pip install dmdj
```

Or build and install the (unstable) `HEAD` version:

```
git clone https://github.com/chop-dbhi/data-models-django.git
cd data-models-django
make install
```

## Usage

Place the following in your app's `models.py` file:

```python
import requests
from django.db import models
from dmdj.settings import get_url
from dmdj.makers import make_model

model_url = get_url('pednet', '2.1.0')
model_json = requests.get(model_url).json()

for model in make_model(model_json, (models.Model,), module='yourapp.models',
app_label='yourapp')
globals()[model.__name__] = model
```

This code causes a single web request at runtime, which may slow down your app's startup. Also, the models are dynamically generated and so may change over time, although efforts to improve the semantic versioning and stability practices in the data-models repo are under way.

## Development

### Installation

Install the development requirements and the package in "editable" mode.

```
git clone https://github.com/chop-dbhi/data-models-django.git
cd data-models-django
make devinstall
```

### Testing

Tests are run on the source code using `tox` to replicate them across the range of compatible `Django` and `Python` versions, for the `Python` versions you have available in your environment. I like to create a `dmdj` virtual environment from `3.5.x` and then use `pyenv local dmdj 3.4.x 2.7.x`

```
make test
```

### Coverage

Generate test coverage information that prints in the terminal and creates HTML and XML format files.

```
make coverage
```

## Deployment

These tasks are routinely handled by the CI/CD workflow, but I'll document them here anyway.

### Coveralls

Publish test coverage information to coveralls (the project must be registered and the token must be in the `COVERALLS_REPO_TOKEN` env var).

```
make coveralls
```

### Release

Release a new final version by pushing a new tag to GitHub and uploading the dist files to PyPi (the project must be registered at PyPi and you must have PyPi credentials available or in the `PYPI_USER` and `PYPI_PASS` env vars).

```
make release
```


Release History

Release History

0.4.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
dmdj-0.4.2-py2.py3-none-any.whl (10.8 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Sep 1, 2016
dmdj-0.4.2.tar.gz (6.2 kB) Copy SHA256 Checksum SHA256 Source Sep 1, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting