Skip to main content
# 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)

Metadata

Release files for django-pyowm 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-pyowm 0.2.0
File Size Uploaded
django_pyowm-0.2.0.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-pyowm 0.2.0
File Interpreter ABI Platform
django_pyowm-0.2.0-py2.7.egg Legacy Egg format - - Details

Total release size: 31.2 kB

Release files / django_pyowm-0.2.0.tar.gz

Download URL django_pyowm-0.2.0.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d5ca9bc64a98307fc1a1e4c49cf375d9e487aaa9ab6a9d8436fa30ddd2c315cc
BLAKE2b-256 checksum
How to use checksums
16de8663a13d0b7052f9e52608892a693abb41619070372b01e2a0b6f8c25ad3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / django_pyowm-0.2.0-py2.7.egg

Download URL django_pyowm-0.2.0-py2.7.egg
Size 21.8 kB
Tags Egg
SHA-256 checksum
How to use checksums
5b2715448a2e345ac8fa4def727fa772a383adddf5bc8f50639c38fb03253de9
BLAKE2b-256 checksum
How to use checksums
6fec937099134bb9bf5bb207d08c09460c7e69da2a24398ec711db98c333c1d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page