pyflunearyou

A clean, well-tested Python3 API for Flu Near You


License
MIT
Install
pip install pyflunearyou==2021.10.0

Documentation

🤒 pyflunearyou: A Python3 API for Flu Near You

CI PyPi Version License Code Coverage Maintainability Say Thanks

pyflunearyou is a simple Python library for retrieving UV-related information from Flu Near You.

Installation

pip install pyflunearyou

Python Versions

pyflunearyou is currently supported on:

  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10

Usage

import asyncio

from aiohttp import ClientSession

from pyflunearyou import Client


async def main() -> None:
    """Run!"""
    client = Client()

    # Get user data for a specific latitude/longitude:
    await client.user_reports.status_by_coordinates(<LATITUDE>, <LONGITUDE>)

    # Get user data for a specific ZIP code:
    await client.user_reports.status_by_zip("<ZIP_CODE>")

    # Get CDC data for a specific latitude/longitude:
    await client.cdc_reports.status_by_coordinates(<LATITUDE>, <LONGITUDE>)

    # Get CDC data for a specific state:
    await client.cdc_reports.status_by_state('<USA_CANADA_STATE_NAME>')

asyncio.run(main())

By default, the library creates a new connection to Flu Near You with each coroutine. If you are calling a large number of coroutines (or merely want to squeeze out every second of runtime savings possible), an aiohttp ClientSession can be used for connection pooling:

import asyncio

from aiohttp import ClientSession

from pyflunearyou import Client


async def main() -> None:
    """Run!"""
    async with ClientSession() as session:
        client = Client(session=session)

        # ...

asyncio.run(main())

Contributing

  1. Check for open features/bugs or initiate a discussion on one.
  2. Fork the repository.
  3. (optional, but highly recommended) Create a virtual environment: python3 -m venv .venv
  4. (optional, but highly recommended) Enter the virtual environment: source ./.venv/bin/activate
  5. Install the dev environment: script/setup
  6. Code your new feature or bug fix.
  7. Write tests that cover your new functionality.
  8. Run tests and ensure 100% code coverage: script/test
  9. Update README.md with any new documentation.
  10. Add yourself to AUTHORS.md.
  11. Submit a pull request!