Skip to main content

A Django ORM interface to operate with PyOWM domain entities

Project description

# Django PyOWM

A Django ORM interface for PyOWM domain entities


## Requirements

- Django 1.10+
- PyOWM 2.5+

Python 2.7 is supported.


** Please notice that the API can be unstable as this project is still in beta testing **

## Install

Install the library with `pip`:

```shell
$ pip install django_pyowm
```

Then add `django_pyowm` to the `INSTALLED_APPS` list into your Django project's `settings.py` file:

```python
INSTALLED_APPS = [
...
'django_pyowm' # <---
]
```

Finally generate tables by applying migrations:

```shell
$ python manage.py makemigrations django_pyowm
$ python manage.py migrate
```


## Features
Models behave as all other Django models but they have a few useful
functions:

- `<Model_class>.from_entity(entity)` - creates a PyOWM model instance
from the corresponding PyOWM domain object instance
- `<Model_instance>.to_entity(entity)` - turns the model instance to
the corresponding PyOWM domain object instance
- `<Model_class>.save_all()` - persists the model instance along with all related objects

## Quick usage examples

```python
from pyowm import OWM
from django_pyowm import models


# Get data an Observation from the API
owm = OWM(API_key='my_key')
obs = owm.weather_at_place('London,UK')

# Create a model instance from API response
m = models.Observation.from_entity(obs)

# Save related objects and then the model itself
m.location.save()
m.weather.save()
m.save()

# .. or save everything in one shot
m.save_all()

# From model instance to entity
original_obs = m.to_entity()
```

## Testing
All details about testing are [here](https://github.com/csparpa/django-pyowm/wiki/Testing)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_pyowm-0.2.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

django_pyowm-0.2.0-py2.7.egg (21.8 kB view details)

Uploaded Source

File details

Details for the file django_pyowm-0.2.0.tar.gz.

File metadata

File hashes

Hashes for django_pyowm-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d5ca9bc64a98307fc1a1e4c49cf375d9e487aaa9ab6a9d8436fa30ddd2c315cc
MD5 766154b22ecd3599cb766bacd525bf9c
BLAKE2b-256 16de8663a13d0b7052f9e52608892a693abb41619070372b01e2a0b6f8c25ad3

See more details on using hashes here.

File details

Details for the file django_pyowm-0.2.0-py2.7.egg.

File metadata

File hashes

Hashes for django_pyowm-0.2.0-py2.7.egg
Algorithm Hash digest
SHA256 5b2715448a2e345ac8fa4def727fa772a383adddf5bc8f50639c38fb03253de9
MD5 36d337889feb730f47b50055971ce793
BLAKE2b-256 6fec937099134bb9bf5bb207d08c09460c7e69da2a24398ec711db98c333c1d3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page