معرفی شرکت ها


borinud-0.7.3


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

weather data web api
ویژگی مقدار
سیستم عامل -
نام فایل borinud-0.7.3
نام borinud
نسخه کتابخانه 0.7.3
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Emanuele Di Giacomo
ایمیل نویسنده edigiacomo@arpa.emr.it
آدرس صفحه اصلی http://sourceforge.net/projects/r-map/
آدرس اینترنتی https://pypi.org/project/borinud/
مجوز GPLv2+
borinud ======= .. contents:: Introduction ------------ **TODO** Dependencies ------------ - `python-dballe <http://sourceforge.net/projects/wreport/>`_ - `python-bottle <http://bottlepy.org/>`_ Installation ------------ From source code: :: python setup.py install Context url ----------- :: /IDENT/COORDINATES/NETWORK/TIMERANGE/LEVEL/BCODE - ``IDENT``: mobile station identifier or ``-`` for fixed stations - ``COORDINATES``: coordinates in format ``int(lon*10^5),int(lat*10^5)`` - e.g.: ``1212345,4467890`` means longitude 12.12345 and latitude 44.67890 - ``NETWORK``: station network (max 16 characters) - ``TIMERANGE``: time range in format ``type,p1,p2`` - ``LEVEL``: level in format ``type1,l1,type2,l2`` (``-`` means missing) - ``BCODE``: local B table descriptor if format ``BXXYYY`` Example of context url ^^^^^^^^^^^^^^^^^^^^^^ Instantaneous temperature at 2m above ground measured by fixed station at longitude 12.12345, latitude 44.67890 in network "agrmet":: /-/1212345,4467890/agrmet/254,0,0/103,2000,-,-/B12101 Web interface ------------- A simple web interface is available at the base dir ``/``. Web API ------- The response is in ``GeoJSON`` format (http://geojson.org/):: { "type": "FeatureCollection", "features": [ { "geometry": { "type": "Point", "coordinates": [ 11.95861, 44.36013 ] }, "properties": { "ident": null, "lon": 1195861, "lat": 4436013, "network": "locali", "trange_pind": 254, "trange_p1": 0, "trange_p2": 0, "level_t1": 103, "level_v1": 2000, "level_t2": null, "level_v2": null, "bcode": "B12101" } }, { ... } ] } The services can extend the property list (e.g. ``datetime`` and ``value`` for timeseries services). The services support the ``JSONP`` format, using the ``GET`` parameter ``callback=NAME``. Summaries ^^^^^^^^^ :: /*/*/*/*/*/*/summaries /*/*/NETWORK/*/*/*/summaries /-/COORDINATES/NETWORK/*/*/*/summaries /IDENT/*/NETWORK/*/*/*/summaries /*/*/NETWORK/TIMERANGE/LEVEL/BCODE/summaries/YEAR/MONTH /*/*/NETWORK/TIMERANGE/LEVEL/BCODE/summaries/YEAR/MONTH/DAY The features have a ``datetime`` property: if the date extremes are available, then is an array with min and max date. Otherwise, is ``null``. Time series ^^^^^^^^^^^ :: /IDENT/COORDINATES/NETWORK/TIMERANGE/LEVEL/BCODE/timeseries/YEAR /IDENT/COORDINATES/NETWORK/TIMERANGE/LEVEL/BCODE/timeseries/YEAR/MONTH /IDENT/COORDINATES/NETWORK/TIMERANGE/LEVEL/BCODE/timeseries/YEAR/MONTH/DAY The features have a ``datetime`` and ``value`` property. Example of timeseries """"""""""""""""""""" :: $ curl http://host/path/to/-/1200000,4400000/agrmet/254,0,0/103,10000,-,-/B12101/timeseries/2011 $ curl http://host/path/to/-/1200000,4400000/agrmet/254,0,0/103,10000,-,-/B12101/timeseries/2011/01 $ curl http://host/path/to/-/1200000,4400000/agrmet/254,0,0/103,10000,-,-/B12101/timeseries/2011/01/01 Spatial series ^^^^^^^^^^^^^^ :: /*/*/NETWORK/TIMERANGE/LEVEL/BCODE/spatialseries/YEAR/MONTH/DAY/HOUR The features have a ``datetime`` and ``value`` property. Station data ^^^^^^^^^^^^ :: /-/COORDINATES/NETWORK/-,-,-/257,-,-,-/*/stationdata /IDENT/*/-,-,-/257,-,-,-/*/stationdata The features have a ``value`` property. Simple web server ----------------- The ``borinud.ws`` module has a simple web server tool:: python -m borinud.ws --dsn=sqlite://... Or run ``python -m borinud.ws --help`` for more options. Deployement under Apache with mod_wsgi -------------------------------------- The Apache configuration is something like this (see http://code.google.com/p/modwsgi/ for details):: <VirtualHost *:80> WSGIDaemonProcess borinud user=www-data group=www-data processes=10 threads=1 WSGIScriptAlias /borinud /var/www/borinud/app.wsgi </VirtualHost> And you must create the file ``/var/www/borinud/app.wsgi``:: import borinud.ws import borinud.db dba_dsn = "sqlite:/dev/shm/borinud.db" application = borinud.ws.app application.config.db = borinud.db.DballeDB(dba_dsn) Database -------- ``borinud`` reads data from a ``DB-All.e`` database:: from borinud.db import DballeDB # Create a DB-All.e database db = DballeDB("sqlite:mydatabase.sqlite") # Load the summary summary = db.query_summary(dballe.Record()) # Load temperature data data = db.query_data(dballe.Record(var="B12101")) Caching the summary ^^^^^^^^^^^^^^^^^^^ If the database has a lot of data, loading the summary could be a bottle neck. You can dump the summary in a file and use it as a preemptive cache:: import dballe from borinud.db import DballeDB, SummaryCacheDB # Create a DB-All.e database with cached summary db = SummaryCacheDB(DballeDB("sqlite:mydatabase.sqlite"), "/var/lib/borinud-summary.json") # Dump cached summary in /var/lib/borinud-summary.json. # NOTE: the cached summary must be written before using it db.write_cached_summary() # Load the summary summary = db.query_summary(dballe.Record()) # Load temperature data data = db.query_data(dballe.Record(var="B12101")) # Update the summary cache db.write_cached_summary() The web service can use a summary cache:: python -m borinud.ws --dsn=sqlite:mydatabase.sqlite --cached-summary=/var/lib/borinud-summary.json And the cache can be updated by a simple script:: #!/usr/bin/python # cacheupdater.py from borinud.db import DballeDB, SummaryCacheDB db = SummaryCacheDB(DballeDB("sqlite:mydatabase.sqlite"), "/var/lib/borinud-summary.json") db.write_cached_summary() This script can be executed by ``cron`` to update periodically the summary:: */10 * * * * python cacheupdater.py .. note:: When the web service starts, the summary *must* be already created:: python cacheupdater.py && python -m borinud.ws --dsn=sqlite:mydatabase.sqlite --cached-summary=/var/lib/borinud-summary.json Copyright --------- :: Copyright (C) 2013 ARPA-SIM <urpsim@smr.arpa.emr.it> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ChangeLog ========= :: Copyright (C) 2013 ARPA-SIM <urpsim@smr.arpa.emr.it> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. borinud 0.7.3 (2014-10-08) -------------------------- - Fixed web api /stationdata borinud 0.7.2 (2014-09-30) -------------------------- - Patch for compatibility with ECMAScript-ed6 (Date.parse()) borinud 0.7 (2014-09-24) ------------------------ - Daily summary - Daily timeseries in web interface borinud 0.6 (2014-09-08) ------------------------ - Removed autotools - Sphinx documentation borinud 0.5 ----------- - Summary cache filter - (Optional) versioned web api borinud 0.4 ----------- - Summary cache wrapper borinud 0.3 ----------- - Summary response contains items description. - Example web client has a dynamic variable list. borinud 0.2 ----------- - Example web client plots monthly timeseries Contributors ============ * Emanuele Di Giacomo <edigiacomo@arpa.emr.it>


نحوه نصب


نصب پکیج whl borinud-0.7.3:

    pip install borinud-0.7.3.whl


نصب پکیج tar.gz borinud-0.7.3:

    pip install borinud-0.7.3.tar.gz