Metadata-Version: 2.1
Name: solarforecastarbiter
Version: 1.0.0
Summary: Core framework for Solar Forecast Arbiter
Home-page: https://github.com/solararbiter/solarforecastarbiter-core
Author: Solar Forecast Arbiter Team
Author-email: info@solarforecastarbiter.org
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/solararbiter/solarforecastarbiter-core/issues
Project-URL: Source, https://github.com/solararbiter/solarforecastarbiter-core
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
Requires-Dist: netCDF4
Requires-Dist: numpy
Requires-Dist: pandas (>=0.25.1)
Requires-Dist: requests
Requires-Dist: xarray
Requires-Dist: tables
Requires-Dist: pvlib (>=0.7.0)
Requires-Dist: scipy
Requires-Dist: bokeh
Requires-Dist: statsmodels
Requires-Dist: jsonschema
Requires-Dist: plotly
Requires-Dist: psutil
Requires-Dist: matplotlib
Provides-Extra: all
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: pytest-cov ; extra == 'all'
Requires-Dist: pytest-mock ; extra == 'all'
Requires-Dist: pytest-asyncio ; extra == 'all'
Requires-Dist: asynctest ; extra == 'all'
Requires-Dist: requests-mock ; extra == 'all'
Requires-Dist: aiohttp ; extra == 'all'
Requires-Dist: loky ; extra == 'all'
Requires-Dist: psutil ; extra == 'all'
Requires-Dist: sentry-sdk ; extra == 'all'
Requires-Dist: click ; extra == 'all'
Requires-Dist: bokeh ; extra == 'all'
Requires-Dist: selenium ; extra == 'all'
Provides-Extra: cli
Requires-Dist: click ; extra == 'cli'
Provides-Extra: fetch
Requires-Dist: aiohttp ; extra == 'fetch'
Requires-Dist: loky ; extra == 'fetch'
Requires-Dist: psutil ; extra == 'fetch'
Provides-Extra: log
Requires-Dist: sentry-sdk ; extra == 'log'
Provides-Extra: plotting
Requires-Dist: bokeh ; extra == 'plotting'
Requires-Dist: selenium ; extra == 'plotting'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-mock ; extra == 'test'
Requires-Dist: pytest-asyncio ; extra == 'test'
Requires-Dist: asynctest ; extra == 'test'
Requires-Dist: requests-mock ; extra == 'test'

[![Build Status](https://github.com/solararbiter/solarforecastarbiter-core/workflows/CI/badge.svg)](https://github.com/SolarArbiter/solarforecastarbiter-core/actions)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/SolarArbiter/solarforecastarbiter-core.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/SolarArbiter/solarforecastarbiter-core/alerts/)
[![codecov](https://codecov.io/gh/solararbiter/solarforecastarbiter-core/branch/master/graph/badge.svg)](https://codecov.io/gh/solararbiter/solarforecastarbiter-core)
[![Documentation Status](https://readthedocs.org/projects/solarforecastarbiter-core/badge/?version=latest)](https://solarforecastarbiter-core.readthedocs.io/en/latest/?badge=latest)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3473590.svg)](https://doi.org/10.5281/zenodo.3473590)
[![Docker Repository on Quay](https://quay.io/repository/solararbiter/solarforecastarbiter-core/status "Docker Repository on Quay")](https://quay.io/repository/solararbiter/solarforecastarbiter-core)

# solarforecastarbiter-core
Core Solar Forecast Arbiter data gathering, validation, processing, and
reporting package.

# Installation

See the [installation](https://solarforecastarbiter-core.readthedocs.io/en/latest/installation.html) instructions in the documentation.

# Documentation

The documentation is hosted at [solarforecastarbiter-core.readthedocs.io](https://solarforecastarbiter-core.readthedocs.io/en/latest/)

# Contributing

We welcome your contributions. Please see our [contributing guide](https://solarforecastarbiter-core.readthedocs.io/en/latest/contributing.html).

# Architecture

The diagram below depicts data flow between components of the Solar
Forecast Arbiter framework. Users of the framework typically interact
with the ``solarforecastarbiter-core`` code through a queue/worker
system maintained by the API. Users may access the API directly or
through the Dashboard. The API queues analyses to be processed by
workers using core code. The workers then send their results to the API
for storage in the database.

Alternatively, users may choose to install the core package on their own
systems and perform their analyses independently of the Dashboard, API,
or database.

![system sketch](system_sketch.png)


