diff --git a/README.rst b/README.rst index f170f80..3678c64 100644 --- a/README.rst +++ b/README.rst @@ -68,7 +68,7 @@ Protocol (HTTP) so there is no need to install external ODBC drivers, configure ODBC connections or deal with the security vulnerabilities associated with them. Most functions have a parameter, return_header which by default is set to FALSE. If the user decides to set return_header to TRUE, then that function -will return a python 3 AQS_DATAMART_APIv2 object. An AQS_DATAMART_APIv2 object +will return a python 3 AQSAPI_V2 object. An AQSAPI_V2 object has instance methods for retrieving the data requested, header information, and other metadata related to the API call. After each call to the API a five second stall is invoked to help prevent overloading the Data Mart API server diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 70de0a6..418509b 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree index 030de53..931b44d 100644 Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ diff --git a/docs/_build/doctrees/manual/EPA_Disclaimer.doctree b/docs/_build/doctrees/manual/EPA_Disclaimer.doctree index 77f53b1..2297882 100644 Binary files a/docs/_build/doctrees/manual/EPA_Disclaimer.doctree and b/docs/_build/doctrees/manual/EPA_Disclaimer.doctree differ diff --git a/docs/_build/doctrees/manual/Install_pyaqsapi.doctree b/docs/_build/doctrees/manual/Install_pyaqsapi.doctree index b5b71a1..9a1a295 100644 Binary files a/docs/_build/doctrees/manual/Install_pyaqsapi.doctree and b/docs/_build/doctrees/manual/Install_pyaqsapi.doctree differ diff --git a/docs/_build/doctrees/manual/Introduction.doctree b/docs/_build/doctrees/manual/Introduction.doctree index c47af48..8faefc0 100644 Binary files a/docs/_build/doctrees/manual/Introduction.doctree and b/docs/_build/doctrees/manual/Introduction.doctree differ diff --git a/docs/_build/doctrees/manual/Load_pyaqsapi.doctree b/docs/_build/doctrees/manual/Load_pyaqsapi.doctree index 5bd53e9..991b007 100644 Binary files a/docs/_build/doctrees/manual/Load_pyaqsapi.doctree and b/docs/_build/doctrees/manual/Load_pyaqsapi.doctree differ diff --git a/docs/_build/doctrees/manual/RAQSAPI.doctree b/docs/_build/doctrees/manual/RAQSAPI.doctree index 563a5a7..01f3fee 100644 Binary files a/docs/_build/doctrees/manual/RAQSAPI.doctree and b/docs/_build/doctrees/manual/RAQSAPI.doctree differ diff --git a/docs/_build/doctrees/manual/TimelinessofAQSdata.doctree b/docs/_build/doctrees/manual/TimelinessofAQSdata.doctree index 5fc13fa..8242f91 100644 Binary files a/docs/_build/doctrees/manual/TimelinessofAQSdata.doctree and b/docs/_build/doctrees/manual/TimelinessofAQSdata.doctree differ diff --git a/docs/_build/doctrees/manual/Troubleshooting.doctree b/docs/_build/doctrees/manual/Troubleshooting.doctree new file mode 100644 index 0000000..a492008 Binary files /dev/null and b/docs/_build/doctrees/manual/Troubleshooting.doctree differ diff --git a/docs/_build/doctrees/manual/Using_pyaqsapi.doctree b/docs/_build/doctrees/manual/Using_pyaqsapi.doctree index acceb7f..07a9c49 100644 Binary files a/docs/_build/doctrees/manual/Using_pyaqsapi.doctree and b/docs/_build/doctrees/manual/Using_pyaqsapi.doctree differ diff --git a/docs/_build/doctrees/manual/pyaqsapiFunctions-Brief.doctree b/docs/_build/doctrees/manual/pyaqsapiFunctions-Brief.doctree index 921eb56..e6d99db 100644 Binary files a/docs/_build/doctrees/manual/pyaqsapiFunctions-Brief.doctree and b/docs/_build/doctrees/manual/pyaqsapiFunctions-Brief.doctree differ diff --git a/docs/_build/doctrees/manual/pyaqsapiFunctions-Long.doctree b/docs/_build/doctrees/manual/pyaqsapiFunctions-Long.doctree index 92a60bd..edf2e5f 100644 Binary files a/docs/_build/doctrees/manual/pyaqsapiFunctions-Long.doctree and b/docs/_build/doctrees/manual/pyaqsapiFunctions-Long.doctree differ diff --git a/docs/_build/doctrees/manual/pyaqsapiusagetipsandprecautions.doctree b/docs/_build/doctrees/manual/pyaqsapiusagetipsandprecautions.doctree new file mode 100644 index 0000000..a2a6bfb Binary files /dev/null and b/docs/_build/doctrees/manual/pyaqsapiusagetipsandprecautions.doctree differ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo index 4368c13..7c4ba3b 100644 --- a/docs/_build/html/.buildinfo +++ b/docs/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 76a68937cbe1e6a63755071eed15d2c3 +config: 0abb323b0f8e893bc66a17fa59e0f212 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/_sources/index.rst.txt b/docs/_build/html/_sources/index.rst.txt index 5a0fcb0..14fcd38 100644 --- a/docs/_build/html/_sources/index.rst.txt +++ b/docs/_build/html/_sources/index.rst.txt @@ -1,27 +1,30 @@ .. pyaqsapi documentation master file, created by - sphinx-quickstart on Mon Oct 4 14:40:23 2021. + sphinx-quickstart on Mon Oct 4 14:40:23 2021. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -.. sectionauthor:: Clinton Mccrowey epa.gov> + +.. sectionauthor:: Clinton Mccrowey clinton epa.gov> =========================== pyaqsapi user documentation =========================== .. toctree:: - :maxdepth: 2 - :numbered: - :hidden: + :maxdepth: 2 + :numbered: + :hidden: .. include:: manual/EPA_Disclaimer.rst .. include:: manual/Introduction.rst .. include:: manual/TimelinessofAQSdata.rst -.. include:: manual/RAQSAPI.rst .. include:: manual/Install_pyaqsapi.rst .. include:: manual/Load_pyaqsapi.rst .. include:: manual/Using_pyaqsapi.rst +.. include:: manual/pyaqsapiusagetipsandprecautions.rst .. include:: manual/pyaqsapiFunctions-Long.rst +.. include:: manual/Troubleshooting.rst +.. include:: manual/RAQSAPI.rst pyaqsapi API reference documentation @@ -34,3 +37,10 @@ pyaqsapi index -------------- * :ref:`genindex` + +References +---------- +.. bibliography:: + :style: plain + :list: enumerated + :filter: docname in docnames \ No newline at end of file diff --git a/docs/_build/html/_sources/manual/Introduction.rst.txt b/docs/_build/html/_sources/manual/Introduction.rst.txt index 9de92a8..6e3192b 100644 --- a/docs/_build/html/_sources/manual/Introduction.rst.txt +++ b/docs/_build/html/_sources/manual/Introduction.rst.txt @@ -3,19 +3,19 @@ Introduction The pyaqsapi package for the python 3 programming environment allows a python 3 programming environment to connect to and retrieve data from the United States Environmental Protection Agency’s (US EPA) Air Quality System (AQS) Data Mart -API v2 (Air Quality System)1 interface directly. This package enables the data -user to omit legacy challenges including coercing data from a JSON object to a -usable python 3 object, retrieving multiple years of data, formatting API -requests, retrieving results, handling credentials, requesting multiple -pollutant data and rate limiting data requests. All the basic functionality -of the API have been implemented that are available from the AQS API Data Mart -server. The library connects to AQS Data Mart API via Hypertext Transfer -Protocol (HTTP) so there is no need to install external ODBC drivers, configure -ODBC connections or deal with the security vulnerabilities associated with -them. Most functions have a parameter, return_header which by default is set -to FALSE. If the user decides to set return_header to TRUE, then that function -will return a python 3 AQS_DATAMART_APIv2 object. An AQS_DATAMART_APIv2 object -has instance methods for retrieving the data requested, header information, -and other metadata related to the API call. After each call to the API a five -second stall is invoked to help prevent overloading the Data Mart API server -and to serve as a simple rate limit. +API v2 (Air Quality System) :cite:t:`AQSDataMartWelcome` interface directly. +This package enables the data user to omit legacy challenges including coercing +data from a JSON object to a usable python 3 object, retrieving multiple years +of data, formatting API requests, retrieving results, handling credentials, +requesting multiple pollutant data and rate limiting data requests. +All the basic functionality of the API have been implemented that are available +from the AQS API Data Mart server. The library connects to AQS Data Mart API +via Hypertext Transfer Protocol (HTTP) so there is no need to install external +ODBC drivers, configure ODBC connections or deal with the security +vulnerabilities associated with them. Most functions have a parameter, +return_header which by default is set to FALSE. If the user decides to +set return_header to TRUE, then that function will return a python 3 +AQSAPI_V2 object. An AQSAPI_V2 object has instance methods for retrieving the +data requested, header information, and other metadata related to the API call. +After each call to the API a five second stall is invoked to help prevent +overloading the Data Mart API server and to serve as a simple rate limit. diff --git a/docs/_build/html/_sources/manual/RAQSAPI.rst.txt b/docs/_build/html/_sources/manual/RAQSAPI.rst.txt index d49bb65..41d8abf 100644 --- a/docs/_build/html/_sources/manual/RAQSAPI.rst.txt +++ b/docs/_build/html/_sources/manual/RAQSAPI.rst.txt @@ -2,11 +2,10 @@ About RAQSAPI ============= -pyaqsapi is a port of `RAQSAPI `_ to the +pyaqsapi is a port of :cite:t:`Rpackage:RAQSAPI` to the python 3 programming environment. For anyone that is familiar with RAQSAPI, the pyaqsapi API will feel familiar to you, most of the functions are similar and the parameters sent to each functions are the same. pyaqsapi aims to have feature parity with RAQSAPI and neither project will have features that the other project does not - other than programming language environment or -language preference there is no benefit to using one package over the other. - +language preference there is no benefit to using one package over the other. \ No newline at end of file diff --git a/docs/_build/html/_sources/manual/TimelinessofAQSdata.rst.txt b/docs/_build/html/_sources/manual/TimelinessofAQSdata.rst.txt index 6b76349..03a6666 100644 --- a/docs/_build/html/_sources/manual/TimelinessofAQSdata.rst.txt +++ b/docs/_build/html/_sources/manual/TimelinessofAQSdata.rst.txt @@ -5,6 +5,6 @@ About the timeliness of AQS Data EPA's AQS Datamart API, the service that pyaqsapi retrieves data from, does not host real time (collected now/today) data. If real time data is needed, please -use the AirNow API and direct all questions toward real time data there. RAQSAPI -does not work with AirNow and cannot retrieve real time data. For more details -see section 7.1 of the About AQS Data page. \ No newline at end of file +use the AirNow API and direct all questions toward real time data there. +pyaqsapi does not work with AirNow and cannot retrieve real time data. For more +details see section 7.1 of the About AQS Data page :cite:t:`AboutAQSdata`. \ No newline at end of file diff --git a/docs/_build/html/_sources/manual/Troubleshooting.rst.txt b/docs/_build/html/_sources/manual/Troubleshooting.rst.txt new file mode 100644 index 0000000..6b4e87c --- /dev/null +++ b/docs/_build/html/_sources/manual/Troubleshooting.rst.txt @@ -0,0 +1,9 @@ +.. index:: Troubleshooting + +Troubleshooting +=============== + +Parameters must be supplied exactly as they are specified, for example the +stateFIPS for Alabama is "01", entering a value of "1" for the stateFIPS +may lead to unexpected results. Do not omit leading zeros in parameters that +expect them. \ No newline at end of file diff --git a/docs/_build/html/_sources/manual/Using_pyaqsapi.rst.txt b/docs/_build/html/_sources/manual/Using_pyaqsapi.rst.txt index b384238..fe44152 100644 --- a/docs/_build/html/_sources/manual/Using_pyaqsapi.rst.txt +++ b/docs/_build/html/_sources/manual/Using_pyaqsapi.rst.txt @@ -2,16 +2,17 @@ Using pyaqsapi ============== -For those who are already familiar with using RAQSAPI then the pyaqsapi API -should feel familiar with a few minor differences regarding how the data is -returned. +For those who are already familiar with using :cite:t:`Rpackage:RAQSAPI` +RAQSAPI then the pyaqsapi API should feel familiar with a few minor differences +regarding how the data is returned. -All data is returned using pandas Data Frames. Exported functions from pyaqsapi -have a parameter RETURN_HEADER, by default this parameter is False. When False -these functions simply return the requested data as a pandas Data Frame. If -RETURN_HEADER is manually set to True an AQSAPI_V2 python 3 object is returned. -Use the get_data() class method to retrieve the data, get_header() class -method to retrieve header information. +By default data is returned as a pandas Data Frames :cite:t:`pandas_DataFrame`. +Exported functions from pyaqsapi have a parameter RETURN_HEADER, by default +this parameter is False. When False functions simply return the requested +data as a pandas Data Frame. If RETURN_HEADER is manually set to True a list of +AQSAPI_V2 python 3 objects are returned. Use the get_data() class method to +retrieve the data and the get_header() class method to retrieve header +information. .. index:: sign_up diff --git a/docs/_build/html/_sources/manual/pyaqsapiusagetipsandprecautions.rst.txt b/docs/_build/html/_sources/manual/pyaqsapiusagetipsandprecautions.rst.txt new file mode 100644 index 0000000..0ca0c1f --- /dev/null +++ b/docs/_build/html/_sources/manual/pyaqsapiusagetipsandprecautions.rst.txt @@ -0,0 +1,58 @@ +.. index:: Usage tips and precautions + +Usage tips and precautions +========================== + +This section contains suggestions for completing certain data related tasks. + +* Determine if or how much data exists for a time-parameter-geography + combination: + + * Retrieve data using the annualdata service. + * If no records are returned, we do not have the data. + * If records are returned, use the observation count to determine the + temporal and geographic distribution of the data. + +* Monthly averages: + + * AQS does not routinely calculate monthly aggregate statistics. + * If you need these, you must calculate them yourself. + * These can be calculated from the sample data or the daily data without + loss of fidelity. + +* Determine a single value for a site with collocated monitors: + + * Many sites will have collocated monitors - monitors collecting the same + parameter at the same time. + * The API currently provides only monitor level values. (site-level values + will be added in the future.) + * For some criteria pollutants (PM2.5, ozone, lead, and NO2), the + regulations define procedures for defining a single site-level value. + * For other pollutants, determining a single site-level value is left to + the investigator. + +* **Please adhere to the following when using the AQS Data Mart API**: + + * *Limit the size of queries*. The AQS Data Mart contains billions of + values and you may request more than you intend. If you are unsure of + the amount of data, start small and work your way up. Please limit + queries to 1,000,000 rows of data each. You can use the + "observation count" field on the annualdata service to determine how + much data exists for a time-parameter-geography combination. + * *Limit the frequency of queries*. The AQS Data Mart can process a limited + load. Please wait for one request to complete before submitting another + and do not make more than 10 requests per minute. + * Be advised that RAQSAPI is capable of retrieving results for multiple + pollutants, this can result in the amount of data being returned being + multiplied by the number of pollutants being requested. + * Be advised that the AQS Data Mart API limits certain data requests to + one year of data at a time with the exception of the Monitor service. + In order to retrieve multiple years of data for these functions the + RAQSAPI library conveniently sends multiple API requests to the Data Mart + API server, one request for each year, this can result in the amount of + data being returned being multiplied by the number of years of data being + requested. + +**The AQS Data Mart administrators may disable accounts without notice for +failure to adhere to these terms (Though they will contact the offending +user via the email address provided)** \ No newline at end of file diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html index 0ecaa5a..a740e2a 100644 --- a/docs/_build/html/genindex.html +++ b/docs/_build/html/genindex.html @@ -108,7 +108,7 @@

F

I

@@ -116,7 +116,7 @@

I

L

@@ -124,7 +124,7 @@

L

R

@@ -136,7 +136,7 @@

S

@@ -145,6 +145,10 @@

T

+
@@ -152,7 +156,11 @@

T

U

+
diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html index ced9773..8e40cad 100644 --- a/docs/_build/html/index.html +++ b/docs/_build/html/index.html @@ -49,11 +49,11 @@
  • AQS DataMart Disclaimer
  • Introduction
  • About the timeliness of AQS Data
  • -
  • About RAQSAPI
  • Install pyaqsapi
  • Load pyaqsapi
  • Using pyaqsapi
  • Sign up and setting up user credentials with the pyaqsapi library
  • +
  • Usage tips and precautions
  • Functions Exported by pyaqsapi
  • Variable descriptions and usage
  • pyaqsapi functional families +
  • +
  • Troubleshooting
  • +
  • About RAQSAPI
  • @@ -144,54 +149,44 @@

    Introduction interface directly. +This package enables the data user to omit legacy challenges including coercing +data from a JSON object to a usable python 3 object, retrieving multiple years +of data, formatting API requests, retrieving results, handling credentials, +requesting multiple pollutant data and rate limiting data requests. +All the basic functionality of the API have been implemented that are available +from the AQS API Data Mart server. The library connects to AQS Data Mart API +via Hypertext Transfer Protocol (HTTP) so there is no need to install external +ODBC drivers, configure ODBC connections or deal with the security +vulnerabilities associated with them. Most functions have a parameter, +return_header which by default is set to FALSE. If the user decides to +set return_header to TRUE, then that function will return a python 3 +AQSAPI_V2 object. An AQSAPI_V2 object has instance methods for retrieving the +data requested, header information, and other metadata related to the API call. +After each call to the API a five second stall is invoked to help prevent +overloading the Data Mart API server and to serve as a simple rate limit.

    About the timeliness of AQS Data

    -

    EPA's AQS Datamart API, the service that pyaqsapi retrieves data from, does not +

    EPA’s AQS Datamart API, the service that pyaqsapi retrieves data from, does not host real time (collected now/today) data. If real time data is needed, please -use the AirNow API and direct all questions toward real time data there. RAQSAPI -does not work with AirNow and cannot retrieve real time data. For more details -see section 7.1 of the About AQS Data page.

    -
    -
    -

    About RAQSAPI

    -

    pyaqsapi is a port of RAQSAPI to the -python 3 programming environment. For anyone that is familiar with RAQSAPI, -the pyaqsapi API will feel familiar to you, most of the functions are similar -and the parameters sent to each functions are the same. pyaqsapi aims to have -feature parity with RAQSAPI and neither project will have features that the -other project does not - other than programming language environment or -language preference there is no benefit to using one package over the other.

    +use the AirNow API and direct all questions toward real time data there. +pyaqsapi does not work with AirNow and cannot retrieve real time data. For more +details see section 7.1 of the About AQS Data page .

    -

    Install pyaqsapi

    +

    Install pyaqsapi

    To install pyaqsapi first clone the pyaqsapi repository.

    git clone https://github.com/USEPA/pyaqsapi.git
     
    -

    Next, in the project's root directory use pip to install the proper +

    Next, in the project’s root directory use pip to install the proper dependencies that are required to build and install pyaqsapi.

    pip install -r requirements.txt
     
    -

    While still in the project's root directory use setuptools to build and pip +

    While still in the project’s root directory use setuptools to build and pip to install the package.

    python -m build .
     python -m pip install .
    @@ -199,7 +194,7 @@ 

    Introduction -

    Load pyaqsapi

    +

    Load pyaqsapi

    Like any other python package make sure that you are loading pyaqsapi in the same virtual environment where pyaqsapi was installed. Load pyaqsapi in the same any other python package is loaded.

    @@ -208,19 +203,20 @@

    Introduction -

    Using pyaqsapi

    -

    For those who are already familiar with using RAQSAPI then the pyaqsapi API -should feel familiar with a few minor differences regarding how the data is -returned.

    -

    All data is returned using pandas Data Frames. Exported functions from pyaqsapi -have a parameter RETURN_HEADER, by default this parameter is False. When False -these functions simply return the requested data as a pandas Data Frame. If -RETURN_HEADER is manually set to True an AQSAPI_V2 python 3 object is returned. -Use the get_data() class method to retrieve the data, get_header() class -method to retrieve header information.

    +

    Using pyaqsapi

    +

    For those who are already familiar with using +RAQSAPI then the pyaqsapi API should feel familiar with a few minor differences +regarding how the data is returned.

    +

    By default data is returned as a pandas Data Frames . +Exported functions from pyaqsapi have a parameter RETURN_HEADER, by default +this parameter is False. When False functions simply return the requested +data as a pandas Data Frame. If RETURN_HEADER is manually set to True a list of +AQSAPI_V2 python 3 objects are returned. Use the get_data() class method to +retrieve the data and the get_header() class method to retrieve header +information.

    -

    Sign up and setting up user credentials with the pyaqsapi library

    +

    Sign up and setting up user credentials with the pyaqsapi library

    If you have not already done so you will need to sign up with AQS Data Mart using aqs_sign_up function, this function takes one input, “email,” which is a python 3 character object, that represents the email address that you want @@ -242,7 +238,7 @@

    Introduction +

    Usage tips and precautions

    +

    This section contains suggestions for completing certain data related tasks.

    +
      +
    • Determine if or how much data exists for a time-parameter-geography +combination:

      +
      +
        +
      • Retrieve data using the annualdata service.

      • +
      • If no records are returned, we do not have the data.

      • +
      • If records are returned, use the observation count to determine the +temporal and geographic distribution of the data.

      • +
      +
      +
    • +
    • Monthly averages:

      +
      +
        +
      • AQS does not routinely calculate monthly aggregate statistics.

      • +
      • If you need these, you must calculate them yourself.

      • +
      • These can be calculated from the sample data or the daily data without +loss of fidelity.

      • +
      +
      +
    • +
    • Determine a single value for a site with collocated monitors:

      +
      +
        +
      • Many sites will have collocated monitors - monitors collecting the same +parameter at the same time.

      • +
      • The API currently provides only monitor level values. (site-level values +will be added in the future.)

      • +
      • For some criteria pollutants (PM2.5, ozone, lead, and NO2), the +regulations define procedures for defining a single site-level value.

      • +
      • For other pollutants, determining a single site-level value is left to +the investigator.

      • +
      +
      +
    • +
    • Please adhere to the following when using the AQS Data Mart API:

      +
      +
        +
      • +
        Limit the size of queries. The AQS Data Mart contains billions of

        values and you may request more than you intend. If you are unsure of +the amount of data, start small and work your way up. Please limit +queries to 1,000,000 rows of data each. You can use the +“observation count” field on the annualdata service to determine how +much data exists for a time-parameter-geography combination.

        +
        +
        +
      • +
      • +
        Limit the frequency of queries. The AQS Data Mart can process a limited

        load. Please wait for one request to complete before submitting another +and do not make more than 10 requests per minute.

        +
        +
        +
      • +
      • Be advised that RAQSAPI is capable of retrieving results for multiple +pollutants, this can result in the amount of data being returned being +multiplied by the number of pollutants being requested.

      • +
      • Be advised that the AQS Data Mart API limits certain data requests to +one year of data at a time with the exception of the Monitor service. +In order to retrieve multiple years of data for these functions the +RAQSAPI library conveniently sends multiple API requests to the Data Mart +API server, one request for each year, this can result in the amount of +data being returned being multiplied by the number of years of data being +requested.

      • +
      +
      +
    • +
    +

    The AQS Data Mart administrators may disable accounts without notice for +failure to adhere to these terms (Though they will contact the offending +user via the email address provided)

    +

    Functions Exported by pyaqsapi

    The pyaqsapi package includes the following submodules which are not @@ -394,7 +465,7 @@

    Variable descriptions and usage -
    cbdate (optional):

    a date object which represents the "beginning date of last change" that +

    cbdate (optional):

    a date object which represents the “beginning date of last change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which defaults to None.

    @@ -402,7 +473,7 @@

    Variable descriptions and usage -
    cedate (optional):

    a date object which represents the "end date of last change" that indicates +

    cedate (optional):

    a date object which represents the “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This is an optional variable which defaults to None.

    @@ -436,7 +507,7 @@

    Variable descriptions and usage
    email:

    a character object which represents the email account that will be used to -register with the AQS API or change an existing user's key. A verification +register with the AQS API or change an existing user’s key. A verification email will be sent to the account specified.

    @@ -611,7 +682,7 @@

    Data Mart API list functionsaqs_counties_by_state() aqs_counties_by_state takes one parameter, stateFIPS, which is a two digit state FIPS code for the state being requested represented as a @@ -674,8 +745,8 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last -change" that indicates when the data was last updated. +

    cbdate:

    a date object which represents a “beginning date of last +change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which defaults to @@ -684,7 +755,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This @@ -719,7 +790,7 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last change" +

    cbdate:

    a date object which represents a “beginning date of last change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which @@ -728,7 +799,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This @@ -749,8 +820,8 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last -change" that indicates when the data was last updated. cbdate +

    cbdate:

    a date object which represents a “beginning date of last +change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which defaults to None.

    @@ -758,7 +829,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This is an @@ -779,7 +850,7 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last change" that +

    cbdate:

    a date object which represents a “beginning date of last change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which @@ -788,7 +859,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This is an @@ -813,15 +884,15 @@

    Data Mart aggregate functions
    Quality Assurance - Collocated Assessments:

    Quality assurance data - collocated assessments. Collocated assessments are pairs of samples collected by different samplers at the same time -and place. (These are "operational" samplers, assessments with -independently calibrated samplers are called "audits".). Functions using +and place. (These are “operational” samplers, assessments with +independently calibrated samplers are called “audits”.). Functions using this service contain qa_collocated_assessments in the function name.

  • Quality Assurance - Flow Rate Verifications:

    Quality assurance data - flow rate verifications. Several times per year, -each PM monitor must have it's (fixed) flow rate verified by an operator +each PM monitor must have it’s (fixed) flow rate verified by an operator taking a measurement of the flow rate. Functions using this service contain qa_flowrateverification in the function name.

    @@ -829,7 +900,7 @@

    Data Mart aggregate functions
    Quality Assurance - Flow Rate Audits:

    Quality assurance data - flow rate audits. At least twice year, each PM -monitor must have it's flow rate measurement audited by an expert using a +monitor must have it’s flow rate measurement audited by an expert using a different method than is used for flow rate verifications. Functions using this service contain qa_flowrateaudit in the function name.

    @@ -1260,6 +1331,23 @@

    pyaqsapi Miscellaneous functions +

    Troubleshooting

    +

    Parameters must be supplied exactly as they are specified, for example the +stateFIPS for Alabama is “01”, entering a value of “1” for the stateFIPS +may lead to unexpected results. Do not omit leading zeros in parameters that +expect them.

    +

  • +
    +

    About RAQSAPI

    +

    pyaqsapi is a port of to the +python 3 programming environment. For anyone that is familiar with RAQSAPI, +the pyaqsapi API will feel familiar to you, most of the functions are similar +and the parameters sent to each functions are the same. pyaqsapi aims to have +feature parity with RAQSAPI and neither project will have features that the +other project does not - other than programming language environment or +language preference there is no benefit to using one package over the other.

    pyaqsapi API reference documentation

      @@ -1272,6 +1360,17 @@

      pyaqsapi indexIndex

    +
    +

    References

    +
    +
      +
    1. AQS DataMart welcome. Aug 2018. URL: https://aqs.epa.gov/aqsweb/documents/data_mart_welcome.html.

    2. +
    3. About AQS data. May 2019. Version 1.1. URL: https://aqs.epa.gov/aqsweb/documents/about_aqs_data.html.

    4. +
    5. Pandas.Dataframe. January 2024. URL: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html.

    6. +
    7. Clinton Mccrowey. A R extension to retrieve ambient air monitoring data from the United States Environmental Protection Agency’s (US EPA) Air Quality System (AQS) DataMart API V2 interface. 2022. URL: https://github.com/USEPA/RAQSAPI.

    8. +
    +
    +
    diff --git a/docs/_build/html/manual/Install_pyaqsapi.html b/docs/_build/html/manual/Install_pyaqsapi.html index 49c0ad2..91c3633 100644 --- a/docs/_build/html/manual/Install_pyaqsapi.html +++ b/docs/_build/html/manual/Install_pyaqsapi.html @@ -77,13 +77,13 @@
    git clone https://github.com/USEPA/pyaqsapi.git
     
    -

    Next, in the project's root directory use pip to install the proper +

    Next, in the project’s root directory use pip to install the proper dependencies that are required to build and install pyaqsapi.

    pip install -r requirements.txt
     
    -

    While still in the project's root directory use setuptools to build and pip +

    While still in the project’s root directory use setuptools to build and pip to install the package.

    python -m build .
     python -m pip install .
    diff --git a/docs/_build/html/manual/Introduction.html b/docs/_build/html/manual/Introduction.html
    index 197142f..a223bf1 100644
    --- a/docs/_build/html/manual/Introduction.html
    +++ b/docs/_build/html/manual/Introduction.html
    @@ -76,22 +76,22 @@ 

    Introduction interface directly. +This package enables the data user to omit legacy challenges including coercing +data from a JSON object to a usable python 3 object, retrieving multiple years +of data, formatting API requests, retrieving results, handling credentials, +requesting multiple pollutant data and rate limiting data requests. +All the basic functionality of the API have been implemented that are available +from the AQS API Data Mart server. The library connects to AQS Data Mart API +via Hypertext Transfer Protocol (HTTP) so there is no need to install external +ODBC drivers, configure ODBC connections or deal with the security +vulnerabilities associated with them. Most functions have a parameter, +return_header which by default is set to FALSE. If the user decides to +set return_header to TRUE, then that function will return a python 3 +AQSAPI_V2 object. An AQSAPI_V2 object has instance methods for retrieving the +data requested, header information, and other metadata related to the API call. +After each call to the API a five second stall is invoked to help prevent +overloading the Data Mart API server and to serve as a simple rate limit.

    diff --git a/docs/_build/html/manual/RAQSAPI.html b/docs/_build/html/manual/RAQSAPI.html index 9b24c36..532f02d 100644 --- a/docs/_build/html/manual/RAQSAPI.html +++ b/docs/_build/html/manual/RAQSAPI.html @@ -73,7 +73,7 @@

    About RAQSAPI

    -

    pyaqsapi is a port of RAQSAPI to the +

    pyaqsapi is a port of to the python 3 programming environment. For anyone that is familiar with RAQSAPI, the pyaqsapi API will feel familiar to you, most of the functions are similar and the parameters sent to each functions are the same. pyaqsapi aims to have diff --git a/docs/_build/html/manual/TimelinessofAQSdata.html b/docs/_build/html/manual/TimelinessofAQSdata.html index bb8963c..1aae813 100644 --- a/docs/_build/html/manual/TimelinessofAQSdata.html +++ b/docs/_build/html/manual/TimelinessofAQSdata.html @@ -73,11 +73,11 @@

    About the timeliness of AQS Data

    -

    EPA's AQS Datamart API, the service that pyaqsapi retrieves data from, does not +

    EPA’s AQS Datamart API, the service that pyaqsapi retrieves data from, does not host real time (collected now/today) data. If real time data is needed, please -use the AirNow API and direct all questions toward real time data there. RAQSAPI -does not work with AirNow and cannot retrieve real time data. For more details -see section 7.1 of the About AQS Data page.

    +use the AirNow API and direct all questions toward real time data there. +pyaqsapi does not work with AirNow and cannot retrieve real time data. For more +details see section 7.1 of the About AQS Data page .

    diff --git a/docs/_build/html/manual/Troubleshooting.html b/docs/_build/html/manual/Troubleshooting.html new file mode 100644 index 0000000..8df966e --- /dev/null +++ b/docs/_build/html/manual/Troubleshooting.html @@ -0,0 +1,110 @@ + + + + + + + Troubleshooting — pyaqsapi documentation + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    Troubleshooting

    +

    Parameters must be supplied exactly as they are specified, for example the +stateFIPS for Alabama is “01”, entering a value of “1” for the stateFIPS +may lead to unexpected results. Do not omit leading zeros in parameters that +expect them.

    +
    + + +
    +
    +
    + +
    + +
    +

    © Copyright 2024, US Environmental Protection Agency.

    +
    + + Built with Sphinx using a + theme + provided by Read the Docs. + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/_build/html/manual/Using_pyaqsapi.html b/docs/_build/html/manual/Using_pyaqsapi.html index 64cac2b..72daea3 100644 --- a/docs/_build/html/manual/Using_pyaqsapi.html +++ b/docs/_build/html/manual/Using_pyaqsapi.html @@ -74,15 +74,16 @@

    Using pyaqsapi

    -

    For those who are already familiar with using RAQSAPI then the pyaqsapi API -should feel familiar with a few minor differences regarding how the data is -returned.

    -

    All data is returned using pandas Data Frames. Exported functions from pyaqsapi -have a parameter RETURN_HEADER, by default this parameter is False. When False -these functions simply return the requested data as a pandas Data Frame. If -RETURN_HEADER is manually set to True an AQSAPI_V2 python 3 object is returned. -Use the get_data() class method to retrieve the data, get_header() class -method to retrieve header information.

    +

    For those who are already familiar with using +RAQSAPI then the pyaqsapi API should feel familiar with a few minor differences +regarding how the data is returned.

    +

    By default data is returned as a pandas Data Frames . +Exported functions from pyaqsapi have a parameter RETURN_HEADER, by default +this parameter is False. When False functions simply return the requested +data as a pandas Data Frame. If RETURN_HEADER is manually set to True a list of +AQSAPI_V2 python 3 objects are returned. Use the get_data() class method to +retrieve the data and the get_header() class method to retrieve header +information.

    Sign up and setting up user credentials with the pyaqsapi library

    @@ -107,7 +108,7 @@ authentication but only account monitoring. Each time pyaqsapi is loaded and before using any of it’s functions use the aqs_credentials function to enter in the user credentials so that pyaqsapi can access the AQS Data Mart server.

    -

    Both pyaqsapi and RAQSAPI use the US Environmental Protection Agency's Air +

    Both pyaqsapi and RAQSAPI use the US Environmental Protection Agency’s Air Quality Service DataMart to retrieve data. The same credentials can be used for access to either project. Note however, that AQS and AQS DataMart are similar and related data sources, however the credentials used to access AQS are not the diff --git a/docs/_build/html/manual/pyaqsapiFunctions-Brief.html b/docs/_build/html/manual/pyaqsapiFunctions-Brief.html index ff192e2..332848e 100644 --- a/docs/_build/html/manual/pyaqsapiFunctions-Brief.html +++ b/docs/_build/html/manual/pyaqsapiFunctions-Brief.html @@ -125,7 +125,7 @@

    Data Mart aggregate functions -
    cbdate (optional):

    a date object which represents the "beginning date of last change" that +

    cbdate (optional):

    a date object which represents the “beginning date of last change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which defaults to None.

    @@ -233,7 +233,7 @@

    Variable descriptions and usage -
    cedate (optional):

    a date object which represents the "end date of last change" that indicates +

    cedate (optional):

    a date object which represents the “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This is an optional variable which defaults to None.

    @@ -267,7 +267,7 @@

    Variable descriptions and usage
    email:

    a character object which represents the email account that will be used to -register with the AQS API or change an existing user's key. A verification +register with the AQS API or change an existing user’s key. A verification email will be sent to the account specified.

    @@ -442,7 +442,7 @@

    Data Mart API list functionsaqs_counties_by_state() aqs_counties_by_state takes one parameter, stateFIPS, which is a two digit state FIPS code for the state being requested represented as a @@ -505,8 +505,8 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last -change" that indicates when the data was last updated. +

    cbdate:

    a date object which represents a “beginning date of last +change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which defaults to @@ -515,7 +515,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This @@ -550,7 +550,7 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last change" +

    cbdate:

    a date object which represents a “beginning date of last change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which @@ -559,7 +559,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This @@ -580,8 +580,8 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last -change" that indicates when the data was last updated. cbdate +

    cbdate:

    a date object which represents a “beginning date of last +change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which defaults to None.

    @@ -589,7 +589,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This is an @@ -610,7 +610,7 @@

    Data Mart aggregate functions
  • -
    cbdate:

    a date object which represents a "beginning date of last change" that +

    cbdate:

    a date object which represents a “beginning date of last change” that indicates when the data was last updated. cbdate is used to filter data based on the change date. Only data that changed on or after this date will be returned. This is an optional variable which @@ -619,7 +619,7 @@

    Data Mart aggregate functions -
    cedate:

    a date object which represents an "end date of last change" +

    cedate:

    a date object which represents an “end date of last change” that indicates when the data was last updated. cedate is used to filter data based on the change date. Only data that changed on or before this date will be returned. This is an @@ -644,15 +644,15 @@

    Data Mart aggregate functions
    Quality Assurance - Collocated Assessments:

    Quality assurance data - collocated assessments. Collocated assessments are pairs of samples collected by different samplers at the same time -and place. (These are "operational" samplers, assessments with -independently calibrated samplers are called "audits".). Functions using +and place. (These are “operational” samplers, assessments with +independently calibrated samplers are called “audits”.). Functions using this service contain qa_collocated_assessments in the function name.

  • Quality Assurance - Flow Rate Verifications:

    Quality assurance data - flow rate verifications. Several times per year, -each PM monitor must have it's (fixed) flow rate verified by an operator +each PM monitor must have it’s (fixed) flow rate verified by an operator taking a measurement of the flow rate. Functions using this service contain qa_flowrateverification in the function name.

    @@ -660,7 +660,7 @@

    Data Mart aggregate functions
    Quality Assurance - Flow Rate Audits:

    Quality assurance data - flow rate audits. At least twice year, each PM -monitor must have it's flow rate measurement audited by an expert using a +monitor must have it’s flow rate measurement audited by an expert using a different method than is used for flow rate verifications. Functions using this service contain qa_flowrateaudit in the function name.

    diff --git a/docs/_build/html/manual/pyaqsapiusagetipsandprecautions.html b/docs/_build/html/manual/pyaqsapiusagetipsandprecautions.html new file mode 100644 index 0000000..c4b148b --- /dev/null +++ b/docs/_build/html/manual/pyaqsapiusagetipsandprecautions.html @@ -0,0 +1,178 @@ + + + + + + + Usage tips and precautions — pyaqsapi documentation + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    Usage tips and precautions

    +

    This section contains suggestions for completing certain data related tasks.

    +
      +
    • Determine if or how much data exists for a time-parameter-geography +combination:

      +
      +
        +
      • Retrieve data using the annualdata service.

      • +
      • If no records are returned, we do not have the data.

      • +
      • If records are returned, use the observation count to determine the +temporal and geographic distribution of the data.

      • +
      +
      +
    • +
    • Monthly averages:

      +
      +
        +
      • AQS does not routinely calculate monthly aggregate statistics.

      • +
      • If you need these, you must calculate them yourself.

      • +
      • These can be calculated from the sample data or the daily data without +loss of fidelity.

      • +
      +
      +
    • +
    • Determine a single value for a site with collocated monitors:

      +
      +
        +
      • Many sites will have collocated monitors - monitors collecting the same +parameter at the same time.

      • +
      • The API currently provides only monitor level values. (site-level values +will be added in the future.)

      • +
      • For some criteria pollutants (PM2.5, ozone, lead, and NO2), the +regulations define procedures for defining a single site-level value.

      • +
      • For other pollutants, determining a single site-level value is left to +the investigator.

      • +
      +
      +
    • +
    • Please adhere to the following when using the AQS Data Mart API:

      +
      +
        +
      • +
        Limit the size of queries. The AQS Data Mart contains billions of

        values and you may request more than you intend. If you are unsure of +the amount of data, start small and work your way up. Please limit +queries to 1,000,000 rows of data each. You can use the +“observation count” field on the annualdata service to determine how +much data exists for a time-parameter-geography combination.

        +
        +
        +
      • +
      • +
        Limit the frequency of queries. The AQS Data Mart can process a limited

        load. Please wait for one request to complete before submitting another +and do not make more than 10 requests per minute.

        +
        +
        +
      • +
      • Be advised that RAQSAPI is capable of retrieving results for multiple +pollutants, this can result in the amount of data being returned being +multiplied by the number of pollutants being requested.

      • +
      • Be advised that the AQS Data Mart API limits certain data requests to +one year of data at a time with the exception of the Monitor service. +In order to retrieve multiple years of data for these functions the +RAQSAPI library conveniently sends multiple API requests to the Data Mart +API server, one request for each year, this can result in the amount of +data being returned being multiplied by the number of years of data being +requested.

      • +
      +
      +
    • +
    +

    The AQS Data Mart administrators may disable accounts without notice for +failure to adhere to these terms (Though they will contact the offending +user via the email address provided)

    +
    + + +
    +
    +
    + +
    + +
    +

    © Copyright 2024, US Environmental Protection Agency.

    +
    + + Built with Sphinx using a + theme + provided by Read the Docs. + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv index 42c5e0d..176a178 100644 Binary files a/docs/_build/html/objects.inv and b/docs/_build/html/objects.inv differ diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 0af815a..9495aed 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "manual/EPA_Disclaimer", "manual/Install_pyaqsapi", "manual/Introduction", "manual/Load_pyaqsapi", "manual/RAQSAPI", "manual/TimelinessofAQSdata", "manual/Using_pyaqsapi", "manual/pyaqsapiFunctions-Brief", "manual/pyaqsapiFunctions-Long"], "filenames": ["index.rst", "manual/EPA_Disclaimer.rst", "manual/Install_pyaqsapi.rst", "manual/Introduction.rst", "manual/Load_pyaqsapi.rst", "manual/RAQSAPI.rst", "manual/TimelinessofAQSdata.rst", "manual/Using_pyaqsapi.rst", "manual/pyaqsapiFunctions-Brief.rst", "manual/pyaqsapiFunctions-Long.rst"], "titles": ["pyaqsapi user documentation", "EPA Disclaimer", "Install pyaqsapi", "Introduction", "Load pyaqsapi", "About RAQSAPI", "About the timeliness of AQS Data", "Using pyaqsapi", "Data Mart aggregate functions", "Functions Exported by pyaqsapi"], "terms": {"thi": [0, 1, 3, 7, 9], "softwar": [0, 1], "applic": [0, 1], "wa": [0, 1, 4, 9], "develop": [0, 1], "u": [0, 1, 3, 7, 8, 9], "": [0, 1, 2, 3, 6, 7, 9], "environment": [0, 1, 3, 7], "protect": [0, 1, 3, 7], "usepa": [0, 1, 2], "No": [0, 1], "warranti": [0, 1], "express": [0, 1], "impli": [0, 1], "i": [0, 1, 3, 4, 5, 6, 7, 8, 9], "made": [0, 1], "regard": [0, 1, 7], "accuraci": [0, 1], "util": [0, 1], "system": [0, 1, 3, 9], "nor": [0, 1], "shall": [0, 1], "act": [0, 1], "distribut": [0, 1], "constitut": [0, 1], "ani": [0, 1, 4, 7, 9], "The": [0, 1, 3, 7, 8, 9], "ha": [0, 1, 3], "relinquish": [0, 1], "control": [0, 1, 8, 9], "inform": [0, 1, 3, 7, 9], "longer": [0, 1, 8, 9], "respons": [0, 1, 9], "integr": [0, 1], "confidenti": [0, 1], "avail": [0, 1, 3, 8, 9], "specif": [0, 1, 9], "commerci": [0, 1], "product": [0, 1], "process": [0, 1], "servic": [0, 1, 6, 7, 8, 9], "mark": [0, 1], "trademark": [0, 1], "manufactur": [0, 1], "otherwis": [0, 1], "doe": [0, 1, 5, 6, 7], "endors": [0, 1], "recommend": [0, 1], "favor": [0, 1], "seal": [0, 1], "logo": [0, 1], "manner": [0, 1], "activ": [0, 1], "unit": [0, 1, 3], "state": [0, 1, 3, 8, 9], "govern": [0, 1], "v2": [0, 1, 3], "current": [0, 1], "beta": [0, 1], "phase": [0, 1], "interfac": [0, 1, 3], "been": [0, 1, 3, 9], "final": [0, 1], "mean": [0, 1, 7, 9], "certain": [0, 1, 9], "mai": [0, 1, 7], "chang": [0, 1, 7, 9], "remov": [0, 1], "without": [0, 1, 7], "notic": [0, 1], "As": [0, 1], "result": [0, 1, 3, 8, 9], "packag": [0, 1, 2, 3, 4, 5, 7, 9], "also": [0, 1, 7], "reflect": [0, 1], "respect": [0, 1, 9], "improv": [0, 1], "design": [0, 1], "author": [0, 1], "assum": [0, 1], "liabil": [0, 1], "problem": [0, 1], "occur": [0, 1, 9], "hardwar": [0, 1], "account": [0, 1, 7, 9], "python": [0, 2, 3, 4, 5, 7], "3": [0, 3, 5, 7, 9], "program": [0, 3, 5, 9], "environ": [0, 3, 4, 5], "allow": [0, 3], "connect": [0, 3, 9], "retriev": [0, 3, 6, 7, 8, 9], "from": [0, 3, 6, 7, 8, 9], "air": [0, 3, 7, 9], "1": [0, 3, 6], "directli": [0, 3, 9], "enabl": [0, 3], "omit": [0, 3], "legaci": [0, 3], "challeng": [0, 3, 9], "includ": [0, 3, 9], "coerc": [0, 3, 9], "json": [0, 3], "object": [0, 3, 7, 9], "usabl": [0, 3], "multipl": [0, 3, 8, 9], "year": [0, 3, 8, 9], "format": [0, 3, 8, 9], "request": [0, 3, 7, 8, 9], "handl": [0, 3, 9], "pollut": [0, 3, 9], "rate": [0, 3, 8, 9], "limit": [0, 3, 9], "all": [0, 3, 6, 7, 8, 9], "basic": [0, 3], "have": [0, 3, 5, 7, 9], "implement": [0, 3, 9], "ar": [0, 2, 3, 4, 5, 7, 8, 9], "server": [0, 3, 7], "via": [0, 3, 9], "hypertext": [0, 3], "transfer": [0, 3], "protocol": [0, 3], "http": [0, 2, 3, 9], "so": [0, 3, 7], "need": [0, 3, 6, 7], "extern": [0, 3], "odbc": [0, 3], "driver": [0, 3], "configur": [0, 3], "deal": [0, 3], "secur": [0, 3], "vulner": [0, 3], "associ": [0, 3], "them": [0, 3], "most": [0, 3, 5, 9], "paramet": [0, 3, 5, 7, 9], "return_head": [0, 3, 7, 9], "which": [0, 3, 7, 8, 9], "default": [0, 3, 7, 9], "fals": [0, 3, 7, 9], "If": [0, 3, 6, 7, 9], "decid": [0, 3, 9], "true": [0, 3, 7, 9], "return": [0, 3, 7, 8, 9], "aqs_datamart_apiv2": [0, 3], "an": [0, 3, 7, 9], "instanc": [0, 3], "method": [0, 3, 7, 9], "header": [0, 3, 7], "other": [0, 3, 4, 5, 9], "relat": [0, 3, 7, 8, 9], "call": [0, 3, 7, 8, 9], "after": [0, 3, 7, 9], "each": [0, 3, 5, 7, 8, 9], "five": [0, 3], "second": [0, 3], "stall": [0, 3], "invok": [0, 3], "help": [0, 3], "prevent": [0, 3], "overload": [0, 3], "serv": [0, 3], "simpl": [0, 3, 9], "host": [0, 6], "real": [0, 6], "time": [0, 6, 7, 8, 9], "collect": [0, 6, 9], "now": [0, 6], "todai": [0, 6], "pleas": [0, 6], "airnow": [0, 6], "direct": [0, 6, 9], "question": [0, 6], "toward": [0, 6], "work": [0, 6], "cannot": [0, 6], "For": [0, 5, 6, 7, 9], "more": [0, 6, 8, 9], "detail": [0, 6, 9], "see": [0, 6, 9], "section": [0, 6, 9], "7": [0, 6, 8], "page": [0, 6], "port": [0, 5], "anyon": [0, 5], "familiar": [0, 5, 7], "feel": [0, 5, 7], "you": [0, 4, 5, 7], "similar": [0, 5, 7], "sent": [0, 5, 7, 9], "same": [0, 4, 5, 7, 9], "aim": [0, 5], "featur": [0, 5], "pariti": [0, 5], "neither": [0, 5], "project": [0, 2, 5, 7], "than": [0, 5, 9], "languag": [0, 5], "prefer": [0, 5], "benefit": [0, 5], "one": [0, 5, 7, 8, 9], "over": [0, 5], "To": [0, 2], "first": [0, 2], "clone": [0, 2], "repositori": [0, 2], "git": [0, 2], "github": [0, 2], "com": [0, 2], "next": [0, 2], "root": [0, 2], "directori": [0, 2], "pip": [0, 2], "proper": [0, 2], "depend": [0, 2], "requir": [0, 2, 9], "build": [0, 2], "r": [0, 2], "txt": [0, 2], "while": [0, 2], "still": [0, 2], "setuptool": [0, 2], "m": [0, 2], "like": [0, 4], "make": [0, 4, 8, 9], "sure": [0, 4], "virtual": [0, 4], "where": [0, 4, 8], "import": [0, 4], "those": [0, 7], "who": [0, 7], "alreadi": [0, 7], "should": [0, 7, 9], "few": [0, 7], "minor": [0, 7], "differ": [0, 7, 8, 9], "how": [0, 7, 8, 9], "panda": [0, 7, 9], "frame": [0, 7], "when": [0, 7, 9], "simpli": [0, 7], "manual": [0, 7], "aqsapi_v2": [0, 7, 9], "get_data": [0, 7], "class": [0, 7, 9], "get_head": [0, 7], "done": [0, 7], "aqs_sign_up": [0, 7, 9], "take": [0, 7, 8, 9], "input": [0, 7], "email": [0, 7, 9], "charact": [0, 7, 9], "repres": [0, 7, 9], "address": [0, 7], "want": [0, 7, 9], "success": [0, 7], "messag": [0, 7], "provid": [0, 7, 8, 9], "new": [0, 7], "kei": [0, 7, 9], "access": [0, 7], "can": [0, 7, 9], "regener": [0, 7], "exist": [0, 7, 9], "gener": [0, 7], "A": [0, 7, 9], "e": [0, 7, 9], "mail": [0, 7], "given": [0, 7, 9], "store": [0, 7, 9], "global": [0, 7], "everi": [0, 7, 9], "modul": [0, 7], "valid": [0, 7, 9], "reject": [0, 7], "password": [0, 7], "treat": [0, 7], "plain": [0, 7], "text": [0, 7], "attempt": [0, 7], "encrypt": [0, 7], "would": [0, 7], "usernam": [0, 7, 9], "combin": [0, 7, 9], "suppli": [0, 7], "intend": [0, 7], "authent": [0, 7], "onli": [0, 7, 9], "befor": [0, 7, 9], "aqs_credenti": [0, 7, 9], "enter": [0, 7], "both": [0, 7, 9], "either": [0, 7, 8], "note": [0, 7, 8, 9], "howev": [0, 7], "sourc": [0, 7], "do": [0, 7, 9], "creat": [0, 7], "sinc": [0, 7], "ew": [0, 7], "follow": [0, 9], "submodul": [0, 9], "bycbsa": [0, 8, 9], "byma": [0, 8, 9], "With": [0, 9], "entir": [0, 9], "aqs_cbsa": [0, 9], "aqs_class": [0, 9], "aqs_counties_by_st": [0, 9], "aqs_fields_by_servic": [0, 9], "aqs_isavail": [0, 9], "aqs_knownissu": [0, 9], "aqs_ma": [0, 9], "aqs_parameters_by_class": [0, 9], "aqs_pqao": [0, 9], "aqs_removehead": [0, 9], "aqs_revisionhistori": [0, 9], "aqs_sampledur": [0, 9], "aqs_sites_by_counti": [0, 9], "aqs_stat": [0, 9], "annualsummari": [0, 9], "dailysummari": [0, 9], "helperfunct": [0, 9], "quarterlysummari": [0, 9], "sampledata": [0, 8, 9], "qa_annualperformanceev": [0, 8, 9], "qa_annualperformanceevaltransact": [0, 8, 9], "qa_blank": [0, 8, 9], "qa_collocated_assess": [0, 8, 9], "qa_flowrateaudit": [0, 9], "qa_flowrateverif": [0, 8, 9], "qa_one_point_qc": [0, 8, 9], "qa_pep_audit": [0, 8, 9], "transactionsampl": [0, 8, 9], "qa_annualpeferomanceev": [0, 9], "bypqao": [0, 8, 9], "name": [0, 8, 9], "accord": [0, 9], "filter": [0, 9], "full": [0, 8, 9], "These": [0, 8, 9], "variou": [0, 9], "alphabet": [0, 9], "Not": [0, 9], "ref": [0, 9], "aqsobject": [0, 9], "type": [0, 9], "wheen": [0, 9], "bdate": [0, 9], "date": [0, 9], "begin": [0, 9], "select": [0, 9], "cbdate": [0, 9], "option": [0, 9], "last": [0, 9], "indic": [0, 9], "updat": [0, 9], "none": [0, 9], "cedat": [0, 9], "end": [0, 9], "countycod": [0, 9], "digit": [0, 9], "fip": [0, 9], "code": [0, 9], "counti": [0, 8, 9], "being": [0, 8, 9], "lead": [0, 9], "zero": [0, 9], "tabl": [0, 9], "durat": [0, 9], "string": [0, 9], "sampl": [0, 8, 9], "valu": [0, 9], "actual": [0, 9], "calcul": [0, 9], "8": [0, 9], "hour": [0, 9], "co": [0, 9], "o": [0, 9], "roll": [0, 9], "averag": [0, 9], "6": [0, 9], "dai": [0, 9], "pm": [0, 9], "pb": [0, 9], "month": [0, 9], "edat": [0, 9], "regist": [0, 9], "verif": [0, 8, 9], "specifi": [0, 9], "conjunct": [0, 9], "ma_cod": [0, 9], "4": [0, 9], "maxlat": [0, 9], "maximum": [0, 8, 9], "geograph": [0, 9], "decim": [0, 9], "north": [0, 9], "posit": [0, 9], "south": [0, 9], "maxlon": [0, 9], "east": [0, 9], "west": [0, 9], "80": [0, 9], "less": [0, 9], "70": [0, 9], "minlat": [0, 9], "minimum": [0, 9], "minlon": [0, 9], "singl": [0, 9], "datafram": [0, 9], "gov": [0, 9], "aqsweb": [0, 9], "data_api": [0, 9], "html": [0, 9], "_": [0, 9], "complet": [0, 8, 9], "through": [0, 9], "sitenum": [0, 9], "site": [0, 8, 9], "number": [0, 9], "within": [0, 8, 9], "statefip": [0, 9], "2": [0, 9], "pqao_cod": [0, 9], "two": [0, 9], "meta": [0, 9], "statu": [0, 9], "overview": [0, 9], "known": [0, 9], "issu": [0, 9], "usual": [0, 9], "identifi": [0, 9], "intern": [0, 9], "some": [0, 9], "correct": [0, 9], "queri": [0, 9], "histori": [0, 9], "group": [0, 8, 9], "By": [0, 9], "categori": [0, 9], "datat": [0, 9], "instead": [0, 9], "argument": [0, 9], "construct": [0, 9], "criteria": [0, 9], "receiv": [0, 9], "county_cod": [0, 9], "three": [0, 9], "encod": [0, 9], "contain": [0, 9], "restrict": [0, 8, 9], "amount": [0, 8, 9], "per": [0, 8, 9], "abl": [0, 8, 9], "repeat": [0, 8, 9], "There": [0, 8, 9], "5": [0, 9], "arrang": [0, 9], "10": [0, 9], "fourteen": [0, 9], "oper": [0, 9], "sampler": [0, 9], "etc": [0, 9], "fine": [0, 9], "grain": [0, 9], "report": [0, 9], "hourli": [0, 9], "sometim": [0, 9], "minut": [0, 9], "12": [0, 9], "sever": [0, 9], "geographi": [0, 9], "accept": [0, 9], "addit": [0, 9], "o_3": [0, 9], "daili": [0, 8, 9], "summari": [0, 8, 9], "summar": [0, 9], "level": [0, 9], "midnight": [0, 9], "basi": [0, 9], "local": [0, 9], "annual": [0, 8, 9], "yearli": [0, 9], "maxima": [0, 9], "percentil": [0, 9], "annualdata": [0, 8, 9], "quarterli": [0, 9], "quarterlydata": [0, 9], "blank": [0, 8, 9], "unexpos": [0, 9], "devic": [0, 9], "g": [0, 9], "transport": [0, 9], "expos": [0, 9], "assess": [0, 8, 9], "contamin": [0, 9], "dure": [0, 9], "colloc": [0, 8, 9], "pair": [0, 9], "place": [0, 9], "independ": [0, 9], "calibr": [0, 9], "audit": [0, 8, 9], "flow": [0, 8, 9], "must": [0, 9], "fix": [0, 9], "verifi": [0, 9], "measur": [0, 9], "At": [0, 9], "least": [0, 9], "twice": [0, 9], "expert": [0, 9], "One": [0, 8, 9], "point": [0, 8, 9], "raw": [0, 8, 9], "check": [0, 9], "week": [0, 9], "gaseou": [0, 9], "concentr": [0, 9], "determin": [0, 9], "perform": [0, 8, 9], "pep": [0, 8, 9], "evalu": [0, 8, 9], "estim": [0, 9], "total": [0, 9], "bia": [0, 9], "transact": [0, 8, 9], "submiss": [0, 8, 9], "rd": [0, 8, 9], "upload": [0, 9], "conduct": [0, 9], "onc": [0, 9], "percent": [0, 9], "between": [0, 9], "aqs_qa_annualperformanceev": [0, 9], "aqs_qa_annualperformanceevaltransact": [0, 9], "defin": [0, 8, 9], "censu": [0, 8, 9], "bureau": [0, 8, 9], "cbsa_cod": [0, 9], "save": [0, 9], "output": [0, 9], "anoth": [0, 9], "later": [0, 9], "thei": [0, 9], "just": [0, 9], "agenc": [1, 3, 7, 8], "refer": [1, 9], "us": [1, 2, 5, 6, 9], "data": [1, 3, 7], "mart": [1, 3, 7], "api": [1, 3, 5, 6, 7, 8], "function": [1, 3, 5, 7], "qualiti": [1, 3, 7, 8], "document": [1, 9], "user": [1, 3, 9], "pyaqsapi": [3, 5, 6, 8], "epa": [3, 6, 9], "aq": [3, 4, 7, 8, 9], "credenti": 3, "librari": [3, 9], "instal": [3, 4], "set": [3, 9], "metadata": 3, "datamart": [6, 7, 9], "raqsapi": [6, 7], "export": 7, "variabl": 7, "load": [7, 9], "monitor": [7, 8], "famili": 8, "seven": 8, "bysit": 8, "bycounti": 8, "bystat": 8, "latitud": 8, "longitud": 8, "bound": 8, "box": 8, "bybox": 8, "primari": 8, "assur": 8, "organ": 8, "core": 8, "base": 8, "statist": 8, "area": 8, "13": 8, "thirteen": 8, "dailydata": 8, "aqs_qa_flowrateaudit": 8, "list": 8, "abov": 8, "about": 9}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"pyaqsapi": [0, 2, 4, 7, 9], "user": [0, 7], "document": 0, "epa": [0, 1], "disclaim": [0, 1], "aq": [0, 1, 6], "datamart": [0, 1], "introduct": [0, 3], "about": [0, 5, 6], "timeli": [0, 6], "data": [0, 6, 8, 9], "raqsapi": [0, 5], "instal": [0, 2], "load": [0, 4], "us": [0, 7], "sign": [0, 7, 9], "up": [0, 7, 9], "set": [0, 7], "credenti": [0, 7, 9], "librari": [0, 7], "function": [0, 8, 9], "export": [0, 9], "variabl": [0, 9], "descript": [0, 9], "usag": [0, 9], "famili": [0, 9], "mart": [0, 8, 9], "api": [0, 9], "metadata": [0, 9], "list": [0, 9], "aggreg": [0, 8, 9], "bysit": [0, 9], "bycounti": [0, 9], "bystat": [0, 9], "monitor": [0, 9], "agenc": [0, 9], "ma": [0, 9], "core": [0, 9], "base": [0, 9], "statist": [0, 9], "area": [0, 9], "cbsa": [0, 9], "primari": [0, 9], "qualiti": [0, 9], "assur": [0, 9], "organ": [0, 9], "pqao": [0, 9], "latitud": [0, 9], "longitud": [0, 9], "bound": [0, 9], "box": [0, 9], "bybox": [0, 9], "miscellan": [0, 9], "refer": 0, "index": 0}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9, "sphinx": 60}, "alltitles": {"pyaqsapi user documentation": [[0, "pyaqsapi-user-documentation"]], "EPA Disclaimer": [[0, "epa-disclaimer"], [1, "epa-disclaimer"]], "AQS DataMart Disclaimer": [[0, "aqs-datamart-disclaimer"], [1, "aqs-datamart-disclaimer"]], "Introduction": [[0, "introduction"], [3, "introduction"]], "About the timeliness of AQS Data": [[0, "about-the-timeliness-of-aqs-data"], [6, "about-the-timeliness-of-aqs-data"]], "About RAQSAPI": [[0, "about-raqsapi"], [5, "about-raqsapi"]], "Install pyaqsapi": [[0, "install-pyaqsapi"], [2, "install-pyaqsapi"]], "Load pyaqsapi": [[0, "load-pyaqsapi"], [4, "load-pyaqsapi"]], "Using pyaqsapi": [[0, "using-pyaqsapi"], [7, "using-pyaqsapi"]], "Sign up and setting up user credentials with the pyaqsapi library": [[0, "sign-up-and-setting-up-user-credentials-with-the-pyaqsapi-library"], [7, "sign-up-and-setting-up-user-credentials-with-the-pyaqsapi-library"]], "Functions Exported by pyaqsapi": [[0, "functions-exported-by-pyaqsapi"], [9, "functions-exported-by-pyaqsapi"]], "Variable descriptions and usage": [[0, "variable-descriptions-and-usage"], [9, "variable-descriptions-and-usage"]], "pyaqsapi functional families": [[0, "pyaqsapi-functional-families"], [9, "pyaqsapi-functional-families"]], "Sign up and credentials": [[0, "sign-up-and-credentials"], [9, "sign-up-and-credentials"]], "Data Mart API metadata functions": [[0, "data-mart-api-metadata-functions"], [9, "data-mart-api-metadata-functions"]], "Data Mart API list functions": [[0, "data-mart-api-list-functions"], [9, "data-mart-api-list-functions"]], "Data Mart aggregate functions": [[0, "data-mart-aggregate-functions"], [8, "data-mart-aggregate-functions"], [9, "data-mart-aggregate-functions"]], "Data Mart aggregate functions bysite": [[0, "data-mart-aggregate-functions-bysite"], [9, "data-mart-aggregate-functions-bysite"]], "Data Mart aggregate functions bycounty": [[0, "data-mart-aggregate-functions-bycounty"], [9, "data-mart-aggregate-functions-bycounty"]], "Data Mart aggregate functions bystate": [[0, "data-mart-aggregate-functions-bystate"], [9, "data-mart-aggregate-functions-bystate"]], "Data Mart aggregate functions by Monitoring agency (MA)": [[0, "data-mart-aggregate-functions-by-monitoring-agency-ma"], [9, "data-mart-aggregate-functions-by-monitoring-agency-ma"]], "Data Mart aggregate functions by Core Based Statistical Area (cbsa)": [[0, "data-mart-aggregate-functions-by-core-based-statistical-area-cbsa"], [9, "data-mart-aggregate-functions-by-core-based-statistical-area-cbsa"]], "Data Mart aggregate functions by Primary Quality Assurance Organization (pqao)": [[0, "data-mart-aggregate-functions-by-primary-quality-assurance-organization-pqao"], [9, "data-mart-aggregate-functions-by-primary-quality-assurance-organization-pqao"]], "Data Mart aggregate functions by latitude/longitude bounding box (bybox)": [[0, "data-mart-aggregate-functions-by-latitude-longitude-bounding-box-bybox"], [9, "data-mart-aggregate-functions-by-latitude-longitude-bounding-box-bybox"]], "pyaqsapi Miscellaneous functions": [[0, "pyaqsapi-miscellaneous-functions"], [9, "pyaqsapi-miscellaneous-functions"]], "pyaqsapi API reference documentation": [[0, "pyaqsapi-api-reference-documentation"]], "pyaqsapi index": [[0, "pyaqsapi-index"]]}, "indexentries": {"epa disclaimer": [[0, "index-0"], [1, "index-0"]], "functions exported by pyaqsapi": [[0, "index-7"], [9, "index-0"]], "raqsapi": [[0, "index-2"], [5, "index-0"]], "install pyaqsapi": [[0, "index-3"], [2, "index-0"]], "load pyaqsapi": [[0, "index-4"], [4, "index-0"]], "sign_up": [[0, "index-6"], [7, "index-1"]], "timeliness of aqs data": [[0, "index-1"], [6, "index-0"]], "use pyaqsapi": [[0, "index-5"], [7, "index-0"]], "aggregate functions": [[8, "index-0"]], "services": [[8, "index-1"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "manual/EPA_Disclaimer", "manual/Install_pyaqsapi", "manual/Introduction", "manual/Load_pyaqsapi", "manual/RAQSAPI", "manual/TimelinessofAQSdata", "manual/Troubleshooting", "manual/Using_pyaqsapi", "manual/pyaqsapiFunctions-Brief", "manual/pyaqsapiFunctions-Long", "manual/pyaqsapiusagetipsandprecautions"], "filenames": ["index.rst", "manual/EPA_Disclaimer.rst", "manual/Install_pyaqsapi.rst", "manual/Introduction.rst", "manual/Load_pyaqsapi.rst", "manual/RAQSAPI.rst", "manual/TimelinessofAQSdata.rst", "manual/Troubleshooting.rst", "manual/Using_pyaqsapi.rst", "manual/pyaqsapiFunctions-Brief.rst", "manual/pyaqsapiFunctions-Long.rst", "manual/pyaqsapiusagetipsandprecautions.rst"], "titles": ["pyaqsapi user documentation", "EPA Disclaimer", "Install pyaqsapi", "Introduction", "Load pyaqsapi", "About RAQSAPI", "About the timeliness of AQS Data", "Troubleshooting", "Using pyaqsapi", "Data Mart aggregate functions", "Functions Exported by pyaqsapi", "Usage tips and precautions"], "terms": {"thi": [0, 1, 3, 8, 10, 11], "softwar": [0, 1], "applic": [0, 1], "wa": [0, 1, 4, 10], "develop": [0, 1], "u": [0, 1, 3, 8, 9, 10], "": [0, 1, 2, 3, 6, 8, 10], "environment": [0, 1, 3, 8], "protect": [0, 1, 3, 8], "usepa": [0, 1, 2], "No": [0, 1], "warranti": [0, 1], "express": [0, 1], "impli": [0, 1], "i": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11], "made": [0, 1], "regard": [0, 1, 8], "accuraci": [0, 1], "util": [0, 1], "system": [0, 1, 3, 10], "nor": [0, 1], "shall": [0, 1], "act": [0, 1], "distribut": [0, 1, 11], "constitut": [0, 1], "ani": [0, 1, 4, 8, 10], "The": [0, 1, 3, 8, 9, 10, 11], "ha": [0, 1, 3], "relinquish": [0, 1], "control": [0, 1, 9, 10], "inform": [0, 1, 3, 8, 10], "longer": [0, 1, 9, 10], "respons": [0, 1, 10], "integr": [0, 1], "confidenti": [0, 1], "avail": [0, 1, 3, 9, 10], "specif": [0, 1, 10], "commerci": [0, 1], "product": [0, 1], "process": [0, 1, 11], "servic": [0, 1, 6, 8, 9, 10, 11], "mark": [0, 1], "trademark": [0, 1], "manufactur": [0, 1], "otherwis": [0, 1], "doe": [0, 1, 5, 6, 8, 11], "endors": [0, 1], "recommend": [0, 1], "favor": [0, 1], "seal": [0, 1], "logo": [0, 1], "manner": [0, 1], "activ": [0, 1], "unit": [0, 1, 3], "state": [0, 1, 3, 9, 10], "govern": [0, 1], "v2": [0, 1, 3], "current": [0, 1, 11], "beta": [0, 1], "phase": [0, 1], "interfac": [0, 1, 3], "been": [0, 1, 3, 10], "final": [0, 1], "mean": [0, 1, 8, 10], "certain": [0, 1, 10, 11], "mai": [0, 1, 7, 8, 11], "chang": [0, 1, 8, 10], "remov": [0, 1], "without": [0, 1, 8, 11], "notic": [0, 1, 11], "As": [0, 1], "result": [0, 1, 3, 7, 9, 10, 11], "packag": [0, 1, 2, 3, 4, 5, 8, 10], "also": [0, 1, 8], "reflect": [0, 1], "respect": [0, 1, 10], "improv": [0, 1], "design": [0, 1], "author": [0, 1], "assum": [0, 1], "liabil": [0, 1], "problem": [0, 1], "occur": [0, 1, 10], "hardwar": [0, 1], "account": [0, 1, 8, 10, 11], "python": [0, 2, 3, 4, 5, 8], "3": [0, 3, 5, 8, 10], "program": [0, 3, 5, 10], "environ": [0, 3, 4, 5], "allow": [0, 3], "connect": [0, 3, 10], "retriev": [0, 3, 6, 8, 9, 10, 11], "from": [0, 3, 6, 8, 9, 10, 11], "air": [0, 3, 8, 10], "directli": [0, 3, 10], "enabl": [0, 3], "omit": [0, 3, 7], "legaci": [0, 3], "challeng": [0, 3, 10], "includ": [0, 3, 10], "coerc": [0, 3, 10], "json": [0, 3], "object": [0, 3, 8, 10], "usabl": [0, 3], "multipl": [0, 3, 9, 10, 11], "year": [0, 3, 9, 10, 11], "format": [0, 3, 9, 10], "request": [0, 3, 8, 9, 10, 11], "handl": [0, 3, 10], "pollut": [0, 3, 10, 11], "rate": [0, 3, 9, 10], "limit": [0, 3, 10, 11], "all": [0, 3, 6, 9, 10], "basic": [0, 3], "have": [0, 3, 5, 8, 10, 11], "implement": [0, 3, 10], "ar": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11], "server": [0, 3, 8, 11], "via": [0, 3, 10, 11], "hypertext": [0, 3], "transfer": [0, 3], "protocol": [0, 3], "http": [0, 2, 3, 10], "so": [0, 3, 8], "need": [0, 3, 6, 8, 11], "extern": [0, 3], "odbc": [0, 3], "driver": [0, 3], "configur": [0, 3], "deal": [0, 3], "secur": [0, 3], "vulner": [0, 3], "associ": [0, 3], "them": [0, 3, 7, 11], "most": [0, 3, 5, 10], "paramet": [0, 3, 5, 7, 8, 10, 11], "return_head": [0, 3, 8, 10], "which": [0, 3, 8, 9, 10], "default": [0, 3, 8, 10], "fals": [0, 3, 8, 10], "If": [0, 3, 6, 8, 10, 11], "decid": [0, 3, 10], "true": [0, 3, 8, 10], "return": [0, 3, 8, 9, 10, 11], "aqsapi_v2": [0, 3, 8, 10], "an": [0, 3, 8, 10], "instanc": [0, 3], "method": [0, 3, 8, 10], "header": [0, 3, 8], "other": [0, 3, 4, 5, 10, 11], "relat": [0, 3, 8, 9, 10, 11], "call": [0, 3, 8, 9, 10], "after": [0, 3, 8, 10], "each": [0, 3, 5, 8, 9, 10, 11], "five": [0, 3], "second": [0, 3], "stall": [0, 3], "invok": [0, 3], "help": [0, 3], "prevent": [0, 3], "overload": [0, 3], "serv": [0, 3], "simpl": [0, 3, 10], "host": [0, 6], "real": [0, 6], "time": [0, 6, 8, 9, 10, 11], "collect": [0, 6, 10, 11], "now": [0, 6], "todai": [0, 6], "pleas": [0, 6, 11], "airnow": [0, 6], "direct": [0, 6, 10], "question": [0, 6], "toward": [0, 6], "work": [0, 6, 11], "cannot": [0, 6], "For": [0, 5, 6, 8, 10, 11], "more": [0, 6, 9, 10, 11], "detail": [0, 6, 10], "see": [0, 6, 10], "section": [0, 6, 10, 11], "7": [0, 6, 9], "1": [0, 6, 7, 11], "page": [0, 6], "To": [0, 2], "first": [0, 2], "clone": [0, 2], "repositori": [0, 2], "git": [0, 2], "github": [0, 2], "com": [0, 2], "next": [0, 2], "project": [0, 2, 5, 8], "root": [0, 2], "directori": [0, 2], "pip": [0, 2], "proper": [0, 2], "depend": [0, 2], "requir": [0, 2, 10], "build": [0, 2], "r": [0, 2], "txt": [0, 2], "while": [0, 2], "still": [0, 2], "setuptool": [0, 2], "m": [0, 2], "like": [0, 4], "make": [0, 4, 9, 10, 11], "sure": [0, 4], "you": [0, 4, 5, 8, 11], "same": [0, 4, 5, 8, 10, 11], "virtual": [0, 4], "where": [0, 4, 9], "import": [0, 4], "those": [0, 8], "who": [0, 8], "alreadi": [0, 8], "familiar": [0, 5, 8], "should": [0, 8, 10], "feel": [0, 5, 8], "few": [0, 8], "minor": [0, 8], "differ": [0, 8, 9, 10], "how": [0, 8, 9, 10, 11], "By": [0, 8, 10], "panda": [0, 8, 10], "frame": [0, 8], "when": [0, 8, 10, 11], "simpli": [0, 8], "manual": [0, 8], "get_data": [0, 8], "class": [0, 8, 10], "get_head": [0, 8], "done": [0, 8], "aqs_sign_up": [0, 8, 10], "take": [0, 8, 9, 10], "one": [0, 5, 8, 9, 10, 11], "input": [0, 8], "email": [0, 8, 10, 11], "charact": [0, 8, 10], "repres": [0, 8, 10], "address": [0, 8, 11], "want": [0, 8, 10], "success": [0, 8], "messag": [0, 8], "sent": [0, 5, 8, 10], "provid": [0, 8, 9, 10, 11], "new": [0, 8], "kei": [0, 8, 10], "access": [0, 8], "can": [0, 8, 10, 11], "regener": [0, 8], "exist": [0, 8, 10, 11], "gener": [0, 8], "A": [0, 8, 10], "e": [0, 8, 10], "mail": [0, 8], "given": [0, 8, 10], "store": [0, 8, 10], "global": [0, 8], "everi": [0, 8, 10], "modul": [0, 8], "valid": [0, 8, 10], "reject": [0, 8], "password": [0, 8], "treat": [0, 8], "plain": [0, 8], "text": [0, 8], "attempt": [0, 8], "encrypt": [0, 8], "would": [0, 8], "usernam": [0, 8, 10], "combin": [0, 8, 10, 11], "suppli": [0, 7, 8], "intend": [0, 8, 11], "authent": [0, 8], "onli": [0, 8, 10, 11], "befor": [0, 8, 10, 11], "aqs_credenti": [0, 8, 10], "enter": [0, 7, 8], "both": [0, 8, 10], "either": [0, 8, 9], "note": [0, 8, 9, 10], "howev": [0, 8], "similar": [0, 5, 8], "sourc": [0, 8], "do": [0, 7, 8, 10, 11], "creat": [0, 8], "sinc": [0, 8], "ew": [0, 8], "contain": [0, 10, 11], "suggest": [0, 11], "complet": [0, 9, 10, 11], "task": [0, 11], "determin": [0, 10, 11], "much": [0, 11], "geographi": [0, 10, 11], "annualdata": [0, 9, 10, 11], "record": [0, 11], "we": [0, 11], "observ": [0, 11], "count": [0, 11], "tempor": [0, 11], "geograph": [0, 10, 11], "monthli": [0, 11], "averag": [0, 10, 11], "routin": [0, 11], "calcul": [0, 10, 11], "must": [0, 7, 10, 11], "yourself": [0, 11], "These": [0, 9, 10, 11], "sampl": [0, 9, 10, 11], "daili": [0, 9, 10, 11], "loss": [0, 11], "fidel": [0, 11], "singl": [0, 10, 11], "valu": [0, 7, 10, 11], "site": [0, 9, 10, 11], "colloc": [0, 9, 10, 11], "mani": [0, 11], "level": [0, 10, 11], "ad": [0, 11], "futur": [0, 11], "some": [0, 10, 11], "criteria": [0, 10, 11], "pm2": [0, 11], "5": [0, 10, 11], "ozon": [0, 11], "lead": [0, 7, 10, 11], "no2": [0, 11], "regul": [0, 11], "defin": [0, 9, 10, 11], "procedur": [0, 11], "left": [0, 11], "investig": [0, 11], "adher": [0, 11], "follow": [0, 10, 11], "size": [0, 11], "queri": [0, 10, 11], "billion": [0, 11], "than": [0, 5, 10, 11], "unsur": [0, 11], "amount": [0, 9, 10, 11], "start": [0, 11], "small": [0, 11], "your": [0, 11], "wai": [0, 11], "000": [0, 11], "row": [0, 11], "field": [0, 11], "frequenc": [0, 11], "wait": [0, 11], "submit": [0, 11], "anoth": [0, 10, 11], "10": [0, 10, 11], "per": [0, 9, 10, 11], "minut": [0, 10, 11], "Be": [0, 11], "advis": [0, 11], "capabl": [0, 11], "being": [0, 9, 10, 11], "multipli": [0, 11], "number": [0, 10, 11], "except": [0, 11], "In": [0, 11], "order": [0, 11], "conveni": [0, 11], "send": [0, 11], "administr": [0, 11], "disabl": [0, 11], "failur": [0, 11], "term": [0, 11], "though": [0, 11], "thei": [0, 7, 10, 11], "contact": [0, 11], "offend": [0, 11], "submodul": [0, 10], "bycbsa": [0, 9, 10], "byma": [0, 9, 10], "With": [0, 10], "entir": [0, 10], "aqs_cbsa": [0, 10], "aqs_class": [0, 10], "aqs_counties_by_st": [0, 10], "aqs_fields_by_servic": [0, 10], "aqs_isavail": [0, 10], "aqs_knownissu": [0, 10], "aqs_ma": [0, 10], "aqs_parameters_by_class": [0, 10], "aqs_pqao": [0, 10], "aqs_removehead": [0, 10], "aqs_revisionhistori": [0, 10], "aqs_sampledur": [0, 10], "aqs_sites_by_counti": [0, 10], "aqs_stat": [0, 10], "annualsummari": [0, 10], "dailysummari": [0, 10], "helperfunct": [0, 10], "quarterlysummari": [0, 10], "sampledata": [0, 9, 10], "qa_annualperformanceev": [0, 9, 10], "qa_annualperformanceevaltransact": [0, 9, 10], "qa_blank": [0, 9, 10], "qa_collocated_assess": [0, 9, 10], "qa_flowrateaudit": [0, 10], "qa_flowrateverif": [0, 9, 10], "qa_one_point_qc": [0, 9, 10], "qa_pep_audit": [0, 9, 10], "transactionsampl": [0, 9, 10], "qa_annualpeferomanceev": [0, 10], "bypqao": [0, 9, 10], "name": [0, 9, 10], "accord": [0, 10], "filter": [0, 10], "full": [0, 9, 10], "variou": [0, 10], "alphabet": [0, 10], "Not": [0, 10], "ref": [0, 10], "aqsobject": [0, 10], "type": [0, 10], "wheen": [0, 10], "bdate": [0, 10], "date": [0, 10], "begin": [0, 10], "select": [0, 10], "cbdate": [0, 10], "option": [0, 10], "last": [0, 10], "indic": [0, 10], "updat": [0, 10], "none": [0, 10], "cedat": [0, 10], "end": [0, 10], "countycod": [0, 10], "digit": [0, 10], "fip": [0, 10], "code": [0, 10], "counti": [0, 9, 10], "zero": [0, 7, 10], "tabl": [0, 10], "durat": [0, 10], "string": [0, 10], "actual": [0, 10], "8": [0, 10], "hour": [0, 10], "co": [0, 10], "o": [0, 10], "roll": [0, 10], "6": [0, 10], "dai": [0, 10], "pm": [0, 10], "pb": [0, 10], "month": [0, 10], "edat": [0, 10], "regist": [0, 10], "verif": [0, 9, 10], "specifi": [0, 7, 10], "conjunct": [0, 10], "ma_cod": [0, 10], "4": [0, 10], "maxlat": [0, 10], "maximum": [0, 9, 10], "decim": [0, 10], "north": [0, 10], "posit": [0, 10], "south": [0, 10], "maxlon": [0, 10], "east": [0, 10], "west": [0, 10], "80": [0, 10], "less": [0, 10], "70": [0, 10], "minlat": [0, 10], "minimum": [0, 10], "minlon": [0, 10], "datafram": [0, 10], "gov": [0, 10], "aqsweb": [0, 10], "data_api": [0, 10], "html": [0, 10], "_": [0, 10], "through": [0, 10], "sitenum": [0, 10], "within": [0, 9, 10], "statefip": [0, 7, 10], "2": [0, 10], "pqao_cod": [0, 10], "two": [0, 10], "meta": [0, 10], "statu": [0, 10], "overview": [0, 10], "known": [0, 10], "issu": [0, 10], "usual": [0, 10], "identifi": [0, 10], "intern": [0, 10], "correct": [0, 10], "histori": [0, 10], "group": [0, 9, 10], "categori": [0, 10], "datat": [0, 10], "instead": [0, 10], "argument": [0, 10], "construct": [0, 10], "receiv": [0, 10], "county_cod": [0, 10], "three": [0, 10], "encod": [0, 10], "restrict": [0, 9, 10], "abl": [0, 9, 10], "repeat": [0, 9, 10], "There": [0, 9, 10], "arrang": [0, 10], "fourteen": [0, 10], "oper": [0, 10], "sampler": [0, 10], "etc": [0, 10], "fine": [0, 10], "grain": [0, 10], "report": [0, 10], "hourli": [0, 10], "sometim": [0, 10], "12": [0, 10], "sever": [0, 10], "accept": [0, 10], "addit": [0, 10], "o_3": [0, 10], "summari": [0, 9, 10], "summar": [0, 10], "midnight": [0, 10], "basi": [0, 10], "local": [0, 10], "annual": [0, 9, 10], "yearli": [0, 10], "maxima": [0, 10], "percentil": [0, 10], "quarterli": [0, 10], "quarterlydata": [0, 10], "blank": [0, 9, 10], "unexpos": [0, 10], "devic": [0, 10], "g": [0, 10], "transport": [0, 10], "expos": [0, 10], "assess": [0, 9, 10], "contamin": [0, 10], "dure": [0, 10], "pair": [0, 10], "place": [0, 10], "independ": [0, 10], "calibr": [0, 10], "audit": [0, 9, 10], "flow": [0, 9, 10], "fix": [0, 10], "verifi": [0, 10], "measur": [0, 10], "At": [0, 10], "least": [0, 10], "twice": [0, 10], "expert": [0, 10], "One": [0, 9, 10], "point": [0, 9, 10], "raw": [0, 9, 10], "check": [0, 10], "week": [0, 10], "gaseou": [0, 10], "concentr": [0, 10], "perform": [0, 9, 10], "pep": [0, 9, 10], "evalu": [0, 9, 10], "estim": [0, 10], "total": [0, 10], "bia": [0, 10], "transact": [0, 9, 10], "submiss": [0, 9, 10], "rd": [0, 9, 10], "upload": [0, 10], "conduct": [0, 10], "onc": [0, 10], "percent": [0, 10], "between": [0, 10], "aqs_qa_annualperformanceev": [0, 10], "aqs_qa_annualperformanceevaltransact": [0, 10], "censu": [0, 9, 10], "bureau": [0, 9, 10], "cbsa_cod": [0, 10], "save": [0, 10], "output": [0, 10], "later": [0, 10], "just": [0, 10], "exactli": [0, 7], "exampl": [0, 7], "alabama": [0, 7], "01": [0, 7], "unexpect": [0, 7], "expect": [0, 7], "port": [0, 5], "anyon": [0, 5], "aim": [0, 5], "featur": [0, 5], "pariti": [0, 5], "neither": [0, 5], "languag": [0, 5], "prefer": [0, 5], "benefit": [0, 5], "over": [0, 5], "d": 0, "ata": 0, "art": 0, "welcom": 0, "aug": 0, "2018": 0, "url": 0, "data_mart_welcom": 0, "2019": 0, "version": 0, "about_aqs_data": 0, "atafram": 0, "januari": 0, "2024": 0, "pydata": 0, "org": 0, "doc": 0, "c": 0, "linton": 0, "ccrowei": 0, "extens": 0, "ambient": 0, "nite": 0, "tate": 0, "nvironment": 0, "p": 0, "rotect": 0, "genci": 0, "ir": 0, "q": 0, "ualiti": 0, "ystem": 0, "v": 0, "2022": 0, "agenc": [1, 3, 8, 9], "refer": [1, 10], "us": [1, 2, 5, 6, 10, 11], "data": [1, 3, 8, 11], "mart": [1, 3, 8, 11], "api": [1, 3, 5, 6, 8, 9, 11], "function": [1, 3, 5, 8, 11], "qualiti": [1, 3, 8, 9], "document": [1, 10], "user": [1, 3, 10, 11], "pyaqsapi": [3, 5, 6, 9], "epa": [3, 6, 10], "aq": [3, 4, 8, 9, 10, 11], "credenti": 3, "librari": [3, 10, 11], "instal": [3, 4], "set": [3, 10], "metadata": 3, "datamart": [6, 8, 10], "raqsapi": [8, 11], "export": 8, "list": [8, 9], "variabl": 8, "load": [8, 10, 11], "monitor": [8, 9, 11], "famili": 9, "seven": 9, "bysit": 9, "bycounti": 9, "bystat": 9, "latitud": 9, "longitud": 9, "bound": 9, "box": 9, "bybox": 9, "primari": 9, "assur": 9, "organ": 9, "core": 9, "base": 9, "statist": [9, 11], "area": 9, "13": 9, "thirteen": 9, "dailydata": 9, "aqs_qa_flowrateaudit": 9, "abov": 9, "about": 10, "aggreg": 11, "up": 11}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"pyaqsapi": [0, 2, 4, 8, 10], "user": [0, 8], "document": 0, "epa": [0, 1], "disclaim": [0, 1], "aq": [0, 1, 6], "datamart": [0, 1], "introduct": [0, 3], "about": [0, 5, 6], "timeli": [0, 6], "data": [0, 6, 9, 10], "instal": [0, 2], "load": [0, 4], "us": [0, 8], "sign": [0, 8, 10], "up": [0, 8, 10], "set": [0, 8], "credenti": [0, 8, 10], "librari": [0, 8], "usag": [0, 10, 11], "tip": [0, 11], "precaut": [0, 11], "function": [0, 9, 10], "export": [0, 10], "variabl": [0, 10], "descript": [0, 10], "famili": [0, 10], "mart": [0, 9, 10], "api": [0, 10], "metadata": [0, 10], "list": [0, 10], "aggreg": [0, 9, 10], "bysit": [0, 10], "bycounti": [0, 10], "bystat": [0, 10], "monitor": [0, 10], "agenc": [0, 10], "ma": [0, 10], "core": [0, 10], "base": [0, 10], "statist": [0, 10], "area": [0, 10], "cbsa": [0, 10], "primari": [0, 10], "qualiti": [0, 10], "assur": [0, 10], "organ": [0, 10], "pqao": [0, 10], "latitud": [0, 10], "longitud": [0, 10], "bound": [0, 10], "box": [0, 10], "bybox": [0, 10], "miscellan": [0, 10], "troubleshoot": [0, 7], "raqsapi": [0, 5], "refer": 0, "index": 0}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9, "sphinx": 60}, "alltitles": {"pyaqsapi user documentation": [[0, "pyaqsapi-user-documentation"]], "EPA Disclaimer": [[0, "epa-disclaimer"], [1, "epa-disclaimer"]], "AQS DataMart Disclaimer": [[0, "aqs-datamart-disclaimer"], [1, "aqs-datamart-disclaimer"]], "Introduction": [[0, "introduction"], [3, "introduction"]], "About the timeliness of AQS Data": [[0, "about-the-timeliness-of-aqs-data"], [6, "about-the-timeliness-of-aqs-data"]], "Install pyaqsapi": [[0, "install-pyaqsapi"], [2, "install-pyaqsapi"]], "Load pyaqsapi": [[0, "load-pyaqsapi"], [4, "load-pyaqsapi"]], "Using pyaqsapi": [[0, "using-pyaqsapi"], [8, "using-pyaqsapi"]], "Sign up and setting up user credentials with the pyaqsapi library": [[0, "sign-up-and-setting-up-user-credentials-with-the-pyaqsapi-library"], [8, "sign-up-and-setting-up-user-credentials-with-the-pyaqsapi-library"]], "Usage tips and precautions": [[0, "usage-tips-and-precautions"], [11, "usage-tips-and-precautions"]], "Functions Exported by pyaqsapi": [[0, "functions-exported-by-pyaqsapi"], [10, "functions-exported-by-pyaqsapi"]], "Variable descriptions and usage": [[0, "variable-descriptions-and-usage"], [10, "variable-descriptions-and-usage"]], "pyaqsapi functional families": [[0, "pyaqsapi-functional-families"], [10, "pyaqsapi-functional-families"]], "Sign up and credentials": [[0, "sign-up-and-credentials"], [10, "sign-up-and-credentials"]], "Data Mart API metadata functions": [[0, "data-mart-api-metadata-functions"], [10, "data-mart-api-metadata-functions"]], "Data Mart API list functions": [[0, "data-mart-api-list-functions"], [10, "data-mart-api-list-functions"]], "Data Mart aggregate functions": [[0, "data-mart-aggregate-functions"], [9, "data-mart-aggregate-functions"], [10, "data-mart-aggregate-functions"]], "Data Mart aggregate functions bysite": [[0, "data-mart-aggregate-functions-bysite"], [10, "data-mart-aggregate-functions-bysite"]], "Data Mart aggregate functions bycounty": [[0, "data-mart-aggregate-functions-bycounty"], [10, "data-mart-aggregate-functions-bycounty"]], "Data Mart aggregate functions bystate": [[0, "data-mart-aggregate-functions-bystate"], [10, "data-mart-aggregate-functions-bystate"]], "Data Mart aggregate functions by Monitoring agency (MA)": [[0, "data-mart-aggregate-functions-by-monitoring-agency-ma"], [10, "data-mart-aggregate-functions-by-monitoring-agency-ma"]], "Data Mart aggregate functions by Core Based Statistical Area (cbsa)": [[0, "data-mart-aggregate-functions-by-core-based-statistical-area-cbsa"], [10, "data-mart-aggregate-functions-by-core-based-statistical-area-cbsa"]], "Data Mart aggregate functions by Primary Quality Assurance Organization (pqao)": [[0, "data-mart-aggregate-functions-by-primary-quality-assurance-organization-pqao"], [10, "data-mart-aggregate-functions-by-primary-quality-assurance-organization-pqao"]], "Data Mart aggregate functions by latitude/longitude bounding box (bybox)": [[0, "data-mart-aggregate-functions-by-latitude-longitude-bounding-box-bybox"], [10, "data-mart-aggregate-functions-by-latitude-longitude-bounding-box-bybox"]], "pyaqsapi Miscellaneous functions": [[0, "pyaqsapi-miscellaneous-functions"], [10, "pyaqsapi-miscellaneous-functions"]], "Troubleshooting": [[0, "troubleshooting"], [7, "troubleshooting"]], "About RAQSAPI": [[0, "about-raqsapi"], [5, "about-raqsapi"]], "pyaqsapi API reference documentation": [[0, "pyaqsapi-api-reference-documentation"]], "pyaqsapi index": [[0, "pyaqsapi-index"]], "References": [[0, "references"]]}, "indexentries": {"epa disclaimer": [[0, "index-0"], [1, "index-0"]], "functions exported by pyaqsapi": [[0, "index-7"], [10, "index-0"]], "raqsapi": [[0, "index-9"], [5, "index-0"]], "troubleshooting": [[0, "index-8"], [7, "index-0"]], "usage tips and precautions": [[0, "index-6"], [11, "index-0"]], "install pyaqsapi": [[0, "index-2"], [2, "index-0"]], "load pyaqsapi": [[0, "index-3"], [4, "index-0"]], "sign_up": [[0, "index-5"], [8, "index-1"]], "timeliness of aqs data": [[0, "index-1"], [6, "index-0"]], "use pyaqsapi": [[0, "index-4"], [8, "index-0"]], "aggregate functions": [[9, "index-0"]], "services": [[9, "index-1"]]}}) \ No newline at end of file diff --git a/docs/_build/spelling/output.txt b/docs/_build/spelling/output.txt deleted file mode 100644 index e69de29..0000000 diff --git a/docs/conf.py b/docs/conf.py index a730a87..6aeedb7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -39,7 +39,7 @@ "sphinx.ext.autosectionlabel", ] -# bibtext file location +# sphinxcontrib.bibtex bibtext file location bibtex_bibfiles = ["manual/pyaqsapi.bib"] # Add any paths that contain templates here, relative to this directory. @@ -53,11 +53,12 @@ "Thumbs.db", ".DS_Store", "setup.py", - "*modules.rst", "*setup.rst", - "pyaqsapi*.rst", "*pyaqsapiFunctions-Brief.rst", "genindex.rst", + "*pyaqsapi.by*", + "*modules.rst", + "*pyaqsapi.rst", ] # get rid of those duplicate label warnings when embedding a child rst file @@ -76,6 +77,11 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] +# -- Options for sphinxcontrib.bibtex ----------------------------------------- +bibtex_reference_style = "label" +bibtex_default_style = "plain" +bibtex_tooltips = True + # -- Options for Napolean output --------------------------------------------- napolean_include_private_with_doc = False napolean_include_special_with_doc = False @@ -84,7 +90,7 @@ napolean_use_rtype = True napolean_reprocess_types = True napoleon_google_docstring = True -napoleon_numpy_docstring = True +# napoleon_numpy_docstring = True # -- Options for sphinxcontrib-spelling --------------------------------------- spelling_lang = "en_US" @@ -94,7 +100,7 @@ spelling_show_whole_line = True spelling_warning = True spelling_verbose = True -spelling_ignore_pypi_package_names = False +spelling_ignore_pypi_package_names = True spelling_ignore_python_builtins = True spelling_ignore_contributor_names = True diff --git a/docs/ignored_wordlist.txt b/docs/ignored_wordlist.txt index c3965bd..e3b8455 100644 --- a/docs/ignored_wordlist.txt +++ b/docs/ignored_wordlist.txt @@ -2,6 +2,7 @@ annualdata annualsummary annualperformanceeval annualperformanceevaltransaction +API aqs Barnstable bdate @@ -23,6 +24,7 @@ DataFrame Datamart durations edate +EPA Fairhope flowrate flowrateaudit @@ -35,6 +37,7 @@ listfunctions maxima maxlat maxlon +Mccrowey metadatafunctions Millbrook minlat diff --git a/docs/index.rst b/docs/index.rst index 5a0fcb0..14fcd38 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,27 +1,30 @@ .. pyaqsapi documentation master file, created by - sphinx-quickstart on Mon Oct 4 14:40:23 2021. + sphinx-quickstart on Mon Oct 4 14:40:23 2021. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -.. sectionauthor:: Clinton Mccrowey epa.gov> + +.. sectionauthor:: Clinton Mccrowey clinton epa.gov> =========================== pyaqsapi user documentation =========================== .. toctree:: - :maxdepth: 2 - :numbered: - :hidden: + :maxdepth: 2 + :numbered: + :hidden: .. include:: manual/EPA_Disclaimer.rst .. include:: manual/Introduction.rst .. include:: manual/TimelinessofAQSdata.rst -.. include:: manual/RAQSAPI.rst .. include:: manual/Install_pyaqsapi.rst .. include:: manual/Load_pyaqsapi.rst .. include:: manual/Using_pyaqsapi.rst +.. include:: manual/pyaqsapiusagetipsandprecautions.rst .. include:: manual/pyaqsapiFunctions-Long.rst +.. include:: manual/Troubleshooting.rst +.. include:: manual/RAQSAPI.rst pyaqsapi API reference documentation @@ -34,3 +37,10 @@ pyaqsapi index -------------- * :ref:`genindex` + +References +---------- +.. bibliography:: + :style: plain + :list: enumerated + :filter: docname in docnames \ No newline at end of file diff --git a/docs/manual/Introduction.rst b/docs/manual/Introduction.rst index 9de92a8..6e3192b 100644 --- a/docs/manual/Introduction.rst +++ b/docs/manual/Introduction.rst @@ -3,19 +3,19 @@ Introduction The pyaqsapi package for the python 3 programming environment allows a python 3 programming environment to connect to and retrieve data from the United States Environmental Protection Agency’s (US EPA) Air Quality System (AQS) Data Mart -API v2 (Air Quality System)1 interface directly. This package enables the data -user to omit legacy challenges including coercing data from a JSON object to a -usable python 3 object, retrieving multiple years of data, formatting API -requests, retrieving results, handling credentials, requesting multiple -pollutant data and rate limiting data requests. All the basic functionality -of the API have been implemented that are available from the AQS API Data Mart -server. The library connects to AQS Data Mart API via Hypertext Transfer -Protocol (HTTP) so there is no need to install external ODBC drivers, configure -ODBC connections or deal with the security vulnerabilities associated with -them. Most functions have a parameter, return_header which by default is set -to FALSE. If the user decides to set return_header to TRUE, then that function -will return a python 3 AQS_DATAMART_APIv2 object. An AQS_DATAMART_APIv2 object -has instance methods for retrieving the data requested, header information, -and other metadata related to the API call. After each call to the API a five -second stall is invoked to help prevent overloading the Data Mart API server -and to serve as a simple rate limit. +API v2 (Air Quality System) :cite:t:`AQSDataMartWelcome` interface directly. +This package enables the data user to omit legacy challenges including coercing +data from a JSON object to a usable python 3 object, retrieving multiple years +of data, formatting API requests, retrieving results, handling credentials, +requesting multiple pollutant data and rate limiting data requests. +All the basic functionality of the API have been implemented that are available +from the AQS API Data Mart server. The library connects to AQS Data Mart API +via Hypertext Transfer Protocol (HTTP) so there is no need to install external +ODBC drivers, configure ODBC connections or deal with the security +vulnerabilities associated with them. Most functions have a parameter, +return_header which by default is set to FALSE. If the user decides to +set return_header to TRUE, then that function will return a python 3 +AQSAPI_V2 object. An AQSAPI_V2 object has instance methods for retrieving the +data requested, header information, and other metadata related to the API call. +After each call to the API a five second stall is invoked to help prevent +overloading the Data Mart API server and to serve as a simple rate limit. diff --git a/docs/manual/RAQSAPI.rst b/docs/manual/RAQSAPI.rst index d49bb65..41d8abf 100644 --- a/docs/manual/RAQSAPI.rst +++ b/docs/manual/RAQSAPI.rst @@ -2,11 +2,10 @@ About RAQSAPI ============= -pyaqsapi is a port of `RAQSAPI `_ to the +pyaqsapi is a port of :cite:t:`Rpackage:RAQSAPI` to the python 3 programming environment. For anyone that is familiar with RAQSAPI, the pyaqsapi API will feel familiar to you, most of the functions are similar and the parameters sent to each functions are the same. pyaqsapi aims to have feature parity with RAQSAPI and neither project will have features that the other project does not - other than programming language environment or -language preference there is no benefit to using one package over the other. - +language preference there is no benefit to using one package over the other. \ No newline at end of file diff --git a/docs/manual/TimelinessofAQSdata.rst b/docs/manual/TimelinessofAQSdata.rst index 6b76349..03a6666 100644 --- a/docs/manual/TimelinessofAQSdata.rst +++ b/docs/manual/TimelinessofAQSdata.rst @@ -5,6 +5,6 @@ About the timeliness of AQS Data EPA's AQS Datamart API, the service that pyaqsapi retrieves data from, does not host real time (collected now/today) data. If real time data is needed, please -use the AirNow API and direct all questions toward real time data there. RAQSAPI -does not work with AirNow and cannot retrieve real time data. For more details -see section 7.1 of the About AQS Data page. \ No newline at end of file +use the AirNow API and direct all questions toward real time data there. +pyaqsapi does not work with AirNow and cannot retrieve real time data. For more +details see section 7.1 of the About AQS Data page :cite:t:`AboutAQSdata`. \ No newline at end of file diff --git a/docs/manual/Troubleshooting.rst b/docs/manual/Troubleshooting.rst new file mode 100644 index 0000000..6b4e87c --- /dev/null +++ b/docs/manual/Troubleshooting.rst @@ -0,0 +1,9 @@ +.. index:: Troubleshooting + +Troubleshooting +=============== + +Parameters must be supplied exactly as they are specified, for example the +stateFIPS for Alabama is "01", entering a value of "1" for the stateFIPS +may lead to unexpected results. Do not omit leading zeros in parameters that +expect them. \ No newline at end of file diff --git a/docs/manual/Using_pyaqsapi.rst b/docs/manual/Using_pyaqsapi.rst index b384238..fe44152 100644 --- a/docs/manual/Using_pyaqsapi.rst +++ b/docs/manual/Using_pyaqsapi.rst @@ -2,16 +2,17 @@ Using pyaqsapi ============== -For those who are already familiar with using RAQSAPI then the pyaqsapi API -should feel familiar with a few minor differences regarding how the data is -returned. +For those who are already familiar with using :cite:t:`Rpackage:RAQSAPI` +RAQSAPI then the pyaqsapi API should feel familiar with a few minor differences +regarding how the data is returned. -All data is returned using pandas Data Frames. Exported functions from pyaqsapi -have a parameter RETURN_HEADER, by default this parameter is False. When False -these functions simply return the requested data as a pandas Data Frame. If -RETURN_HEADER is manually set to True an AQSAPI_V2 python 3 object is returned. -Use the get_data() class method to retrieve the data, get_header() class -method to retrieve header information. +By default data is returned as a pandas Data Frames :cite:t:`pandas_DataFrame`. +Exported functions from pyaqsapi have a parameter RETURN_HEADER, by default +this parameter is False. When False functions simply return the requested +data as a pandas Data Frame. If RETURN_HEADER is manually set to True a list of +AQSAPI_V2 python 3 objects are returned. Use the get_data() class method to +retrieve the data and the get_header() class method to retrieve header +information. .. index:: sign_up diff --git a/docs/manual/pyaqsapi.bib b/docs/manual/pyaqsapi.bib index 59226a1..58c4a73 100644 --- a/docs/manual/pyaqsapi.bib +++ b/docs/manual/pyaqsapi.bib @@ -1,49 +1,49 @@ -@misc{cleanairact, - authors = "Environmental Protection Agency", - title = "Overview of the {C}lean {A}ir {A}ct and {A}ir {P}ollution", - month = "February", - year = "2021", - url = "https://www.epa.gov/clean-air-act-overview" +@online{cleanairact, + authors = "{US} {E}nvironmental {P}rotection {A}gency", + title = "Overview of the {C}lean {A}ir {A}ct and {A}ir {P}ollution", + month = "February", + year = "2021", + url = "https://www.epa.gov/clean-air-act-overview" } -@electronic{AboutAQSdata, - authors = "US EPA AQS Data Mart Team", - title = "About {AQS} Data", - month = "May", - year = "2019", - url = "https://aqs.epa.gov/aqsweb/documents/about_aqs_data.html", - note = "Version 1.1" +@online{AboutAQSdata, + authors = "{US} {EPA} {AQS} {D}ata{M}art Team", + title = "About {AQS} Data", + month = "May", + year = "2019", + url = "https://aqs.epa.gov/aqsweb/documents/about_aqs_data.html", + note = "Version 1.1" } -@electronic{website:GNUproject, - authors = "Free Software Foundation", - title = "GNU Operating System", - month = "Feburaury", - year = "2020", - url = "https://www.gnu.org" +@online{website:GNUproject, + authors = "{F}ree {S}oftware {F}oundation", + title = "{GNU} Operating System", + month = "February", + year = "2020", + url = "https://www.gnu.org" } -@electronic{AQSDataMartWelcome, - authors = "US EPA AQS Data Mart Team", - title = "AQS Data Mart Welcome", - month = "Aug", - year = "2018", - url = "https://aqs.epa.gov/aqsweb/documents/data_mart_welcome.html" +@online{AQSDataMartWelcome, + authors = "{US} {EPA} {AQS} {D}ata{M}art Team", + title = "{AQS} {D}ata{M}art Welcome", + month = "Aug", + year = "2018", + url = "https://aqs.epa.gov/aqsweb/documents/data_mart_welcome.html" } -@Manual{package:lintr, - title = {lintr: A 'Linter' for R Code}, - author = {Jim Hester and Florent Angly and Russ Hyde}, - year = {2020}, - note = {R package version 2.0.1}, - url = {https://CRAN.R-project.org/package=lintr}, +@Misc{Rpackage:RAQSAPI, + title = "A {R} extension to retrieve ambient air monitoring data from + the {U}nited {S}tates {E}nvironmental {P}rotection {A}gency’s + ({US EPA}) {A}ir + {Q}uality {S}ystem ({AQS}) {D}ata{M}art {API} {V}2 interface", + author = "{C}linton {M}ccrowey", + year = {2022}, + url = {https://github.com/USEPA/RAQSAPI}, } -@Misc{py3package:RAQSAPI, - title = {A R extension to retrieve ambient air monitoring data from - the United States Environmental Protection Agency’s (US EPA) Air - Quality System (AQS) Data Mart API v2 interface}, - author = {Clinton Mccrowey}, - year = {2022}, - url = {https://github.com/USEPA/RAQSAPI}, -} +@online{pandas_DataFrame, + title = "pandas.{D}ataFrame", + month = "January", + year = "2024", + url = "https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html" +} \ No newline at end of file diff --git a/docs/manual/pyaqsapiusagetipsandprecautions.rst b/docs/manual/pyaqsapiusagetipsandprecautions.rst new file mode 100644 index 0000000..0ca0c1f --- /dev/null +++ b/docs/manual/pyaqsapiusagetipsandprecautions.rst @@ -0,0 +1,58 @@ +.. index:: Usage tips and precautions + +Usage tips and precautions +========================== + +This section contains suggestions for completing certain data related tasks. + +* Determine if or how much data exists for a time-parameter-geography + combination: + + * Retrieve data using the annualdata service. + * If no records are returned, we do not have the data. + * If records are returned, use the observation count to determine the + temporal and geographic distribution of the data. + +* Monthly averages: + + * AQS does not routinely calculate monthly aggregate statistics. + * If you need these, you must calculate them yourself. + * These can be calculated from the sample data or the daily data without + loss of fidelity. + +* Determine a single value for a site with collocated monitors: + + * Many sites will have collocated monitors - monitors collecting the same + parameter at the same time. + * The API currently provides only monitor level values. (site-level values + will be added in the future.) + * For some criteria pollutants (PM2.5, ozone, lead, and NO2), the + regulations define procedures for defining a single site-level value. + * For other pollutants, determining a single site-level value is left to + the investigator. + +* **Please adhere to the following when using the AQS Data Mart API**: + + * *Limit the size of queries*. The AQS Data Mart contains billions of + values and you may request more than you intend. If you are unsure of + the amount of data, start small and work your way up. Please limit + queries to 1,000,000 rows of data each. You can use the + "observation count" field on the annualdata service to determine how + much data exists for a time-parameter-geography combination. + * *Limit the frequency of queries*. The AQS Data Mart can process a limited + load. Please wait for one request to complete before submitting another + and do not make more than 10 requests per minute. + * Be advised that RAQSAPI is capable of retrieving results for multiple + pollutants, this can result in the amount of data being returned being + multiplied by the number of pollutants being requested. + * Be advised that the AQS Data Mart API limits certain data requests to + one year of data at a time with the exception of the Monitor service. + In order to retrieve multiple years of data for these functions the + RAQSAPI library conveniently sends multiple API requests to the Data Mart + API server, one request for each year, this can result in the amount of + data being returned being multiplied by the number of years of data being + requested. + +**The AQS Data Mart administrators may disable accounts without notice for +failure to adhere to these terms (Though they will contact the offending +user via the email address provided)** \ No newline at end of file diff --git a/docs/pyaqsapi.rst b/docs/pyaqsapi.rst index b2cad20..48ffb40 100644 --- a/docs/pyaqsapi.rst +++ b/docs/pyaqsapi.rst @@ -1,5 +1,11 @@ pyaqsapi API reference documentation -================ +==================================== + +objects exported by pyaqsapi +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +APIAQSAPI_V2 +.. autoclass:: AQSAPI_V2 + :members: set_data, set_header, get_data, get_header, get_status_code, get_header, get_url, get_header, get_request_time pyaqsapi base Package ~~~~~~~~~~~~~~~~~~~~~ diff --git a/pyaqsapi/bybox/bybox.py b/pyaqsapi/bybox/bybox.py index 8023bc4..8fdec75 100644 --- a/pyaqsapi/bybox/bybox.py +++ b/pyaqsapi/bybox/bybox.py @@ -50,14 +50,14 @@ def monitors( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of all ozone monitors in the vicinity of central Alabama that operated in 1995. import pyaqsapi as aqs from datetime import date - .... + aqs.bybox.monitors(parameter="44201", bdate=date(year=1995, month=1, day=1), edate=date(year=1995, month=12, day=31), @@ -69,8 +69,8 @@ def monitors( Returns ------- pandas DataFrame or an AQSAPI_V2 object - Returns a table of monitors from a latitude/longitude bounding - box (_by_box). + Returns a table of monitors from a latitude/longitude bounding + box (_by_box). """ # The monitors service does not is able to oull multiple years of data @@ -156,21 +156,22 @@ def sampledata( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing all ozone samples in the vicinity of central Alabama between May 1, 2015 - May 2, 2017. - import pyaqsapi as aqs - from datetime import date - .... - aqs.bybox.sampledata(parameter="44201", - bdate=date(year=2015, month=5, day=1), - edate=date(year=2015, month=5, day=2), - minlat="33.3", - maxlat="33.6", - minlon="-87.0", - maxlon="-86.7") + import pyaqsapi as aqs + from datetime import date + + aqs.bybox.sampledata(parameter="44201", + bdate=date(year=2015, month=5, day=1), + edate=date(year=2015, month=5, day=2), + minlat="33.3", + maxlat="33.6", + minlon="-87.0", + maxlon="-86.7") + Returns ------- (pandas DataFrame or an AQSAPI_V2 object): sample data for all monitors @@ -247,21 +248,21 @@ def annualsummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing ozone annual summaries in the vicinity of central Alabama for the first two days of May, 2015. - import pyaqsapi as aqs - from datetime import date - ... - aqs.bybox.annualsummary(parameter="44201", - bdate=date(year=2015, month=5, day=1), - edate=date(year=2015, month=5, day=2), - minlat="33.3", - maxlat="33.6", - minlon="-87.0", - maxlon="-86.7") + import pyaqsapi as aqs + from datetime import date + + aqs.bybox.annualsummary(parameter="44201", + bdate=date(year=2015, month=5, day=1), + edate=date(year=2015, month=5, day=2), + minlat="33.3", + maxlat="33.6", + minlon="-87.0", + maxlon="-86.7") Returns ------- @@ -337,8 +338,8 @@ def dailysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of ozone daily summaries in the vicinity of central Alabama for the first two days of May 2015:: @@ -405,8 +406,8 @@ def quarterlysummary( stateFIPS and county_code provided for bdate - edate time frame. Variables returned include mean value, maxima, percentiles, and etc. - Note - ---- + Notes + ----- The AQS API only allows for a single year of quarterly summary to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -446,8 +447,8 @@ def quarterlysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing ozone quarterly summaries in the vicinity of central Alabama for each quarter in between 2015 - 2017:: diff --git a/pyaqsapi/bycbsa/bycbsa.py b/pyaqsapi/bycbsa/bycbsa.py index e63ba71..c9d72a7 100644 --- a/pyaqsapi/bycbsa/bycbsa.py +++ b/pyaqsapi/bycbsa/bycbsa.py @@ -42,8 +42,8 @@ def monitors( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of NO2 monitors for the Charlotte-Concord-Gastonia, NC cbsa that were operating on January 01, 2017:: @@ -136,8 +136,8 @@ def sampledata( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame which contains NO2 data for Charlotte-Concord-Gastonia, NC cbsa for January 1, 2015 - January 01, 2017:: @@ -214,8 +214,8 @@ def annualsummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of annual summary NO2 data the for Charlotte-Concord-Gastonia, NC cbsa on January 01, 2017:: @@ -293,8 +293,8 @@ def dailysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Returns a DataFrame of NO2 daily summary data the for Charlotte-Concord-Gastonia, NC cbsa on January 01, 2017:: @@ -342,8 +342,8 @@ def quarterlysummary( Return quarterly summary data aggregated by Core Based Statistical Area (cbsa_code). - Note - ---- + Notes + ----- The AQS API only allows for a single year of quarterly summary to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -384,8 +384,9 @@ def quarterlysummary( to None. return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + + Examples + -------- Return a DataFrame of NO2 quarterly summary data the for Charlotte-Concord-Gastonia, NC cbsa for each quarter in 2017.:: diff --git a/pyaqsapi/bycounty/bycounty.py b/pyaqsapi/bycounty/bycounty.py index 2b54d2a..42aa802 100644 --- a/pyaqsapi/bycounty/bycounty.py +++ b/pyaqsapi/bycounty/bycounty.py @@ -52,8 +52,8 @@ def monitors( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return an DataFrame containing all SO2 monitors in Hawaii County, HI that were operating on May 1, 2015:: @@ -149,8 +149,8 @@ def qa_flowrateaudit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of flow rate audit data for Jefferson County, AL for January 2018:: @@ -240,8 +240,8 @@ def qa_one_point_qc( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of flow rate audit data for Jefferson County, AL for January 2018:: @@ -301,8 +301,8 @@ def qa_pep_audit( (PEP) audit data aggregated by parameter code, stateFIPS and countycode for bdate - edate time frame. - Note - ---- + Notes + ----- The AQS API only allows for a single year of pep audit data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -346,8 +346,8 @@ def qa_pep_audit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame with PEP Audit data for FRM PM2.5 in Madison County, AL for 2017:: @@ -456,8 +456,8 @@ def sampledata( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return all FRM/FEM PM2.5 data for Wake County, NC between January 1, 2015 - February 28, 2016:: @@ -547,8 +547,9 @@ def annualsummary( to None. return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + + Examples + -------- Returns all FRM/FEM PM2.5 data for Wake County, NC between January 1, 2015 - February 28, 2016:: @@ -642,8 +643,8 @@ def qa_blanks( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame with PM2.5 blank data for Colbert County, AL for January 2018:: @@ -736,8 +737,8 @@ def dailysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return an aqs S3 object of daily summary FRM/FEM PM2.5 data for Wake County, NC between January and February 2016:: @@ -828,8 +829,8 @@ def qa_collocated_assessments( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame with collocated assessment data for FRM PM2.5 in Madison County, AL for January 2013:: @@ -920,8 +921,8 @@ def qa_flowrateverification( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Returns a DataFrame of flow rate verification data for Colbert County, AL for January 2018:: @@ -1014,8 +1015,8 @@ def transactionsample( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return all FRM/FEM transaction data for Wake County, NC on February 23, 2016:: @@ -1107,8 +1108,8 @@ def qa_annualperformanceeval( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data (raw) for ozone in Baldwin County, AL for 2017 in RD format:: @@ -1203,8 +1204,8 @@ def qa_annualperformanceevaltransaction( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data (raw) for ozone in Baldwin County, AL for 2017 in RD format:: @@ -1268,8 +1269,8 @@ def quarterlysummary( stateFIPS and county_code provided for bdate - edate time frame. Variables returned include mean value, maxima, percentiles, and etc. - Note - ---- + Notes + ----- The AQS API only allows for a single year of quarterly summary to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -1316,8 +1317,8 @@ def quarterlysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing quarterly summaries for FRM/FEM PM2.5 data for Wake County, NC for each quarter of 2016:: diff --git a/pyaqsapi/byma/byma.py b/pyaqsapi/byma/byma.py index dddb8b2..79678be 100644 --- a/pyaqsapi/byma/byma.py +++ b/pyaqsapi/byma/byma.py @@ -36,8 +36,8 @@ def qa_flowrateaudit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of flow rate audit data for FRM PM2.5 January 2016 - January 2018 where the Monitoring Agency is the Jefferson County, AL Department of Health (agency 0550):: @@ -109,8 +109,8 @@ def qa_one_point_qc( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of ozone One Point QC data in January 2018 where the Monitoring Agency is the Massachusetts Department of Environmental Protection (agency 0660):: @@ -183,8 +183,8 @@ def qa_pep_audit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of PEP audit data in June 2017 where the Monitoring Agency is the Alabama Department of Environmental Management (agency 0013):: @@ -263,8 +263,8 @@ def qa_blanks( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing PM2.5 blank data in January 2018 where the Monitoring Agency is the Alabama Department of Environmental Management (agency 0013):: @@ -337,8 +337,8 @@ def qa_collocated_assessments( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing collocated assessment data for FRM PM2.5 January 2013 where the Monitoring Agency is the Alabama Department of Environmental Management (agency 0013):: @@ -415,8 +415,8 @@ def qa_flowrateverification( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing collocated assessment data for FRM PM2.5 January 2013 where the Monitoring Agency is the Alabama Department of Environmental Management (agency 0013):: @@ -495,8 +495,8 @@ def transactionsample( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of ozone transaction sample data for all monitors operated by South Coast Air Quality Management District collected on May 15, 2015:: @@ -570,8 +570,8 @@ def qa_annualpeferomanceeval( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data for ozone where the monitoring agency is the Alabama Department of Environmental Management (MA_code 0013).:: @@ -650,8 +650,8 @@ def qa_annualperformanceevaltransaction( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data for ozone in where the MA is the Alabama Department of Environmental Management (MA_code 0013) for 2017 in RD format.:: diff --git a/pyaqsapi/bypqao/bypqao.py b/pyaqsapi/bypqao/bypqao.py index f4cf1a3..decfa56 100644 --- a/pyaqsapi/bypqao/bypqao.py +++ b/pyaqsapi/bypqao/bypqao.py @@ -40,8 +40,8 @@ def qa_flowrateaudit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of flow rate audit data for January 2018 where the PQAO is the Jefferson County, AL Department Of Health (agency 0550).:: @@ -114,8 +114,8 @@ def qa_one_point_qc( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFramee of flow rate audit data for January 2018 where the PQAO is the Jefferson County, AL Department of Health (agency 0550):: @@ -191,8 +191,8 @@ def qa_pep_audit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of PEP audit data in June 2017 where the pqao is the Alabama Department of Environmental Management (agency 0013):: @@ -267,8 +267,8 @@ def qa_blanks( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return DataFrame of PM2.5 blank data in January 2018 where the PQAO is the Alabama Department of Environmental Management (agency 0013):: @@ -343,8 +343,8 @@ def qa_collocated_assessments( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Returns a DataFrame of collocated assessment data for FRM PM2.5 in January 2013 where the PQAO is the Alabama Department of Environmental Management (agency 0013):: @@ -422,8 +422,8 @@ def qa_flowrateverification( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of collocated assessment data for FRM PM2.5 in January 2013 where the PQAO is the Alabama Department of Environmental Management (agency 0013):: @@ -502,8 +502,8 @@ def qa_annualperformanceeval( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data for ozone where the PQAO is the Alabama Department of Environmental Management (pqao_code 0013).:: @@ -584,8 +584,8 @@ def qa_annualperformanceevaltransaction( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data for ozone in where the PQAO is the Alabama Department of Environmental Management (pqao_code 0013) for 2017 in RD format.:: diff --git a/pyaqsapi/bysite/bysite.py b/pyaqsapi/bysite/bysite.py index f31dee0..2419136 100644 --- a/pyaqsapi/bysite/bysite.py +++ b/pyaqsapi/bysite/bysite.py @@ -23,8 +23,8 @@ def monitors( with the provided parameter, stateFIPS, county_code, and sitenum for bdate - edate time frame. - Note - ---- + Notes + ----- All monitors that operated between the bdate and edate will be returned Parameters @@ -61,8 +61,8 @@ def monitors( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a table of all SO2 monitors at the Hawaii NP site (#0007) in Hawaii County, HI that were operating between May 1 2015-2019:: @@ -131,8 +131,8 @@ def qa_flowrateaudit( parameter code, stateFIPS, countycode and site number for bdate - edate time frame. - Note - ---- + Notes + ----- The AQS API only allows for a single year of flow rate audit data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -179,8 +179,8 @@ def qa_flowrateaudit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Returns a table of all SO2 monitors at the Hawaii NP site (#0007) in Hawaii County, HI that were operating on May 1, 2018:: @@ -243,8 +243,8 @@ def qa_one_point_qc( Return a table of one point QC raw data aggregated by parameter code, stateFIPS, countycode and site number. - Note - ---- + Notes + ----- The AQS API only allows for a single year of flow rate audit data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -291,8 +291,8 @@ def qa_one_point_qc( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Returns a One Point QC data for ozone at the Truro National Seashore site (#0002) in Barnstable County, MA in January 2018:: @@ -354,8 +354,8 @@ def sampledata( """ Returns sample data where the data is aggregated at the site level. - Note - ---- + Notes + ----- The AQS API only allows for a single year of sampledata to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -411,8 +411,8 @@ def sampledata( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of ozone monitoring data for the Millbrook School site (/#0014) in Wake County, NC for June 18, 2017:: @@ -479,8 +479,8 @@ def annualsummary( stateFIPS, county_code, and sitenum provided for bdate - edate time frame. Variables returned include mean value, maxima, percentiles, and etc. - Note - ---- + Notes + ----- The AQS API only allows for a single year of annualsummary data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -527,8 +527,8 @@ def annualsummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a table of annual summary ozone data for the Millbrook School site (#0014) in Wake County, NC for 2017 (Note, for annual data, only the year portion of the bdate and edate are used and only whole @@ -597,8 +597,8 @@ def qa_blanks( to assess if contamination is occurring during the transport or handling of the samples. Data is aggregated at the site level. - Note - ---- + Notes + ----- The AQS API only allows for a single year of qa_blank data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -645,8 +645,8 @@ def qa_blanks( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a table of PM2.5 blank data for the Muscle Shoals site (#0014) in Colbert County, AL for January 2018:: @@ -712,8 +712,8 @@ def dailysummary( county_code, and sitenum provided for bdate - edate time frame. Variables returned include mean value, maxima, percentiles, and etc. - Note - ---- + Notes + ----- The AQS API only allows for a single year of dailysummary data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -760,8 +760,8 @@ def dailysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of daily summary ozone data for the Millbrook School site (#0014) in Wake County, NC for June 18, 2017:: @@ -825,8 +825,8 @@ def qa_collocated_assessments( input parameter, stateFIPS, county_code, and sitenum provided for bdate - edate time frame. - Note - ---- + Notes + ----- The AQS API only allows for a single year of collocated assessments data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes @@ -873,8 +873,8 @@ def qa_collocated_assessments( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of collocated assessment data for FRM PM2.5 at the Huntsville Old Airport site (#0014) in Madison County, AL for January 2013:: @@ -940,8 +940,8 @@ def qa_flowrateverification( matching input parameter, stateFIPS, county_code, and sitenum provided for bdate - edate time frame. - Note - ---- + Notes + ----- The AQS API only allows for a single year of flow rate verifications data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes @@ -988,8 +988,8 @@ def qa_flowrateverification( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of flow rate verification data for the Muscle Shoals site (#1002) in Colbert County, AL for January 2018:: @@ -1054,8 +1054,8 @@ def transactionsample( by matching input parameter, stateFIPS, county_code, and sitenum provided for bdate - edate time frame. - Note - ---- + Notes + ----- The AQS API only allows for a single year of transaction data data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes @@ -1102,8 +1102,8 @@ def transactionsample( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return all ozone transaction data for the Millbrook School site (#0014) in Wake County, NC for June 18, 2017:: @@ -1168,8 +1168,8 @@ def qa_annualpeferomanceeval( parameter, sitenum, countycode and stateFIPS provided for bdate - edate time frame. - Note - ---- + Notes + ----- The AQS API only allows for a single year of quality assurance Annual Performance Evaluation data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate @@ -1216,8 +1216,8 @@ def qa_annualpeferomanceeval( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return an DataFrame containing annual performance evaluation data for ozone at the Fairhope site in Baldwin County, AL for 2017:: @@ -1284,8 +1284,8 @@ def qa_annualperformanceevaltransaction( input parameter, sitenum, countycode and stateFIPS provided for bdate - edate time frame. - Note - ---- + Notes + ----- The AQS API only allows for a single year of quality assurance Annual Performance Evaluation transaction data to be retrieved at a time. This function conveniently extracts date information from the bdate and @@ -1332,8 +1332,8 @@ def qa_annualperformanceevaltransaction( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data (raw) for ozone at the Fairhope site in Baldwin County, AL for 2017 in RD format:: @@ -1401,8 +1401,8 @@ def quarterlysummary( stateFIPS, county_code, and sitenum provided for bdate - edate time frame. Variables returned include mean value, maxima, percentiles, and etc. - Note - ---- + Notes + ----- The AQS API only allows for a single year of quarterly summary to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -1452,8 +1452,8 @@ def quarterlysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return DataFrame containing quarterly summaries for FRM/FEM PM2.5 data for Millbrook School in Wake County, NC for each quarter of 2016.:: @@ -1516,8 +1516,8 @@ def qa_pep_audit( data aggregated by parameter code, stateFIPS, countycode and site number for the time frame between bdate and edate. - Note - ---- + Notes + ----- The AQS API only allows for a single year of pep audit data to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -1564,8 +1564,8 @@ def qa_pep_audit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of pep Audit data for FRM PM2.5 at the Huntsville Old Airport site (#0014) in Madison County, AL for 2017 - 2019:: diff --git a/pyaqsapi/bystate/bystate.py b/pyaqsapi/bystate/bystate.py index 8f71a24..42feb00 100644 --- a/pyaqsapi/bystate/bystate.py +++ b/pyaqsapi/bystate/bystate.py @@ -47,18 +47,18 @@ def monitors( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of SO2 monitors in Hawaii that were operating on May 01, 2017. - import pyaqsapi as aqs - from datetime import date - ... - aqs.bystate.monitors(parameter="88101", - bdate=date(year=2017, month=1, day=1), - edate=date(year=2017, month=12, day=31), - stateFIPS="01") + import pyaqsapi as aqs + from datetime import date + + aqs.bystate.monitors(parameter="88101", + bdate=date(year=2017, month=1, day=1), + edate=date(year=2017, month=12, day=31), + stateFIPS="01") Returns ------- @@ -129,8 +129,8 @@ def qa_flowrateaudit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of flow rate audit data for Alabama in January 2018:: @@ -214,8 +214,8 @@ def qa_one_point_qc( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of one point QC check data for ozone in Massachusetts in January 2018:: @@ -295,8 +295,8 @@ def qa_pep_audit( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of PEP audit data for PM2.5 in Alabama 2017:: import pyaqsapi as aqs @@ -383,8 +383,8 @@ def sampledata( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame with all benzene samples from North Carolina collected from May 15th, 1995 - May 15, 1999:: @@ -467,8 +467,8 @@ def annualsummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame with all benzene samples from North Carolina collected from May 15th, 1995 - May 15, 1999:: @@ -550,8 +550,8 @@ def qa_blanks( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame which contains PM2.5 blank data for Alabama for January 2018:: @@ -634,8 +634,8 @@ def dailysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of all benzene daily summaries from North Carolina collected on May 15th, 1995:: @@ -714,8 +714,8 @@ def qa_collocated_assessments( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of collocated assessment data for FRM2.5 for January 2013:: @@ -799,8 +799,8 @@ def qa_flowrateverification( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of flow rate verification data for the state of Alabama for 2017-2019:: @@ -885,8 +885,8 @@ def transactionsample( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing benzene transaction sample data for North Carolina on May 15, 1995:: @@ -971,8 +971,8 @@ def qa_annualperformanceeval( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data for ozone in Alabama for 2017:: @@ -1060,8 +1060,8 @@ def qa_annualperformanceevaltransaction( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing annual performance evaluation data for ozone in Alabama for 2017 in RD format.:: @@ -1122,8 +1122,8 @@ def quarterlysummary( stateFIPS a provided for bdate - edate time frame. Variables returned include mean value, maxima, percentiles, and etc. - Note - ---- + Notes + ----- The AQS API only allows for a single year of quarterly summary to be retrieved at a time. This function conveniently extracts date information from the bdate and edate parameters then makes repeated @@ -1166,8 +1166,8 @@ def quarterlysummary( return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return an aqs S3 object containing quarterly summaries for FRM/FEM PM2.5 data for North Carolina for each quarter of 2016-2017:: diff --git a/pyaqsapi/listfunctions.py b/pyaqsapi/listfunctions.py index 2c3390d..7332051 100644 --- a/pyaqsapi/listfunctions.py +++ b/pyaqsapi/listfunctions.py @@ -11,8 +11,8 @@ def aqs_isavailable(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Check if the AQS API is up, running and accepting requests.:: aqs_isAvailable() @@ -45,8 +45,8 @@ def aqs_knownissues(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Retrieve a DataFrame of known issues directly from the AQS data mart API:: aqs_knownissues() @@ -79,8 +79,8 @@ def aqs_counties_by_state(stateFIPS, return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Returns a DataFrame of all the counties in North Carolina the county FIPS codes (county codes) for each.:: @@ -118,8 +118,8 @@ def aqs_sites_by_county(stateFIPS, countycode, return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of all the counties in North Carolina the county FIPS codes (county codes) for each.:: @@ -153,8 +153,8 @@ def aqs_classes(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of parameter classes (groups of parameters, i.e. "criteria" or all"):: @@ -192,8 +192,8 @@ def aqs_parameters_by_class(parameterclass, return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of parameter classes (groups of parameters, i.e. "criteria" or all"):: @@ -222,8 +222,8 @@ def aqs_mas(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Returns a DataFrame of monitoring agencies and their respective monitoring agency codes.:: @@ -252,8 +252,8 @@ def aqs_pqaos(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of primary quality assurance organizations (pqaos):: aqs_pqaos() @@ -282,8 +282,8 @@ def aqs_cbsas(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of Core Based Statistical Areas (cbsas) and their respective cbsa codes:: @@ -313,8 +313,8 @@ def aqs_states(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of states and their FIPS codes:: aqs_states()} @@ -343,8 +343,8 @@ def aqs_revisionhistory(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of the EPA AQS Data Mart API revision history:: aqs_revisionHistory() @@ -377,8 +377,8 @@ def aqs_fields_by_service(service, return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame containing a list and definitions of fields in the Sample Data service.:: @@ -411,8 +411,8 @@ def aqs_sampledurations(return_header=False): return_header : If FALSE (default) only returns data requested. If TRUE returns a AQSAPI_v2 object. - Example - ------- + Examples + -------- Return a DataFrame of:: aqs_sampledurations()