Skip to main content

A Python API for info from the City and County of Denver, CO

Project description

📡 pyden: A simple Python API for Denver, CO Data

Travis CI PyPi Version License Code Coverage Maintainability Say Thanks

pyden is a simple library to get data from the city and county of Denver, CO.

PLEASE READ: Version 1.0.0 and Beyond

Version 1.0.0 of pyden makes several breaking, but necessary changes:

  • Moves the underlying library from Requests to aiohttp
  • Changes the entire library to use asyncio
  • Makes 3.6 the minimum version of Python required

If you wish to continue using the previous, synchronous version of pyden, make sure to pin version 0.4.1.

Python Versions

pyden is currently supported on:

  • Python 3.5
  • Python 3.6
  • Python 3.7

However, running the test suite currently requires Python 3.6 or higher; tests run on Python 3.5 will fail.

Installation

 pip install pyden

Usage

pyden starts within an aiohttp ClientSession:

import asyncio

from aiohttp import ClientSession

from pyden import Client


async def main() -> None:
    """Create the aiohttp session and run the example."""
    async with ClientSession() as websession:
      # YOUR CODE HERE


asyncio.get_event_loop().run_until_complete(main())

To create a client, simply:

import asyncio

from aiohttp import ClientSession

from pyden import Client


async def main() -> None:
    """Create the aiohttp session and run the example."""
    async with ClientSession() as websession:
      client = Client(websession)


asyncio.get_event_loop().run_until_complete(main())

Trash Schedule

import asyncio

from aiohttp import ClientSession

from pyden import Client


async def main() -> None:
    """Create the aiohttp session and run the example."""
    async with ClientSession() as websession:
      client = Client(websession)

      # Initialize the trash module:
      await client.trash.init_from_coords(<LAT>, <LON>, "<GOOGLE_API_KEY>")

      # Get the full schedule:
      await client.trash.schedule()

      # ...or get the date of next pickup:
      await client.trash.next_pickup(client.trash.PickupTypes.recycling)


asyncio.get_event_loop().run_until_complete(main())

Contributing

  1. Check for open features/bugs or initiate a discussion on one.
  2. Fork the repository.
  3. Install the dev environment: make init.
  4. Enter the virtual environment: pipenv shell
  5. Code your new feature or bug fix.
  6. Write a test that covers your new functionality.
  7. Run tests and ensure 100% code coverage: make coverage
  8. Add yourself to AUTHORS.md.
  9. Submit a pull request!

Project details


Download files

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

Files for pyden, version 1.0.4
Filename, size File type Python version Upload date Hashes
Filename, size pyden-1.0.4-py3-none-any.whl (5.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pyden-1.0.4.tar.gz (6.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page